Tor
0.4.7.0-alpha-dev
|
#include <dns_structs.h>
Public Member Functions | |
HT_ENTRY (cached_resolve_t) node | |
Data Fields | |
uint32_t | magic |
char | address [MAX_ADDRESSLEN] |
union { | |
uint32_t addr_ipv4 | |
int err_ipv4 | |
} | result_ipv4 |
union { | |
struct in6_addr addr_ipv6 | |
int err_ipv6 | |
} | result_ipv6 |
union { | |
char * hostname | |
int err_hostname | |
} | result_ptr |
uint8_t | state |
time_t | expire |
uint32_t | ttl_ipv4 |
uint32_t | ttl_ipv6 |
uint32_t | ttl_hostname |
pending_connection_t * | pending_connections |
int | minheap_idx |
Status fields | |
These take one of the RES_STATUS_* values, depending on the state of the corresponding lookup. | |
unsigned int | res_status_ipv4: 2 |
unsigned int | res_status_ipv6: 2 |
unsigned int | res_status_hostname: 2 |
A DNS request: possibly completed, possibly pending; cached_resolve structs are stored at the OR side in a hash table, and as a linked list from oldest to newest.
Definition at line 62 of file dns_structs.h.
uint32_t addr_ipv4 |
IPv4 addr for address, if successful. (In host order.)
Definition at line 68 of file dns_structs.h.
Referenced by assert_resolve_ok().
struct in6_addr addr_ipv6 |
IPv6 addr for address, if successful
Definition at line 70 of file dns_structs.h.
char address[MAX_ADDRESSLEN] |
The hostname to be resolved.
Definition at line 65 of file dns_structs.h.
Referenced by assert_resolve_ok(), cached_resolve_hash(), and HT_HEAD().
int err_hostname |
A hostname, if PTR lookup happened successfully
Definition at line 79 of file dns_structs.h.
int err_ipv4 |
One of DNS_ERR_*, if IPv4 lookup failed.
Definition at line 70 of file dns_structs.h.
int err_ipv6 |
One of DNS_ERR_*, if IPv6 lookup failed.
Definition at line 75 of file dns_structs.h.
time_t expire |
Remove items from cache after this time.
Definition at line 93 of file dns_structs.h.
Referenced by compare_cached_resolves_by_expiry_(), and set_expiry().
uint32_t magic |
Must be CACHED_RESOLVE_MAGIC
Definition at line 64 of file dns_structs.h.
Referenced by assert_resolve_ok(), and free_cached_resolve_().
int minheap_idx |
Position of this element in the heap
Definition at line 100 of file dns_structs.h.
pending_connection_t* pending_connections |
Connections that want to know when we get an answer for this resolve.
Definition at line 98 of file dns_structs.h.
Referenced by assert_resolve_ok(), free_cached_resolve_(), and inform_pending_connections().
union { ... } result_ipv4 |
Outcome of IPv4 lookup
Referenced by assert_resolve_ok().
union { ... } result_ipv6 |
Outcome of IPv6 lookup, if any
uint8_t state |
Is this cached entry pending/done/informative?
Definition at line 91 of file dns_structs.h.
Referenced by assert_resolve_ok(), and make_pending_resolve_cached().
uint32_t ttl_hostname |
What TTL did the nameserver tell us?
Definition at line 96 of file dns_structs.h.
Referenced by set_exitconn_info_from_resolve().
uint32_t ttl_ipv4 |
What TTL did the nameserver tell us?
Definition at line 94 of file dns_structs.h.
uint32_t ttl_ipv6 |
What TTL did the nameserver tell us?
Definition at line 95 of file dns_structs.h.