mirror of
https://github.com/NLnetLabs/unbound.git
synced 2026-08-26 17:42:29 +02:00
Test DLV anchor.
git-svn-id: file:///svn/unbound/trunk@1202 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
@@ -104,6 +104,8 @@ static void matchline(const char* line, struct entry* e)
|
||||
e->match_qtype = true;
|
||||
} else if(str_keyword(&parse, "qname")) {
|
||||
e->match_qname = true;
|
||||
} else if(str_keyword(&parse, "subdomain")) {
|
||||
e->match_subdomain = true;
|
||||
} else if(str_keyword(&parse, "all")) {
|
||||
e->match_all = true;
|
||||
} else if(str_keyword(&parse, "ttl")) {
|
||||
@@ -227,6 +229,7 @@ static struct entry* new_entry()
|
||||
e->match_opcode = false;
|
||||
e->match_qtype = false;
|
||||
e->match_qname = false;
|
||||
e->match_subdomain = false;
|
||||
e->match_all = false;
|
||||
e->match_ttl = false;
|
||||
e->match_do = false;
|
||||
@@ -672,6 +675,14 @@ find_match(struct entry* entries, ldns_pkt* query_pkt,
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(p->match_subdomain) {
|
||||
if(!get_owner(query_pkt) || !get_owner(reply) ||
|
||||
!ldns_dname_is_subdomain(
|
||||
get_owner(query_pkt), get_owner(reply)) != 0) {
|
||||
verbose(3, "bad subdomain\n");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(p->match_serial && get_serial(query_pkt) != p->ixfr_soa_serial) {
|
||||
verbose(3, "bad serial\n");
|
||||
continue;
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
; if you leave it out, any opcode matches this entry.
|
||||
; 'qtype' makes the query match the qtype from the reply
|
||||
; 'qname' makes the query match the qname from the reply
|
||||
; 'subdomain' makes the query match subdomains of qname from the reply
|
||||
; '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.
|
||||
@@ -157,6 +158,8 @@ struct entry {
|
||||
bool match_qtype;
|
||||
/** match qname with answer qname */
|
||||
bool match_qname;
|
||||
/** match qname as subdomain of answer qname */
|
||||
bool match_subdomain;
|
||||
/** match SOA serial number, from auth section */
|
||||
bool match_serial;
|
||||
/** match all of the packet */
|
||||
|
||||
Reference in New Issue
Block a user