GNUnet 0.21.1
GNS_ResolverHandle Struct Reference

Handle to a currently pending resolution. More...

Collaboration diagram for GNS_ResolverHandle:
[legend]

Data Fields

struct GNS_ResolverHandlenext
 DLL. More...
 
struct GNS_ResolverHandleprev
 DLL. More...
 
struct GNUNET_CRYPTO_PublicKey authority_zone
 The top-level GNS authoritative zone to query. More...
 
GNS_ResultProcessor proc
 called when resolution phase finishes More...
 
void * proc_cls
 closure passed to proc More...
 
struct GNUNET_DHT_GetHandleget_handle
 Handle for DHT lookups. More...
 
struct GNUNET_DNSSTUB_RequestSocketdns_request
 Socket for a DNS request, NULL if none is active. More...
 
struct GNUNET_RESOLVER_RequestHandlestd_resolve
 Handle for standard DNS resolution, NULL if none is active. More...
 
struct GNUNET_NAMECACHE_QueueEntrynamecache_qe
 Pending Namecache lookup task. More...
 
struct GNUNET_REVOCATION_Queryrev_check
 Pending revocation check. More...
 
struct GNUNET_CONTAINER_HeapNodedht_heap_node
 Heap node associated with this lookup. More...
 
struct AuthorityChainac_head
 DLL to store the authority chain. More...
 
struct AuthorityChainac_tail
 DLL to store the authority chain. More...
 
struct GNUNET_SCHEDULER_Tasktask_id
 ID of a task associated with the resolution process. More...
 
char * name
 The name to resolve. More...
 
char * leho
 Legacy Hostname to use if we encountered GNS2DNS record and thus can deduct the LEHO from that transition. More...
 
struct DnsResultdns_result_head
 DLL of results we got from DNS. More...
 
struct DnsResultdns_result_tail
 DLL of results we got from DNS. More...
 
size_t name_resolution_pos
 Current offset in name where we are resolving. More...
 
enum GNUNET_GNS_LocalOptions options
 Use only cache. More...
 
int protocol
 For SRV and TLSA records, the number of the protocol specified in the name. More...
 
int service
 For SRV and TLSA records, the number of the service specified in the name. More...
 
char * prefix
 For SMIMEA,OPENPGPKEY... records. More...
 
int record_type
 Desired type for the resolution. More...
 
unsigned int loop_limiter
 We increment the loop limiter for each step in a recursive resolution. More...
 
unsigned int loop_threshold
 Maximum value of loop_limiter allowed by client. More...
 
uint16_t original_dns_id
 16 bit random ID we used in the dns_request. More...
 

Detailed Description

Handle to a currently pending resolution.

On result (positive or negative) the GNS_ResultProcessor is called.

Definition at line 254 of file gnunet-service-gns_resolver.c.

Field Documentation

◆ next

struct GNS_ResolverHandle* GNS_ResolverHandle::next

DLL.

Definition at line 259 of file gnunet-service-gns_resolver.c.

◆ prev

struct GNS_ResolverHandle* GNS_ResolverHandle::prev

DLL.

Definition at line 264 of file gnunet-service-gns_resolver.c.

◆ authority_zone

struct GNUNET_CRYPTO_PublicKey GNS_ResolverHandle::authority_zone

The top-level GNS authoritative zone to query.

Definition at line 269 of file gnunet-service-gns_resolver.c.

Referenced by GNS_resolver_lookup(), recursive_gns2dns_resolution(), and start_resolver_lookup().

◆ proc

◆ proc_cls

◆ get_handle

struct GNUNET_DHT_GetHandle* GNS_ResolverHandle::get_handle

Handle for DHT lookups.

should be NULL if no lookups are in progress

Definition at line 284 of file gnunet-service-gns_resolver.c.

Referenced by GNS_resolver_lookup_cancel(), handle_dht_response(), and start_dht_request().

◆ dns_request

struct GNUNET_DNSSTUB_RequestSocket* GNS_ResolverHandle::dns_request

Socket for a DNS request, NULL if none is active.

Definition at line 290 of file gnunet-service-gns_resolver.c.

Referenced by dns_result_parser(), GNS_resolver_lookup_cancel(), and recursive_dns_resolution().

◆ std_resolve

