From: Peter van Dijk Date: Thu, 20 Jun 2019 11:04:30 +0000 (+0200) Subject: catch name & IP parse errors during outgoing notify preparations X-Git-Tag: dnsdist-1.4.0-rc1~63^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F8037%2Fhead;p=thirdparty%2Fpdns.git catch name & IP parse errors during outgoing notify preparations (cherry picked from commit a53928cb568844a07fc83e1d090fdd1e21ee524d) (L renamed to g_log) --- diff --git a/pdns/mastercommunicator.cc b/pdns/mastercommunicator.cc index b5841132cf..bdd13fb38b 100644 --- a/pdns/mastercommunicator.cc +++ b/pdns/mastercommunicator.cc @@ -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 alsoNotify(d_alsoNotify); B->alsoNotifies(di.zone, &alsoNotify);