]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
catch name & IP parse errors during outgoing notify preparations 8037/head
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Thu, 20 Jun 2019 11:04:30 +0000 (13:04 +0200)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Mon, 8 Jul 2019 09:18:39 +0000 (11:18 +0200)
(cherry picked from commit a53928cb568844a07fc83e1d090fdd1e21ee524d)

(L renamed to g_log)

pdns/mastercommunicator.cc

index b5841132cfad6121768edc75bbd0b92acd50f5a8..bdd13fb38bdf1f81a2fd964c0738dc568c9d66a8 100644 (file)
@@ -50,6 +50,7 @@ void CommunicatorClass::queueNotifyDomain(const DomainInfo& di, UeberBackend* B)
   FindNS fns;
 
 
+  try {
   if (d_onlyNotify.size()) {
     B->lookup(QType(QType::NS), di.zone);
     while(B->get(rr))
@@ -77,6 +78,16 @@ void CommunicatorClass::queueNotifyDomain(const DomainInfo& di, UeberBackend* B)
       hasQueuedItem=true;
     }
   }
+  }
+  catch (PDNSException &ae) {
+    g_log << Logger::Error << "Error looking up name servers for " << di.zone << ", cannot notify: " << ae.reason << endl;
+    return;
+  }
+  catch (std::exception &e) {
+    g_log << Logger::Error << "Error looking up name servers for " << di.zone << ", cannot notify: " << e.what() << endl;
+    return;
+  }
+
 
   set<string> alsoNotify(d_alsoNotify);
   B->alsoNotifies(di.zone, &alsoNotify);