Query service record. More...
#include <outside_network.h>
Public Types | |
enum | serviced_query_status { serviced_initial , serviced_query_UDP_EDNS , serviced_query_UDP , serviced_query_TCP_EDNS , serviced_query_TCP , serviced_query_UDP_EDNS_fallback , serviced_query_TCP_EDNS_fallback , serviced_query_UDP_EDNS_FRAG } |
current status More... | |
Data Fields | |
rbnode_type | node |
The rbtree node, key is this record. | |
uint8_t * | qbuf |
The query that needs to be answered. More... | |
size_t | qbuflen |
length of qbuf. | |
int | dnssec |
If an EDNS section is included, the DO/CD bit will be turned on. | |
int | want_dnssec |
We want signatures, or else the answer is likely useless. | |
int | nocaps |
ignore capsforid | |
int | tcp_upstream |
tcp upstream used, use tcp, or ssl_upstream for SSL | |
int | ssl_upstream |
char * | tls_auth_name |
the name of the tls authentication name, eg. More... | |
struct sockaddr_storage | addr |
where to send it | |
socklen_t | addrlen |
length of addr field in use. | |
uint8_t * | zone |
zone name, uncompressed domain name in wireformat | |
size_t | zonelen |
length of zone name | |
int | qtype |
qtype | |
enum serviced_query::serviced_query_status | status |
variable with current status | |
int | to_be_deleted |
true if serviced_query is scheduled for deletion already | |
int | retry |
number of UDP retries | |
struct timeval | last_sent_time |
time last UDP was sent | |
int | last_rtt |
rtt of last message | |
int | edns_lame_known |
do we know edns probe status already, for UDP_EDNS queries | |
struct edns_option * | opt_list |
edns options to use for sending upstream packet | |
struct outside_network * | outnet |
outside network this is part of | |
struct service_callback * | cblist |
list of interested parties that need callback on results. | |
void * | pending |
the UDP or TCP query that is pending, see status which | |
size_t | padding_block_size |
block size with which to pad encrypted queries (default: 128) | |
struct regional * | region |
region for this serviced query. More... | |
struct alloc_cache * | alloc |
allocation service for the region | |
struct comm_timer * | timer |
flash timer to start the net I/O as a separate event | |
int | busy |
true if serviced_query is currently doing net I/O and may block | |
Query service record.
Contains query and destination. UDP, TCP, EDNS are all tried. complete with retries and timeouts. A number of interested parties can receive a callback.
current status
uint8_t* serviced_query::qbuf |
The query that needs to be answered.
Starts with flags u16, then qdcount, ..., including qname, qtype, qclass. Does not include EDNS record.
Referenced by lookup_serviced(), serviced_cmp(), serviced_create(), serviced_encode(), and serviced_tcp_callback().
char* serviced_query::tls_auth_name |
the name of the tls authentication name, eg.
'ns.example.com' or NULL
Referenced by serviced_create().
struct regional* serviced_query::region |
region for this serviced query.
Will be cleared when this serviced_query will be deleted
Referenced by outnet_serviced_query(), and serviced_create().