]> granicus.if.org Git - pdns/commitdiff
rec: Ignore NS records in a RPZ zone received over IXFR
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 2 Sep 2016 07:57:54 +0000 (09:57 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 2 Sep 2016 07:57:54 +0000 (09:57 +0200)
They are already ignored over AXFR, but not over IXFR.
Reported and based on a patch by @42wim (thanks!).

pdns/reczones.cc

index 7901185146f0acb9eeb51f6b6bcb29164442c609..9df123ddfead4fdd12c1a6d3ebe718086eec2f8c 100644 (file)
@@ -347,6 +347,8 @@ void RPZIXFRTracker(const ComboAddress& master, const DNSName& zone, size_t polZ
         luaconfsCopy.dfe.clear(0);
       }
       for(const auto& rr : remove) { // should always contain the SOA
+        if(rr.d_type == QType::NS)
+          continue;
        totremove++;
        if(rr.d_type == QType::SOA) {
          auto oldsr = getRR<SOARecordContent>(rr);
@@ -363,6 +365,8 @@ void RPZIXFRTracker(const ComboAddress& master, const DNSName& zone, size_t polZ
       }
 
       for(const auto& rr : add) { // should always contain the new SOA
+        if(rr.d_type == QType::NS)
+          continue;
        totadd++;
        if(rr.d_type == QType::SOA) {
          auto newsr = getRR<SOARecordContent>(rr);