outbound entry to the module.
- testbound support for new serviced queries.
- test for retry to TCP cannot use testbound any longer.
+ - testns test for EDNS fallback, test for TCP fallback already exists.
21 May 2007: Wouter
- small comment on hash table locking.
memcpy(&key.addr, &reply_info->addr, reply_info->addrlen);
key.addrlen = reply_info->addrlen;
verbose(VERB_ALGO, "Incoming reply id=%4.4x addr=", key.id);
- log_addr(&key.addr, key.addrlen);
/* find it, see if this thing is a valid query response */
verbose(VERB_ALGO, "lookup size is %d entries", (int)outnet->pending->count);
return NULL;
}
}
- verbose(VERB_ALGO, "inserted new pending reply id=%4.4x addr=", pend->id);
- log_addr(&pend->addr, pend->addrlen);
+ verbose(VERB_ALGO, "inserted new pending reply id=%4.4x", pend->id);
return pend;
}
e->match_all = true;
} else if(str_keyword(&parse, "ttl")) {
e->match_ttl = true;
+ } else if(str_keyword(&parse, "DO")) {
+ e->match_do = true;
} else if(str_keyword(&parse, "UDP")) {
e->match_transport = transport_udp;
} else if(str_keyword(&parse, "TCP")) {
e->match_qname = false;
e->match_all = false;
e->match_ttl = false;
+ e->match_do = false;
e->match_serial = false;
e->ixfr_soa_serial = 0;
e->match_transport = transport_any;
verbose(3, "bad serial\n");
continue;
}
+ if(p->match_do && !ldns_pkt_edns_do(query_pkt)) {
+ verbose(3, "no DO bit set\n");
+ continue;
+ }
if(p->match_transport != transport_any && p->match_transport != transport) {
verbose(3, "bad transport\n");
continue;
; 'serial=1023' makes the query match if ixfr serial is 1023.
; 'all' has to match header byte for byte and all rrs in packet.
; 'ttl' used with all, rrs in packet must also have matching TTLs.
+ ; 'DO' will match only queries with DO bit set.
MATCH [opcode] [qtype] [qname] [serial=<value>] [all] [ttl]
- MATCH [UDP|TCP]
+ MATCH [UDP|TCP] DO
MATCH ...
; Then the REPLY header is specified.
REPLY opcode, rcode or flags.
bool match_all;
/** match ttls in the packet */
bool match_ttl;
+ /** match DO bit */
+ bool match_do;
/** match query serial with this value. */
uint32_t ixfr_soa_serial;
/** match on UDP/TCP */