]> granicus.if.org Git - pdns/commitdiff
rec: Scrub SOA records in authority for AA=0 answers
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 9 Jan 2019 17:44:16 +0000 (18:44 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 21 Jan 2019 15:38:59 +0000 (16:38 +0100)
pdns/syncres.cc

index 7f72b733445ed23b474e3590719e309c1d9543f6..a513bf3576c516345906c747f898bc6c6e441c93 100644 (file)
@@ -2078,6 +2078,12 @@ void SyncRes::sanitizeRecords(const std::string& prefix, LWResult& lwr, const DN
         continue;
       }
 
+      if (!(lwr.d_aabit || wasForwardRecurse)) {
+        LOG(prefix<<"Removing irrelevant record '"<<rec->d_name<<"|"<<DNSRecordContent::NumberToType(rec->d_type)<<"|"<<rec->d_content->getZoneRepresentation()<<"' in the "<<(int)rec->d_place<<" section received from "<<auth<<endl);
+        rec = lwr.d_records.erase(rec);
+        continue;
+      }
+
       if (!haveAnswers) {
         if (lwr.d_rcode == RCode::NXDomain) {
           isNXDomain = true;