nrc.set(getRR<LUARecordContent>(rr.dr)->d_type);
else
#endif
- if(rr.dr.d_type == QType::NS || rr.auth)
+ if(rr.dr.d_type == QType::ALIAS) {
+ // Set the A and AAAA in the NSEC bitmap so aggressive NSEC
+ // does not falsely deny the type for this name.
+ // This does NOT add the ALIAS to the bitmap, as that record cannot
+ // be requested.
+ nrc.set(QType::A);
+ nrc.set(QType::AAAA);
+ }
+ else if(rr.dr.d_type == QType::NS || rr.auth) {
nrc.set(rr.dr.d_type);
+ }
}
rr.dr.d_name = name;
n3rc.set(getRR<LUARecordContent>(rr.dr)->d_type);
else
#endif
- if(rr.dr.d_type && (rr.dr.d_type == QType::NS || rr.auth)) // skip empty non-terminals
- n3rc.set(rr.dr.d_type);
+ if(rr.dr.d_type == QType::ALIAS) {
+ // Set the A and AAAA in the NSEC3 bitmap so aggressive NSEC
+ // does not falsely deny the type for this name.
+ // This does NOT add the ALIAS to the bitmap, as that record cannot
+ // be requested.
+ n3rc.set(QType::A);
+ n3rc.set(QType::AAAA);
+ }
+ else if(rr.dr.d_type && (rr.dr.d_type == QType::NS || rr.auth)) {
+ // skip empty non-terminals
+ n3rc.set(rr.dr.d_type);
+ }
}
}
0 google-alias.example.com. IN AAAA [ttl] 2001:4860:4860::8888
Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
Reply to question for qname='google-alias.example.com.', qtype=AAAA
+1 example.com. IN SOA [ttl] ns1.example.com. ahu.example.com. [serial] 28800 7200 604800 86400
+2 . IN OPT [ttl]
+Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='google-alias1.example.com.', qtype=A
--- /dev/null
+0 google-alias.example.com. IN A [ttl] 8.8.8.8
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='google-alias.example.com.', qtype=A
+0 google-alias.example.com. IN AAAA [ttl] 2001:4860:4860::8888
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='google-alias.example.com.', qtype=AAAA
+0 google-alias.example.com. IN A [ttl] 8.8.8.8
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='google-alias.example.com.', qtype=A
+0 google-alias.example.com. IN AAAA [ttl] 2001:4860:4860::8888
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='google-alias.example.com.', qtype=AAAA
+1 example.com. IN NSEC [ttl] _imap._tcp.example.com. NS SOA MX RRSIG NSEC DNSKEY
+1 example.com. IN RRSIG [ttl] NSEC 13 2 86400 [expiry] [inception] [keytag] example.com. ...
+1 example.com. IN RRSIG [ttl] SOA 13 2 100000 [expiry] [inception] [keytag] example.com. ...
+1 example.com. IN SOA [ttl] ns1.example.com. ahu.example.com. [serial] 28800 7200 604800 86400
+1 google-alias.example.com. IN NSEC [ttl] hightype.example.com. A AAAA RRSIG NSEC
+1 google-alias.example.com. IN RRSIG [ttl] NSEC 13 3 86400 [expiry] [inception] [keytag] example.com. ...
+2 . IN OPT [ttl]
+Rcode: 3 (Non-Existent domain), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='google-alias1.example.com.', qtype=A