Permalink
Browse files

make sure mixed-case queries get a correct apex NSEC3 type bitmap

git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@3176 d19b8d6e-7fed-0310-83ef-9ca221ded41b
  • Loading branch information...
1 parent 4b153d8 commit ff64750bc3a648c02686eb41c97a14b43b8ac863 @Habbie Habbie committed Apr 25, 2013
@@ -461,7 +461,7 @@ void emitNSEC3(DNSBackend& B, const NSEC3PARAMRecordContent& ns3prc, const SOADa
n3rc.d_set.insert(rr.qtype.getCode());
}
- if(unhashed == sd.qname) {
+ if(toLower(unhashed) == toLower(sd.qname)) {
n3rc.d_set.insert(QType::NSEC3PARAM);
n3rc.d_set.insert(QType::DNSKEY);
}
@@ -1,2 +1,4 @@
Make sure we lowercase the next name in an NSEC because validators
do not (RFC6840 5.1).
+Also, make sure our NSEC3 apex bitmap includes DNSKEY and NSEC3PARAM
+if the zone name part of the query includes uppercase.
@@ -1,4 +1,4 @@
-1 2eu2gulbu53h9uvhfalshpbo2a83t6l2.Test.com. IN NSEC3 86400 1 1 1 abcd 2GKS2N3JPQF62QOHAVFQ1PHOLM3HR7RA NS SOA MX RRSIG
+1 2eu2gulbu53h9uvhfalshpbo2a83t6l2.Test.com. IN NSEC3 86400 1 1 1 abcd 2GKS2N3JPQF62QOHAVFQ1PHOLM3HR7RA NS SOA MX RRSIG DNSKEY NSEC3PARAM
1 2eu2gulbu53h9uvhfalshpbo2a83t6l2.Test.com. IN RRSIG 86400 NSEC3 8 3 86400 [expiry] [inception] [keytag] test.com. ...
1 Test.com. IN RRSIG 3600 SOA 8 2 3600 [expiry] [inception] [keytag] test.com. ...
1 Test.com. IN SOA 3600 ns1.Test.com. ahu.example.com. 2005092501 28800 7200 604800 86400

0 comments on commit ff64750

Please sign in to comment.