GNUnet  0.10.x
Data Fields
GNS_ResolverHandle Struct Reference

Handle to a currenty pending resolution. More...

Collaboration diagram for GNS_ResolverHandle:
[legend]

Data Fields

struct GNS_ResolverHandlenext
 DLL. More...
 
struct GNS_ResolverHandleprev
 DLL. More...
 
struct GNUNET_CRYPTO_EcdsaPublicKey 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 VpnContextvpn_ctx
 Handle to a VPN request, NULL if none is active. 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...
 
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...
 
uint16_t original_dns_id
 16 bit random ID we used in the dns_request. More...
 

Detailed Description

Handle to a currenty pending resolution.

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

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

Field Documentation

◆ next

struct GNS_ResolverHandle* GNS_ResolverHandle::next

DLL.

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

◆ prev

struct GNS_ResolverHandle* GNS_ResolverHandle::prev

DLL.

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

◆ authority_zone

struct GNUNET_CRYPTO_EcdsaPublicKey GNS_ResolverHandle::authority_zone

The top-level GNS authoritative zone to query.

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

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

◆ proc

GNS_ResultProcessor GNS_ResolverHandle::proc

◆ proc_cls

void* GNS_ResolverHandle::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 322 of file gnunet-service-gns_resolver.c.

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

◆ vpn_ctx

struct VpnContext* GNS_ResolverHandle::vpn_ctx

Handle to a VPN request, NULL if none is active.

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

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

◆ dns_request

struct GNUNET_DNSSTUB_RequestSocket* GNS_ResolverHandle::dns_request

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

Definition at line 332 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 337 of file gnunet-service-gns_resolver.c.

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

◆ namecache_qe

struct GNUNET_NAMECACHE_QueueEntry* GNS_ResolverHandle::namecache_qe

Pending Namecache lookup task.

Definition at line 342 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 353 of file gnunet-service-gns_resolver.c.

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

◆ ac_head

struct AuthorityChain* GNS_ResolverHandle::ac_head

◆ ac_tail

struct AuthorityChain* GNS_ResolverHandle::ac_tail

◆ task_id

struct GNUNET_SCHEDULER_Task* GNS_ResolverHandle::task_id

◆ name

char* GNS_ResolverHandle::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 379 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 384 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 389 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

enum GNUNET_GNS_LocalOptions GNS_ResolverHandle::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 405 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 411 of file gnunet-service-gns_resolver.c.

Referenced by handle_gns_resolution_result(), and resolver_lookup_get_next_label().

◆ record_type

int GNS_ResolverHandle::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 threshold (i.e. due to self-recursion in the resolution, i.e CNAME fun), we stop.

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

Referenced by 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 428 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: