]> granicus.if.org Git - pdns/commitdiff
ignore unloadable files, causing a fresh zone retrieve
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Wed, 16 Oct 2019 22:47:14 +0000 (00:47 +0200)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Wed, 16 Oct 2019 22:47:14 +0000 (00:47 +0200)
pdns/ixfrdist.cc

index 4516a6eccc8ba5e286e3154801955e6982d695f9..c115b256f6385784e8c4f7a2aec511c54937efc0 100644 (file)
@@ -289,9 +289,11 @@ void updateThread(const string& workdir, const uint16_t& keep, const uint16_t& a
         string fname = workdir + "/" + domain.toString() + "/" + std::to_string(serial);
         loadSOAFromDisk(domain, fname, soa, soaTTL);
         records_t records;
-        if (soa != nullptr) {
-          loadZoneFromDisk(records, fname, domain);
+        if (soa == nullptr) {
+          g_log<<Logger::Error<<"Could not load SOA from disk for zone "<<domain<<", ignoring file"<<endl;
+          continue;
         }
+        loadZoneFromDisk(records, fname, domain);
         auto zoneInfo = std::make_shared<ixfrinfo_t>();
         zoneInfo->latestAXFR = std::move(records);
         zoneInfo->soa = soa;