struct GNUNET_RESOLVER_RequestHandle* GNS_ResolverHandle::std_resolve

Handle for standard DNS resolution, NULL if none is active.

Definition at line 295 of file gnunet-service-gns_resolver.c.

Referenced by dns_result_parser(), GNS_resolver_lookup_cancel(), handle_dns_result(), handle_gns_cname_result(), and handle_gns_redirect_result().

◆ namecache_qe

struct GNUNET_NAMECACHE_QueueEntry* GNS_ResolverHandle::namecache_qe

Pending Namecache lookup task.

Definition at line 300 of file gnunet-service-gns_resolver.c.

Referenced by GNS_resolver_lookup_cancel(), handle_namecache_block_response(), and recursive_gns_resolution_namecache().

◆ rev_check

struct GNUNET_REVOCATION_Query* GNS_ResolverHandle::rev_check

◆ dht_heap_node

struct GNUNET_CONTAINER_HeapNode* GNS_ResolverHandle::dht_heap_node

Heap node associated with this lookup.

Used to limit number of concurrent requests.

Definition at line 311 of file gnunet-service-gns_resolver.c.

Referenced by GNS_resolver_lookup_cancel(), handle_dht_response(), and start_dht_request().

◆ ac_head

◆ ac_tail

◆ task_id

◆ name

◆ leho

char* GNS_ResolverHandle::leho

Legacy Hostname to use if we encountered GNS2DNS record and thus can deduct the LEHO from that transition.

Definition at line 337 of file gnunet-service-gns_resolver.c.

Referenced by dns_result_parser(), GNS_resolver_lookup_cancel(), and recursive_dns_resolution().

◆ dns_result_head

struct DnsResult* GNS_ResolverHandle::dns_result_head

DLL of results we got from DNS.

Definition at line 342 of file gnunet-service-gns_resolver.c.

Referenced by add_dns_result(), GNS_resolver_lookup_cancel(), and transmit_lookup_dns_result().

◆ dns_result_tail

struct DnsResult* GNS_ResolverHandle::dns_result_tail

DLL of results we got from DNS.

Definition at line 347 of file gnunet-service-gns_resolver.c.

Referenced by add_dns_result(), and GNS_resolver_lookup_cancel().

◆ name_resolution_pos

size_t GNS_ResolverHandle::name_resolution_pos

◆ options

◆ protocol

int GNS_ResolverHandle::protocol

For SRV and TLSA records, the number of the protocol specified in the name.

0 if no protocol was given.

Definition at line 363 of file gnunet-service-gns_resolver.c.

Referenced by handle_gns_resolution_result(), and resolver_lookup_get_next_label().

◆ service

int GNS_ResolverHandle::service

For SRV and TLSA records, the number of the service specified in the name.

0 if no service was given.

Definition at line 369 of file gnunet-service-gns_resolver.c.

Referenced by handle_gns_resolution_result(), and resolver_lookup_get_next_label().

◆ prefix

char* GNS_ResolverHandle::prefix

For SMIMEA,OPENPGPKEY... records.

NULL if no _ prefix was given.

Definition at line 374 of file gnunet-service-gns_resolver.c.

Referenced by GNS_resolver_lookup_cancel(), handle_gns_resolution_result(), and resolver_lookup_get_next_label().

◆ record_type

◆ loop_limiter

unsigned int GNS_ResolverHandle::loop_limiter

We increment the loop limiter for each step in a recursive resolution.

If it passes our loop_threshold (e.g. due to self-recursion in the resolution, i.e CNAME fun), we stop.

Definition at line 387 of file gnunet-service-gns_resolver.c.

Referenced by recursive_gns2dns_resolution(), and recursive_resolution().

◆ loop_threshold

unsigned int GNS_ResolverHandle::loop_threshold

Maximum value of loop_limiter allowed by client.

Definition at line 392 of file gnunet-service-gns_resolver.c.

Referenced by GNS_resolver_lookup(), recursive_gns2dns_resolution(), and recursive_resolution().

◆ original_dns_id

uint16_t GNS_ResolverHandle::original_dns_id

16 bit random ID we used in the dns_request.

Definition at line 397 of file gnunet-service-gns_resolver.c.

Referenced by dns_result_parser(), and recursive_dns_resolution().


The documentation for this struct was generated from the following file: