summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-dns/pdns-recursor')
-rw-r--r--net-dns/pdns-recursor/ChangeLog8
-rw-r--r--net-dns/pdns-recursor/files/pdns-recursor-3.1.7-boost-1.37.0.patch108
-rw-r--r--net-dns/pdns-recursor/pdns-recursor-3.1.7.ebuild6
3 files changed, 118 insertions, 4 deletions
diff --git a/net-dns/pdns-recursor/ChangeLog b/net-dns/pdns-recursor/ChangeLog
index 8b17c9c25650..a7a52c699295 100644
--- a/net-dns/pdns-recursor/ChangeLog
+++ b/net-dns/pdns-recursor/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for net-dns/pdns-recursor
-# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns-recursor/ChangeLog,v 1.25 2008/10/06 08:24:14 swegener Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns-recursor/ChangeLog,v 1.26 2009/05/20 20:06:46 swegener Exp $
+
+ 20 May 2009; Sven Wegener <swegener@gentoo.org>
+ pdns-recursor-3.1.7.ebuild, +files/pdns-recursor-3.1.7-boost-1.37.0.patch:
+ Add compability patch for boost-1.37.0, bug #270623.
06 Oct 2008; Sven Wegener <swegener@gentoo.org>
+files/pdns-recursor-3.1.7-error-message.patch,
diff --git a/net-dns/pdns-recursor/files/pdns-recursor-3.1.7-boost-1.37.0.patch b/net-dns/pdns-recursor/files/pdns-recursor-3.1.7-boost-1.37.0.patch
new file mode 100644
index 000000000000..c468793b9168
--- /dev/null
+++ b/net-dns/pdns-recursor/files/pdns-recursor-3.1.7-boost-1.37.0.patch
@@ -0,0 +1,108 @@
+------------------------------------------------------------------------
+r1274 | ahu | 2008-11-15 21:31:37 +0100 (Sat, 15 Nov 2008) | 2 lines
+
+update pdns_recursor to support boost 1.37.0 (thanks Darix)
+
+------------------------------------------------------------------------
+Index: pdns/pdns/pdns_recursor.cc
+===================================================================
+--- pdns/pdns/pdns_recursor.cc (revision 1273)
++++ pdns/pdns/pdns_recursor.cc (revision 1274)
+@@ -568,7 +568,7 @@
+
+ if(ret.size()) {
+ shuffle(ret);
+-
++
+ for(vector<DNSResourceRecord>::const_iterator i=ret.begin(); i!=ret.end(); ++i) {
+ pw.startRecord(i->qname, i->qtype.getCode(), i->ttl, i->qclass, (DNSPacketWriter::Place)i->d_place);
+
+@@ -666,7 +666,7 @@
+ catch(MOADNSException& e) {
+ L<<Logger::Error<<"DNS parser error: "<<dc->d_mdp.d_qname<<", "<<e.what()<<endl;
+ }
+- catch(exception& e) {
++ catch(std::exception& e) {
+ L<<Logger::Error<<"STL error: "<<e.what()<<endl;
+ }
+ catch(...) {
+@@ -1183,7 +1183,7 @@
+ s_rcc.send(answer, &remote);
+ command();
+ }
+- catch(exception& e) {
++ catch(std::exception& e) {
+ L<<Logger::Error<<"Error dealing with control socket request: "<<e.what()<<endl;
+ }
+ catch(AhuException& ae) {
+@@ -1486,7 +1486,7 @@
+ SyncRes::s_negcache.clear();
+ return "ok\n";
+ }
+- catch(exception& e) {
++ catch(std::exception& e) {
+ L<<Logger::Error<<"Had error reloading zones, keeping original data: "<<e.what()<<endl;
+ }
+ catch(AhuException& ae) {
+@@ -1526,7 +1526,7 @@
+ string tmp=DNSRR2String(rr);
+ rr=String2DNSRR(rr.qname, rr.qtype, tmp, rr.ttl);
+ }
+- catch(exception &e) {
++ catch(std::exception &e) {
+ throw AhuException("Error parsing record '"+rr.qname+"' of type "+rr.qtype.getName()+" in zone '"+headers.first+"' from file '"+headers.second+"': "+e.what());
+ }
+ catch(...) {
+@@ -1648,7 +1648,7 @@
+ }
+ }
+ }
+- catch(exception& e) {
++ catch(std::exception& e) {
+ L<<Logger::Error<<"Retaining current script, error from '"<<fname<<"': "<< e.what() <<endl;
+ return string("Retaining current script, error from '"+fname+"': "+string(e.what())+"\n");
+ }
+@@ -1772,7 +1772,7 @@
+ }
+
+ }
+- catch(exception &e) {
++ catch(std::exception &e) {
+ L<<Logger::Error<<"Failed to load 'lua' script from '"<<::arg()["lua-dns-script"]<<"': "<<e.what()<<endl;
+ exit(99);
+ }
+@@ -1958,6 +1958,12 @@
+ ::arg().set("logging-facility","Facility to log messages as. 0 corresponds to local0")="";
+ #endif
+ ::arg().set("config-dir","Location of configuration directory (recursor.conf)")=SYSCONFDIR;
++#ifndef WIN32
++ ::arg().set("socket-owner","Owner of socket")="";
++ ::arg().set("socket-group","Group of socket")="";
++ ::arg().set("socket-mode", "Permissions for socket")="";
++#endif
++
+ ::arg().set("socket-dir","Where the controlsocket will live")=LOCALSTATEDIR;
+ ::arg().set("delegation-only","Which domains we only accept delegations from")="";
+ ::arg().set("query-local-address","Source IP address for sending queries")="0.0.0.0";
+@@ -2032,7 +2038,7 @@
+ L<<Logger::Error<<"Exception: "<<ae.reason<<endl;
+ ret=EXIT_FAILURE;
+ }
+- catch(exception &e) {
++ catch(std::exception &e) {
+ L<<Logger::Error<<"STL Exception: "<<e.what()<<endl;
+ ret=EXIT_FAILURE;
+ }
+Index: pdns/pdns/lwres.cc
+===================================================================
+--- pdns/pdns/lwres.cc (revision 1273)
++++ pdns/pdns/lwres.cc (revision 1274)
+@@ -181,7 +181,7 @@
+
+ return 1;
+ }
+- catch(exception &mde) {
++ catch(std::exception &mde) {
+ if(::arg().mustDo("log-common-errors"))
+ L<<Logger::Notice<<"Unable to parse packet from remote server "<<ip.toString()<<": "<<mde.what()<<endl;
+ }
diff --git a/net-dns/pdns-recursor/pdns-recursor-3.1.7.ebuild b/net-dns/pdns-recursor/pdns-recursor-3.1.7.ebuild
index 78b0d0a2db1c..d91baaa22a73 100644
--- a/net-dns/pdns-recursor/pdns-recursor-3.1.7.ebuild
+++ b/net-dns/pdns-recursor/pdns-recursor-3.1.7.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2008 Gentoo Foundation
+# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns-recursor/pdns-recursor-3.1.7.ebuild,v 1.3 2008/10/06 08:24:14 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dns/pdns-recursor/pdns-recursor-3.1.7.ebuild,v 1.4 2009/05/20 20:06:46 swegener Exp $
inherit toolchain-funcs flag-o-matic eutils
@@ -24,8 +24,10 @@ pkg_setup() {
src_unpack() {
unpack ${A}
+ cd "${S}"
epatch "${FILESDIR}"/${P}-error-message.patch
+ epatch "${FILESDIR}"/${P}-boost-1.37.0.patch
sed -i -e s:/var/run/:/var/lib/powerdns: "${S}"/config.h || die
}