unbound 0.1
Public Types | Data Fields
serviced_query Struct Reference

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_PROBE_EDNS, serviced_query_UDP_EDNS_fallback, serviced_query_TCP_EDNS_fallback
}
 current status More...

Data Fields

rbnode_t node
 The rbtree node, key is this record.
uint8_t * qbuf
 The query that needs to be answered.
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.
struct sockaddr_storage addr
 where to send it
socklen_t addrlen
 length of addr field in use.
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 (UDP) message
int edns_lame_known
 do we know edns probe status already, for UDP_EDNS queries
struct outside_networkoutnet
 outside network this is part of
struct service_callbackcblist
 list of interested parties that need callback on results.
void * pending
 the UDP or TCP query that is pending, see status which

Detailed Description

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.


Member Enumeration Documentation

current status

Enumerator:
serviced_initial 

initial status

serviced_query_UDP_EDNS 

UDP with EDNS sent.

serviced_query_UDP 

UDP without EDNS sent.

serviced_query_TCP_EDNS 

TCP with EDNS sent.

serviced_query_TCP 

TCP without EDNS sent.

serviced_query_PROBE_EDNS 

probe to test EDNS lameness (EDNS is dropped)

serviced_query_UDP_EDNS_fallback 

probe to test noEDNS0 (EDNS gives FORMERRorNOTIMP)

serviced_query_TCP_EDNS_fallback 

probe to test TCP noEDNS0 (EDNS gives FORMERRorNOTIMP)


Field Documentation

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(), outnet_serviced_query(), serviced_callbacks(), serviced_cmp(), serviced_create(), serviced_encode(), serviced_node_del(), and serviced_udp_callback().

If an EDNS section is included, the DO/CD bit will be turned on.

Referenced by lookup_serviced(), serviced_cmp(), serviced_create(), and serviced_encode().


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