From: Aki Tuomi Date: Sun, 1 May 2022 18:17:59 +0000 (+0300) Subject: geoipbackend: Emit error and discard errorneus zones instead of failing completely X-Git-Tag: rec-5.0.0-alpha1~27^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2300566fc69396d67c71781606eac89795a5c1e9;p=thirdparty%2Fpdns.git geoipbackend: Emit error and discard errorneus zones instead of failing completely --- diff --git a/modules/geoipbackend/geoipbackend.cc b/modules/geoipbackend/geoipbackend.cc index 1ff316cd68..de939804fe 100644 --- a/modules/geoipbackend/geoipbackend.cc +++ b/modules/geoipbackend/geoipbackend.cc @@ -122,6 +122,7 @@ static bool validateMappingLookupFormats(const vector& formats) bool GeoIPBackend::loadDomain(const YAML::Node& domain, unsigned int id, GeoIPDomain& dom) { + try { dom.domain = DNSName(domain["domain"].as()); dom.ttl = domain["ttl"].as(); @@ -320,6 +321,15 @@ bool GeoIPBackend::loadDomain(const YAML::Node& domain, unsigned int id, GeoIPDo } } } + } + catch (std::exception& ex) { + g_log << Logger::Error << ex.what() << endl; + return false; + } + catch (PDNSException& ex) { + g_log << Logger::Error << ex.reason << endl; + return false; + } return true; }