From: Bert Hubert Date: Thu, 19 Dec 2002 17:00:44 +0000 (+0000) Subject: lots of coolness! X-Git-Tag: pdns-2.9.3~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ef1d2f44127b8e08b1b92a9161ba7752b4648534;p=pdns lots of coolness! git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@89 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/build-scripts/rpm-build-instruction b/build-scripts/rpm-build-instruction index 618ee76d2..6099d1aa9 100755 --- a/build-scripts/rpm-build-instruction +++ b/build-scripts/rpm-build-instruction @@ -1,5 +1,5 @@ #!/bin/sh -./configure --with-modules="mysql pgmysql pipe pdns" --with-dynmodules="" \ +./configure --with-modules="mysql gmysql gpgsql pipe pdns xdb" --with-dynmodules="" \ --enable-static-binaries --enable-mysql --enable-pgsql \ --with-pgsql-lib=/opt/postgresql-with-3.2/lib/ --prefix=/usr \ --sysconfdir=/etc/powerdns \ diff --git a/pdns/docs/pdns.sgml b/pdns/docs/pdns.sgml index 7b133f846..797b41da0 100644 --- a/pdns/docs/pdns.sgml +++ b/pdns/docs/pdns.sgml @@ -15,7 +15,7 @@ - v2.1 $Date: 2002/12/18 16:22:20 $ + v2.1 $Date: 2002/12/19 17:00:44 $ @@ -90,7 +90,7 @@ Broad range of improvements. We now have an all-static .rpm and .deb for Linux users and a a link to an OpenBSD port. Major news is that work on the Bind backend has progressed to the point that we've just retired our last Bind server and replaced it with PowerDNS in Bind mode! This server is operating a number of master and slave setups so it should stress the Bind backend - quite a bit. + somewhat. @@ -119,6 +119,13 @@ General robustness improvements in Bind backend - many errors are now non-fatal. + + + Accessability, Serviceability. New pdns_server commands like bind-list-rejects + (lists zones that could not be loaded, and the reason why), bind-reload-now (reload a zone from disk NOW), + rediscover (reread named.conf NOW). More is coming up. + + Added support for retrieving RP (Responsible Person) records from remote masters. Serving them was already possible. diff --git a/pdns/dynhandler.cc b/pdns/dynhandler.cc index db089f030..52505e93e 100644 --- a/pdns/dynhandler.cc +++ b/pdns/dynhandler.cc @@ -180,6 +180,22 @@ string DLVersionHandler(const vector&parts, Utility::pid_t ppid) return VERSION; } +string DLNotifyRetrieveHandler(const vector&parts, Utility::pid_t ppid) +{ + extern CommunicatorClass Communicator; + ostringstream os; + if(parts.size()!=2) + return "syntax: retrieve domain"; + + const string& domain=parts[1]; + DomainInfo di; + PacketHandler P; + if(!P.getBackend()->getDomainInfo(domain, di)) + return "Domain '"+domain+"' unknown"; + + Communicator.addSuckRequest(domain,di.master); + return "Added retrieval request for '"+domain+"' from master "+di.master; +} string DLNotifyHostHandler(const vector&parts, Utility::pid_t ppid) { diff --git a/pdns/dynhandler.hh b/pdns/dynhandler.hh index 620814b96..e211bc805 100644 --- a/pdns/dynhandler.hh +++ b/pdns/dynhandler.hh @@ -23,13 +23,13 @@ #include #include #include - -#ifndef WIN32 -# include "config.h" -# include -#else -# include "pdnsservice.hh" -#endif // WIN32 + +#ifndef WIN32 +# include "config.h" +# include +#else +# include "pdnsservice.hh" +#endif // WIN32 using namespace std; @@ -50,4 +50,5 @@ string DLReloadHandler(const vector&parts, Utility::pid_t ppid); string DLRediscoverHandler(const vector&parts, Utility::pid_t ppid); string DLVersionHandler(const vector&parts, Utility::pid_t ppid); string DLPurgeHandler(const vector&parts, Utility::pid_t ppid); +string DLNotifyRetrieveHandler(const vector&parts, Utility::pid_t ppid); #endif /* PDNS_DYNHANDLER_HH */ diff --git a/pdns/receiver.cc b/pdns/receiver.cc index 37809bc79..8093c3c04 100644 --- a/pdns/receiver.cc +++ b/pdns/receiver.cc @@ -16,7 +16,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -// $Id: receiver.cc,v 1.3 2002/12/12 19:53:19 ahu Exp $ +// $Id: receiver.cc,v 1.4 2002/12/19 17:00:44 ahu Exp $ #include #include #include @@ -515,6 +515,7 @@ int main(int argc, char **argv) dl->registerFunc("PURGE",&DLPurgeHandler); dl->registerFunc("CCOUNTS",&DLCCHandler); dl->registerFunc("SET",&DLSettingsHandler); + dl->registerFunc("RETRIEVE",&DLNotifyRetrieveHandler); // reparse, with error checking diff --git a/pdns/tcpreceiver.cc b/pdns/tcpreceiver.cc index 05e92d2fb..ca82afbd8 100644 --- a/pdns/tcpreceiver.cc +++ b/pdns/tcpreceiver.cc @@ -221,12 +221,12 @@ void *TCPNameserver::doConnection(void *data) out:; } - catch(AhuException &ae) { - L<