ldns_struct_resolver Struct Reference

DNS stub resolver structure. More...

Data Fields

uint16_t _port
 Port to send queries to. More...
 
ldns_rdf ** _nameservers
 Array of nameservers to query (IP addresses or dnames) More...
 
size_t _nameserver_count
 Number of nameservers in _nameservers. More...
 
size_t * _rtt
 Round trip time; 0 -> infinity. More...
 
bool _recursive
 Whether or not to be recursive. More...
 
bool _debug
 Print debug information. More...
 
ldns_rdf_domain
 Default domain to add to non fully qualified domain names. More...
 
ldns_rdf ** _searchlist
 Searchlist array, add the names in this array if a query cannot be found. More...
 
size_t _searchlist_count
 Number of entries in the searchlist array. More...
 
uint8_t _retry
 Number of times to retry before giving up. More...
 
uint8_t _retrans
 Time to wait before retrying. More...
 
bool _fallback
 Use new fallback mechanism (try EDNS, then do TCP) More...
 
bool _dnssec
 Whether to do DNSSEC. More...
 
bool _dnssec_cd
 Whether to set the CD bit on DNSSEC requests. More...
 
ldns_rr_list_dnssec_anchors
 Optional trust anchors for complete DNSSEC validation. More...
 
bool _usevc
 Whether to use tcp or udp (tcp if the value is true) More...
 
bool _igntc
 Whether to ignore the tc bit. More...
 
uint8_t _ip6
 Whether to use ip6: 0->does not matter, 1 is IPv4, 2 is IPv6. More...
 
bool _defnames
 If true append the default domain. More...
 
bool _dnsrch
 If true apply the search list. More...
 
struct timeval _timeout
 Timeout for socket connections. More...
 
bool _fail
 Only try the first nameserver, and return with an error directly if it fails. More...
 
bool _random
 Randomly choose a nameserver. More...
 
int _socket
 Keep some things to make AXFR possible. More...
 
int _axfr_soa_count
 Count the number of LDNS_RR_TYPE_SOA RRs we have seen so far (the second one signifies the end of the AXFR) More...
 
ldns_pkt_cur_axfr_pkt
 Packet currently handled when doing part of an AXFR. More...
 
uint16_t _axfr_i
 Counter for within the AXFR packets. More...
 
uint16_t _edns_udp_size
 
uint32_t _serial
 
char * _tsig_keyname
 Name of the key to use with TSIG, if _tsig_keyname and _tsig_keydata both contain values, outgoing messages are automatically signed with TSIG. More...
 
char * _tsig_keydata
 Secret key data to use with TSIG, if _tsig_keyname and _tsig_keydata both contain values, outgoing messages are automatically signed with TSIG. More...
 
char * _tsig_algorithm
 TSIG signing algorithm. More...
 
ldns_rdf_source
 Source address to query from. More...
 

Detailed Description

DNS stub resolver structure.

Definition at line 59 of file resolver.h.

Field Documentation

◆ _port

uint16_t ldns_struct_resolver::_port

Port to send queries to.

Definition at line 62 of file resolver.h.

◆ _nameservers

ldns_rdf** ldns_struct_resolver::_nameservers

Array of nameservers to query (IP addresses or dnames)

Definition at line 65 of file resolver.h.

◆ _nameserver_count

size_t ldns_struct_resolver::_nameserver_count

Number of nameservers in _nameservers.

Definition at line 67 of file resolver.h.

◆ _rtt

size_t* ldns_struct_resolver::_rtt

Round trip time; 0 -> infinity.

Unit: ms?

Definition at line 70 of file resolver.h.

◆ _recursive

bool ldns_struct_resolver::_recursive

Whether or not to be recursive.

Definition at line 73 of file resolver.h.

◆ _debug

bool ldns_struct_resolver::_debug

Print debug information.

Definition at line 76 of file resolver.h.

◆ _domain

ldns_rdf* ldns_struct_resolver::_domain

Default domain to add to non fully qualified domain names.

Definition at line 79 of file resolver.h.

◆ _searchlist

ldns_rdf** ldns_struct_resolver::_searchlist

Searchlist array, add the names in this array if a query cannot be found.

Definition at line 82 of file resolver.h.

