From: Ruben d'Arco Date: Wed, 27 Feb 2013 23:11:34 +0000 (+0100) Subject: Added option to disable forwarding to master X-Git-Tag: rec-3.6.0-rc1~556^2~3^2~72 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e174b255011311aafd4f44141818b1182355cef7;p=thirdparty%2Fpdns.git Added option to disable forwarding to master --- diff --git a/pdns/common_startup.cc b/pdns/common_startup.cc index 122d793cce..d6c6e1cc50 100755 --- a/pdns/common_startup.cc +++ b/pdns/common_startup.cc @@ -41,6 +41,7 @@ void declareArguments() ::arg().set("local-port","The port on which we listen")="53"; ::arg().setSwitch("experimental-rfc2136","Enable/Disable RFC2136 (Dynamic DNS) support. Default is no.")="no"; ::arg().set("allow-2136-from","A global setting to allow RFC2136 from these IP ranges.")="0.0.0.0/0"; + ::arg().setSwitch("forward-2136","A global setting to allow RFC2136 packages that are for a Slave domain, to be forwarded to the master.")="yes"; ::arg().setSwitch("log-dns-details","If PDNS should log DNS non-erroneous details")=""; ::arg().setSwitch("log-dns-queries","If PDNS should log all incoming DNS queries")="no"; ::arg().set("urlredirector","Where we send hosts to that need to be url redirected")="127.0.0.1"; diff --git a/pdns/rfc2136handler.cc b/pdns/rfc2136handler.cc index 8c8c2a86f8..d4ab827674 100755 --- a/pdns/rfc2136handler.cc +++ b/pdns/rfc2136handler.cc @@ -342,6 +342,15 @@ uint16_t PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord * } int PacketHandler::forwardPacket(const string &msgPrefix, DNSPacket *p, DomainInfo *di) { + vector forward; + B.getDomainMetadata(p->qdomain, "FORWARD-2136", forward); + + if (forward.size() == 0 && ! ::arg().mustDo("forward-2136")) { + L<::const_iterator master=di->masters.begin(); master != di->masters.end(); master++) { ComboAddress remote; try {