]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
rec: Log when going Bogus because of a missing SOA in authority 9471/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 15 Sep 2020 13:03:34 +0000 (15:03 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 15 Sep 2020 13:03:34 +0000 (15:03 +0200)
A missing SOA in the authority section of negative (NXDOMAIN, NODATA)
answers in a DNSSEC-secure zone currently leads to a Bogus result,
because the needed NSEC/NSEC3 could not be validated.

pdns/syncres.cc

index df689a6f69ba7a7774ad8cd1b1766ad9064655a6..6eafaf4a028ef81f3d3b24ed481a4febb3ed8ded 100644 (file)
@@ -3712,6 +3712,7 @@ bool SyncRes::processAnswer(unsigned int depth, LWResult& lwr, const DNSName& qn
     LOG(prefix<<qname<<": status=NXDOMAIN, we are done "<<(negindic ? "(have negative SOA)" : "")<<endl);
 
     if (state == vState::Secure && (lwr.d_aabit || sendRDQuery) && !negindic) {
+      LOG(prefix<<qname<<": NXDOMAIN without a negative indication (missing SOA in authority) in a DNSSEC secure zone, going Bogus"<<endl);
       updateValidationState(state, vState::Bogus);
     }
 
@@ -3726,6 +3727,7 @@ bool SyncRes::processAnswer(unsigned int depth, LWResult& lwr, const DNSName& qn
     LOG(prefix<<qname<<": status=noerror, other types may exist, but we are done "<<(negindic ? "(have negative SOA) " : "")<<(lwr.d_aabit ? "(have aa bit) " : "")<<endl);
 
     if(state == vState::Secure && (lwr.d_aabit || sendRDQuery) && !negindic) {
+      LOG(prefix<<qname<<": NODATA without a negative indication (missing SOA in authority) in a DNSSEC secure zone, going Bogus"<<endl);
       updateValidationState(state, vState::Bogus);
     }