◆ _searchlist_count

size_t ldns_struct_resolver::_searchlist_count

Number of entries in the searchlist array.

Definition at line 85 of file resolver.h.

◆ _retry

uint8_t ldns_struct_resolver::_retry

Number of times to retry before giving up.

Definition at line 88 of file resolver.h.

◆ _retrans

uint8_t ldns_struct_resolver::_retrans

Time to wait before retrying.

Definition at line 90 of file resolver.h.

◆ _fallback

bool ldns_struct_resolver::_fallback

Use new fallback mechanism (try EDNS, then do TCP)

Definition at line 92 of file resolver.h.

◆ _dnssec

bool ldns_struct_resolver::_dnssec

Whether to do DNSSEC.

Definition at line 95 of file resolver.h.

◆ _dnssec_cd

bool ldns_struct_resolver::_dnssec_cd

Whether to set the CD bit on DNSSEC requests.

Definition at line 97 of file resolver.h.

◆ _dnssec_anchors

ldns_rr_list* ldns_struct_resolver::_dnssec_anchors

Optional trust anchors for complete DNSSEC validation.

Definition at line 99 of file resolver.h.

◆ _usevc

bool ldns_struct_resolver::_usevc

Whether to use tcp or udp (tcp if the value is true)

Definition at line 101 of file resolver.h.

◆ _igntc

bool ldns_struct_resolver::_igntc

Whether to ignore the tc bit.

Definition at line 103 of file resolver.h.

◆ _ip6

uint8_t ldns_struct_resolver::_ip6

Whether to use ip6: 0->does not matter, 1 is IPv4, 2 is IPv6.

Definition at line 105 of file resolver.h.

◆ _defnames

bool ldns_struct_resolver::_defnames

If true append the default domain.

Definition at line 107 of file resolver.h.

◆ _dnsrch

bool ldns_struct_resolver::_dnsrch

If true apply the search list.

Definition at line 109 of file resolver.h.

◆ _timeout

struct timeval ldns_struct_resolver::_timeout

Timeout for socket connections.

Definition at line 109 of file resolver.h.

◆ _fail

bool ldns_struct_resolver::_fail

Only try the first nameserver, and return with an error directly if it fails.

Definition at line 113 of file resolver.h.

◆ _random

bool ldns_struct_resolver::_random

Randomly choose a nameserver.

Definition at line 115 of file resolver.h.

◆ _socket

int ldns_struct_resolver::_socket

Keep some things to make AXFR possible.

Definition at line 117 of file resolver.h.

◆ _axfr_soa_count

int ldns_struct_resolver::_axfr_soa_count

Count the number of LDNS_RR_TYPE_SOA RRs we have seen so far (the second one signifies the end of the AXFR)

Definition at line 121 of file resolver.h.

◆ _cur_axfr_pkt

ldns_pkt* ldns_struct_resolver::_cur_axfr_pkt

Packet currently handled when doing part of an AXFR.

Definition at line 126 of file resolver.h.

◆ _axfr_i

uint16_t ldns_struct_resolver::_axfr_i

Counter for within the AXFR packets.

Definition at line 128 of file resolver.h.

◆ _edns_udp_size

uint16_t ldns_struct_resolver::_edns_udp_size

Definition at line 130 of file resolver.h.

◆ _serial

uint32_t ldns_struct_resolver::_serial

Definition at line 132 of file resolver.h.

◆ _tsig_keyname

char* ldns_struct_resolver::_tsig_keyname

Name of the key to use with TSIG, if _tsig_keyname and _tsig_keydata both contain values, outgoing messages are automatically signed with TSIG.

Definition at line 138 of file resolver.h.

◆ _tsig_keydata

char* ldns_struct_resolver::_tsig_keydata

Secret key data to use with TSIG, if _tsig_keyname and _tsig_keydata both contain values, outgoing messages are automatically signed with TSIG.

Definition at line 140 of file resolver.h.

◆ _tsig_algorithm

char* ldns_struct_resolver::_tsig_algorithm

TSIG signing algorithm.

Definition at line 142 of file resolver.h.

◆ _source

ldns_rdf* ldns_struct_resolver::_source

Source address to query from.

Definition at line 145 of file resolver.h.