From: Aki Tuomi Date: Fri, 7 Feb 2014 10:55:34 +0000 (+0200) Subject: Support command line and include-dir properly in reload-zones X-Git-Tag: rec-3.6.0-rc1~190^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=302df819590ab360a479fe94312082d7968301dc;p=thirdparty%2Fpdns.git Support command line and include-dir properly in reload-zones --- diff --git a/pdns/reczones.cc b/pdns/reczones.cc index f56a9ee2bc..832a47fbd8 100644 --- a/pdns/reczones.cc +++ b/pdns/reczones.cc @@ -25,6 +25,10 @@ #include "zoneparser-tng.hh" #include "logger.hh" #include "dnsrecords.hh" +#include + +extern int g_argc; +extern char** g_argv; void primeHints(void) { @@ -250,11 +254,29 @@ string reloadAuthAndForwards() if(!::arg().preParseFile(configname.c_str(), "forward-zones")) L< extraConfigs; + ::arg().gatherIncludes(extraConfigs); + + BOOST_FOREACH(const std::string& fn, extraConfigs) { + ::arg().preParseFile(fn.c_str(), "forward-zones", ::arg()["forward-zones"]); + ::arg().preParseFile(fn.c_str(), "forward-zones-file", ::arg()["forward-zones-file"]); + ::arg().preParseFile(fn.c_str(), "auth-zones",::arg()["auth-zones"]); + ::arg().preParseFile(fn.c_str(), "export-etc-hosts",::arg()["export-etc-hosts"]); + ::arg().preParseFile(fn.c_str(), "serve-rfc1918",::arg()["serve-rfc1918"]); + } SyncRes::domainmap_t* newDomainMap = parseAuthAndForwards();