From e0e48a7a4b10b76dbca19b29c75451b2056a44d7 Mon Sep 17 00:00:00 2001 From: Pieter Lexis Date: Wed, 16 Dec 2015 17:18:10 +0100 Subject: [PATCH] Better error message for unfound new slave domains Closes #2405 --- modules/bindbackend/bindbackend2.cc | 10 ++++++++-- pdns/zoneparser-tng.cc | 7 +++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/modules/bindbackend/bindbackend2.cc b/modules/bindbackend/bindbackend2.cc index d961d150a7..7a021743ea 100644 --- a/modules/bindbackend/bindbackend2.cc +++ b/modules/bindbackend/bindbackend2.cc @@ -33,6 +33,7 @@ #include #include #include +#include #include "pdns/dnsseckeeper.hh" #include "pdns/dnssecinfra.hh" @@ -815,8 +816,10 @@ void Bind2Backend::loadConfig(string* status) } BB2DomainInfo bbd; + bool isNew = false; if(!safeGetBBDomainInfo(i->name, &bbd)) { + isNew = true; bbd.d_id=domain_id++; bbd.setCheckInterval(getArgAsNum("check-interval")); bbd.d_lastnotified=0; @@ -848,9 +851,12 @@ void Bind2Backend::loadConfig(string* status) L<name<<"' from file '"<filename<<"': "<type == "slave") + msg<<" error at "+nowTime()<<" no file found for new slave domain '"<name<<"'. Has not been AXFR'd yet"; + else + msg<<" error at "+nowTime()+" parsing '"<name<<"' from file '"<filename<<"': "< #include +#include static string g_INstr("IN"); @@ -57,8 +58,10 @@ ZoneParserTNG::ZoneParserTNG(const vector zonedata, const DNSName& zname void ZoneParserTNG::stackFile(const std::string& fname) { FILE *fp=fopen(fname.c_str(), "r"); - if(!fp) - throw runtime_error("Unable to open file '"+fname+"': "+stringerror()); + if(!fp) { + std::error_code ec (errno,std::generic_category()); + throw std::system_error(ec, "Unable to open file '"+fname+"': "+stringerror()); + } filestate fs(fp, fname); d_filestates.push(fs); -- 2.47.2