]> granicus.if.org Git - pdns/commitdiff
fix disappearance of SOA during incoming AXFR. Patch by Ruben d'Arco.
authorPeter van Dijk <peter.van.dijk@netherlabs.nl>
Wed, 28 Mar 2012 16:08:07 +0000 (16:08 +0000)
committerPeter van Dijk <peter.van.dijk@netherlabs.nl>
Wed, 28 Mar 2012 16:08:07 +0000 (16:08 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@2540 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/resolver.cc

index 01cf82d600b615c252c0fed3097f0e0b1e25400b..dff678c022441ab747e048bc38abec800cbf2790 100644 (file)
@@ -439,12 +439,14 @@ int AXFRRetriever::getChunk(Resolver::res_t &res) // Implementation is making su
   vector<uint32_t> removeItems;
   for(Resolver::res_t::const_iterator i= res.begin(); i!=res.end(); ++i) {
     if(i->qtype.getCode()==QType::SOA) {
-      removeItems.push_back(i-res.begin());
       d_soacount++;
+      if (d_soacount>1)
+        removeItems.push_back(i-res.begin());
     }
   }
 
-  if (!removeItems.empty() && d_soacount > 1) {
+
+  if (!removeItems.empty()) {
     BOOST_FOREACH(uint32_t i, removeItems) {
       res.erase(res.begin()+i);
     }