#!/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 \
</affiliation>
</author>
- <PubDate>v2.1 $Date: 2002/12/18 16:22:20 $</PubDate>
+ <PubDate>v2.1 $Date: 2002/12/19 17:00:44 $</PubDate>
<Abstract>
<para>
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.
</para>
<para>
<warning>
General robustness improvements in Bind backend - many errors are now non-fatal.
</para>
</listitem>
+ <listitem>
+ <para>
+ Accessability, Serviceability. New <command>pdns_server</command> commands like <command>bind-list-rejects</command>
+ (lists zones that could not be loaded, and the reason why), <command>bind-reload-now</command> (reload a zone from disk NOW),
+ <command>rediscover</command> (reread named.conf NOW). More is coming up.
+ </para>
+ </listitem>
<listitem>
<para>
Added support for retrieving RP (Responsible Person) records from remote masters. Serving them was already possible.
return VERSION;
}
+string DLNotifyRetrieveHandler(const vector<string>&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<string>&parts, Utility::pid_t ppid)
{
#include <string>
#include <stdlib.h>
#include <sys/types.h>
-\r
-#ifndef WIN32\r
-# include "config.h"\r
-# include <unistd.h>\r
-#else\r
-# include "pdnsservice.hh"\r
-#endif // WIN32\r
+
+#ifndef WIN32
+# include "config.h"
+# include <unistd.h>
+#else
+# include "pdnsservice.hh"
+#endif // WIN32
using namespace std;
string DLRediscoverHandler(const vector<string>&parts, Utility::pid_t ppid);
string DLVersionHandler(const vector<string>&parts, Utility::pid_t ppid);
string DLPurgeHandler(const vector<string>&parts, Utility::pid_t ppid);
+string DLNotifyRetrieveHandler(const vector<string>&parts, Utility::pid_t ppid);
#endif /* PDNS_DYNHANDLER_HH */
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 <cstdio>
#include <signal.h>
#include <cstring>
dl->registerFunc("PURGE",&DLPurgeHandler);
dl->registerFunc("CCOUNTS",&DLCCHandler);
dl->registerFunc("SET",&DLSettingsHandler);
+ dl->registerFunc("RETRIEVE",&DLNotifyRetrieveHandler);
// reparse, with error checking
out:;
}
- catch(AhuException &ae) {
- L<<Logger::Error<<"TCP nameserver: "<<ae.reason<<endl;
- }
catch(DBException &e) {
L<<Logger::Error<<"TCP Connection Thread unable to answer a question because of a backend error"<<endl;
}
+ catch(AhuException &ae) {
+ L<<Logger::Error<<"TCP nameserver: "<<ae.reason<<endl;
+ }
catch(exception &e) {
L<<Logger::Error<<"TCP Connection Thread died because of STL error: "<<e.what()<<endl;
}