summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net/Makefile4
-rw-r--r--net/powerdns-ldap/Makefile3
-rw-r--r--net/powerdns-ldap/PLIST4
-rw-r--r--net/powerdns-mysql/Makefile3
-rw-r--r--net/powerdns-mysql/PLIST7
-rw-r--r--net/powerdns-pgsql/Makefile3
-rw-r--r--net/powerdns-pgsql/PLIST7
-rw-r--r--net/powerdns-sqlite/DESCR9
-rw-r--r--net/powerdns-sqlite/Makefile14
-rw-r--r--net/powerdns-sqlite/PLIST2
-rw-r--r--net/powerdns-sqlite3/DESCR9
-rw-r--r--net/powerdns-sqlite3/Makefile14
-rw-r--r--net/powerdns-sqlite3/PLIST2
-rw-r--r--net/powerdns/Makefile9
-rw-r--r--net/powerdns/Makefile.backend3
-rw-r--r--net/powerdns/Makefile.common19
-rw-r--r--net/powerdns/PLIST32
-rw-r--r--net/powerdns/distinfo51
-rw-r--r--net/powerdns/files/smf/manifest.xml30
-rw-r--r--net/powerdns/options.mk45
-rw-r--r--net/powerdns/patches/patch-aa18
-rw-r--r--net/powerdns/patches/patch-ab13
-rw-r--r--net/powerdns/patches/patch-configure54
-rw-r--r--net/powerdns/patches/patch-modules_luabackend_luabackend.hh15
-rw-r--r--net/powerdns/patches/patch-modules_pipebackend_pipebackend.cc9
-rw-r--r--net/powerdns/patches/patch-modules_pipebackend_pipebackend.hh7
-rw-r--r--net/powerdns/patches/patch-pdns_aes_brg_endian.h14
-rw-r--r--net/powerdns/patches/patch-pdns_backends_bind_bindbackend2.cc248
-rw-r--r--net/powerdns/patches/patch-pdns_backends_bind_bindbackend2.hh44
-rw-r--r--net/powerdns/patches/patch-pdns_botan18signers.cc43
-rw-r--r--net/powerdns/patches/patch-pdns_dns.hh19
-rw-r--r--net/powerdns/patches/patch-pdns_dnspacket.cc23
-rw-r--r--net/powerdns/patches/patch-pdns_dnsparser.cc13
-rw-r--r--net/powerdns/patches/patch-pdns_dnsparser.hh9
-rw-r--r--net/powerdns/patches/patch-pdns_dnspbench.cc13
-rw-r--r--net/powerdns/patches/patch-pdns_dnsscope.cc16
-rw-r--r--net/powerdns/patches/patch-pdns_dynloader.cc11
-rw-r--r--net/powerdns/patches/patch-pdns_dynmessenger.cc12
-rw-r--r--net/powerdns/patches/patch-pdns_ext_nedmalloc_malloc.c14
-rw-r--r--net/powerdns/patches/patch-pdns_htimer.cc7
-rw-r--r--net/powerdns/patches/patch-pdns_nameserver.cc13
-rw-r--r--net/powerdns/patches/patch-pdns_packethandler.cc16
-rw-r--r--net/powerdns/patches/patch-pdns_pdns_recursor.cc140
-rw-r--r--net/powerdns/patches/patch-pdns_receiver.cc8
-rw-r--r--net/powerdns/patches/patch-pdns_recursor__cache.cc9
-rw-r--r--net/powerdns/patches/patch-pdns_resolver.cc60
-rw-r--r--net/powerdns/patches/patch-pdns_tcpreceiver.cc131
47 files changed, 549 insertions, 700 deletions
diff --git a/net/Makefile b/net/Makefile
index 9e6234a685a..27306a6456c 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1047 2014/12/06 10:45:34 obache Exp $
+# $NetBSD: Makefile,v 1.1048 2014/12/10 14:50:08 fhajny Exp $
#
COMMENT= Networking tools
@@ -540,8 +540,6 @@ SUBDIR+= powerdns-ldap
SUBDIR+= powerdns-mysql
SUBDIR+= powerdns-pgsql
SUBDIR+= powerdns-recursor
-SUBDIR+= powerdns-sqlite
-SUBDIR+= powerdns-sqlite3
SUBDIR+= pppd
SUBDIR+= pptp
SUBDIR+= proftpd
diff --git a/net/powerdns-ldap/Makefile b/net/powerdns-ldap/Makefile
index 2d10c89f115..f9813ec8cbc 100644
--- a/net/powerdns-ldap/Makefile
+++ b/net/powerdns-ldap/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.13 2014/02/12 23:18:25 tron Exp $
+# $NetBSD: Makefile,v 1.14 2014/12/10 14:50:09 fhajny Exp $
.include "../../net/powerdns/Makefile.backend"
PKGNAME= ${DISTNAME:S/pdns/powerdns-ldap/}
-PKGREVISION= 5
COMMENT= LDAP backend module for PowerDNS
CONFIGURE_ARGS+= --with-dynmodules="ldap"
diff --git a/net/powerdns-ldap/PLIST b/net/powerdns-ldap/PLIST
index 5c9c4a43ce5..b88278c29d0 100644
--- a/net/powerdns-ldap/PLIST
+++ b/net/powerdns-ldap/PLIST
@@ -1,2 +1,2 @@
-@comment $NetBSD: PLIST,v 1.3 2012/01/25 10:21:12 ghen Exp $
-lib/pdns/libldapbackend.la
+@comment $NetBSD: PLIST,v 1.4 2014/12/10 14:50:09 fhajny Exp $
+lib/pdns/pdns/libldapbackend.la
diff --git a/net/powerdns-mysql/Makefile b/net/powerdns-mysql/Makefile
index 98acf04ff6f..1edbf44aa77 100644
--- a/net/powerdns-mysql/Makefile
+++ b/net/powerdns-mysql/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.13 2013/03/02 20:33:31 wiz Exp $
+# $NetBSD: Makefile,v 1.14 2014/12/10 14:50:09 fhajny Exp $
.include "../../net/powerdns/Makefile.backend"
PKGNAME= ${DISTNAME:S/pdns/powerdns-mysql/}
-PKGREVISION= 4
COMMENT= MySQL backend module for PowerDNS
CONFIGURE_ARGS+= --with-dynmodules="gmysql"
diff --git a/net/powerdns-mysql/PLIST b/net/powerdns-mysql/PLIST
index 50a18241b4f..58f129a7c28 100644
--- a/net/powerdns-mysql/PLIST
+++ b/net/powerdns-mysql/PLIST
@@ -1,2 +1,5 @@
-@comment $NetBSD: PLIST,v 1.4 2012/01/25 10:21:12 ghen Exp $
-lib/pdns/libgmysqlbackend.la
+@comment $NetBSD: PLIST,v 1.5 2014/12/10 14:50:09 fhajny Exp $
+lib/pdns/pdns/libgmysqlbackend.la
+share/doc/pdns/dnssec-3.x_to_3.4.0_schema.mysql.sql
+share/doc/pdns/nodnssec-3.x_to_3.4.0_schema.mysql.sql
+share/doc/pdns/schema.mysql.sql
diff --git a/net/powerdns-pgsql/Makefile b/net/powerdns-pgsql/Makefile
index 59d5b3c95f8..9d1836467f6 100644
--- a/net/powerdns-pgsql/Makefile
+++ b/net/powerdns-pgsql/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.14 2014/06/10 14:21:37 joerg Exp $
+# $NetBSD: Makefile,v 1.15 2014/12/10 14:50:09 fhajny Exp $
.include "../../net/powerdns/Makefile.backend"
PKGNAME= ${DISTNAME:S/pdns/powerdns-pgsql/}
-PKGREVISION= 4
COMMENT= PostgreSQL backend module for PowerDNS
CONFIGURE_ARGS+= --with-dynmodules="gpgsql"
diff --git a/net/powerdns-pgsql/PLIST b/net/powerdns-pgsql/PLIST
index 1a0f7f0f3a2..850771a03b2 100644
--- a/net/powerdns-pgsql/PLIST
+++ b/net/powerdns-pgsql/PLIST
@@ -1,2 +1,5 @@
-@comment $NetBSD: PLIST,v 1.3 2012/01/25 10:21:12 ghen Exp $
-lib/pdns/libgpgsqlbackend.la
+@comment $NetBSD: PLIST,v 1.4 2014/12/10 14:50:09 fhajny Exp $
+lib/pdns/pdns/libgpgsqlbackend.la
+share/doc/pdns/dnssec-3.x_to_3.4.0_schema.pgsql.sql
+share/doc/pdns/nodnssec-3.x_to_3.4.0_schema.pgsql.sql
+share/doc/pdns/schema.pgsql.sql
diff --git a/net/powerdns-sqlite/DESCR b/net/powerdns-sqlite/DESCR
deleted file mode 100644
index f4fad7f4ea3..00000000000
--- a/net/powerdns-sqlite/DESCR
+++ /dev/null
@@ -1,9 +0,0 @@
-The PowerDNS nameserver is a modern, advanced and high performance
-authoritative-only nameserver. It is written from scratch and conforms
-to all the relevant DNS standards documents. PowerDNS is open source.
-
-The PowerDNS nameserver utilizes a flexible backend architecture that
-can access DNS information from any data source. This includes file
-formats, BIND zone files, relational databases or LDAP directories.
-
-This packages provides the SQLite backend module.
diff --git a/net/powerdns-sqlite/Makefile b/net/powerdns-sqlite/Makefile
deleted file mode 100644
index a01328130b0..00000000000
--- a/net/powerdns-sqlite/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# $NetBSD: Makefile,v 1.7 2012/10/23 17:19:00 asau Exp $
-
-.include "../../net/powerdns/Makefile.backend"
-
-PKGNAME= ${DISTNAME:S/pdns/powerdns-sqlite/}
-PKGREVISION= 2
-COMMENT= SQLite backend module for PowerDNS
-
-CONFIGURE_ARGS+= --with-dynmodules="gsqlite"
-CONFIGURE_ARGS+= --with-sqlite-lib=${BUILDLINK_PREFIX.sqlite}/lib
-CONFIGURE_ARGS+= --with-sqlite-includes=${BUILDLINK_PREFIX.sqlite}/include
-
-.include "../../databases/sqlite/buildlink3.mk"
-.include "../../mk/bsd.pkg.mk"
diff --git a/net/powerdns-sqlite/PLIST b/net/powerdns-sqlite/PLIST
deleted file mode 100644
index 1270abbf897..00000000000
--- a/net/powerdns-sqlite/PLIST
+++ /dev/null
@@ -1,2 +0,0 @@
-@comment $NetBSD: PLIST,v 1.3 2012/01/25 10:21:12 ghen Exp $
-lib/pdns/libgsqlitebackend.la
diff --git a/net/powerdns-sqlite3/DESCR b/net/powerdns-sqlite3/DESCR
deleted file mode 100644
index 964c020dba9..00000000000
--- a/net/powerdns-sqlite3/DESCR
+++ /dev/null
@@ -1,9 +0,0 @@
-The PowerDNS nameserver is a modern, advanced and high performance
-authoritative-only nameserver. It is written from scratch and conforms
-to all the relevant DNS standards documents. PowerDNS is open source.
-
-The PowerDNS nameserver utilizes a flexible backend architecture that
-can access DNS information from any data source. This includes file
-formats, BIND zone files, relational databases or LDAP directories.
-
-This packages provides the SQLite version 3 backend module.
diff --git a/net/powerdns-sqlite3/Makefile b/net/powerdns-sqlite3/Makefile
deleted file mode 100644
index 98f8996028a..00000000000
--- a/net/powerdns-sqlite3/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# $NetBSD: Makefile,v 1.3 2014/10/07 16:47:33 adam Exp $
-
-.include "../../net/powerdns/Makefile.backend"
-
-PKGNAME= ${DISTNAME:S/pdns/powerdns-sqlite3/}
-PKGREVISION= 2
-COMMENT= SQLite version 3 backend module for PowerDNS
-
-CONFIGURE_ARGS+= --with-dynmodules="gsqlite3"
-CONFIGURE_ARGS+= --with-sqlite3-lib=${BUILDLINK_PREFIX.sqlite3}/lib
-CONFIGURE_ARGS+= --with-sqlite3-includes=${BUILDLINK_PREFIX.sqlite3}/include
-
-.include "../../databases/sqlite3/buildlink3.mk"
-.include "../../mk/bsd.pkg.mk"
diff --git a/net/powerdns-sqlite3/PLIST b/net/powerdns-sqlite3/PLIST
deleted file mode 100644
index f19dacb3f98..00000000000
--- a/net/powerdns-sqlite3/PLIST
+++ /dev/null
@@ -1,2 +0,0 @@
-@comment $NetBSD: PLIST,v 1.1.1.1 2013/09/06 11:01:57 fhajny Exp $
-lib/pdns/libgsqlite3backend.la
diff --git a/net/powerdns/Makefile b/net/powerdns/Makefile
index 42f3c4c6901..190b0266212 100644
--- a/net/powerdns/Makefile
+++ b/net/powerdns/Makefile
@@ -1,15 +1,17 @@
-# $NetBSD: Makefile,v 1.9 2012/10/23 17:18:59 asau Exp $
+# $NetBSD: Makefile,v 1.10 2014/12/10 14:50:08 fhajny Exp $
.include "Makefile.common"
PKGNAME= ${DISTNAME:S/pdns/powerdns/}
-PKGREVISION= 2
COMMENT= Modern, advanced and high performance nameserver
+.include "options.mk"
+
CONFIGURE_ARGS+= --with-modules="geo"
-CONFIGURE_ARGS+= --with-dynmodules="pipe"
+CONFIGURE_ARGS+= --with-dynmodules="${PDNS_MODULES}"
RCD_SCRIPTS= pdns
+SMF_NAME= pdns
EGDIR= ${PREFIX}/share/examples/pdns
MAKE_ENV+= EGDIR=${EGDIR}
@@ -24,4 +26,5 @@ SUBST_SED.conf+= -e 's,@PKG_SYSCONFDIR@,${PKG_SYSCONFDIR},'
LDFLAGS.SunOS+= -lsocket -lnsl
+.include "../../databases/sqlite3/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/net/powerdns/Makefile.backend b/net/powerdns/Makefile.backend
index d58fe129ef2..ab388bb6b2b 100644
--- a/net/powerdns/Makefile.backend
+++ b/net/powerdns/Makefile.backend
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.backend,v 1.1.1.1 2006/08/13 09:34:21 ghen Exp $
+# $NetBSD: Makefile.backend,v 1.2 2014/12/10 14:50:08 fhajny Exp $
.include "../../net/powerdns/Makefile.common"
@@ -8,7 +8,6 @@ DISTINFO_FILE= ${.CURDIR}/../../net/powerdns/distinfo
PATCHDIR= ${.CURDIR}/../../net/powerdns/patches
CONFIGURE_ARGS+= --disable-pdns_server
-CONFIGURE_ARGS+= --disable-recursor
CONFIGURE_ARGS+= --with-modules=""
BUILD_DIRS= modules
diff --git a/net/powerdns/Makefile.common b/net/powerdns/Makefile.common
index 3cbd6257932..c7ade8741c4 100644
--- a/net/powerdns/Makefile.common
+++ b/net/powerdns/Makefile.common
@@ -1,22 +1,31 @@
-# $NetBSD: Makefile.common,v 1.9 2014/10/05 16:41:08 wiz Exp $
-#
-# used by net/powerdns/Makefile.backend
+# $NetBSD: Makefile.common,v 1.10 2014/12/10 14:50:08 fhajny Exp $
-PDNS_VERSION= 2.9.22.5
+PDNS_VERSION= 3.4.1
DISTNAME= pdns-${PDNS_VERSION}
CATEGORIES= net
MASTER_SITES= http://downloads.powerdns.com/releases/
+EXTRACT_SUFX= .tar.bz2
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.powerdns.com/
+LICENSE= gnu-gpl-v2
-USE_TOOLS+= gmake
+USE_TOOLS+= gmake pkg-config
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
GNU_CONFIGURE_LIBSUBDIR=pdns
+CONFIGURE_ARGS+= --enable-pdns_server
+CONFIGURE_ARGS+= --with-system-polarssl
+CONFIGURE_ARGS+= --without-lua
+
+BUILDLINK_TRANSFORM+= rm:-fstack-protector
+
.include "../../devel/boost-headers/buildlink3.mk"
+.include "../../devel/boost-libs/buildlink3.mk"
+.include "../../devel/gmp/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
+.include "../../security/polarssl/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
diff --git a/net/powerdns/PLIST b/net/powerdns/PLIST
index 7a3d2938046..37bf6b617ae 100644
--- a/net/powerdns/PLIST
+++ b/net/powerdns/PLIST
@@ -1,11 +1,37 @@
-@comment $NetBSD: PLIST,v 1.5 2014/03/11 14:05:10 jperkin Exp $
+@comment $NetBSD: PLIST,v 1.6 2014/12/10 14:50:08 fhajny Exp $
+${PLIST.tools}bin/dnsbulktest
+${PLIST.tools}bin/dnsdist
+${PLIST.tools}bin/dnsreplay
+${PLIST.tools}bin/dnsscan
+${PLIST.tools}bin/dnsscope
+${PLIST.tools}bin/dnstcpbench
+${PLIST.tools}bin/dnswasher
+${PLIST.tools}bin/nproxy
+${PLIST.tools}bin/nsec3dig
bin/pdns_control
+bin/pdnssec
+${PLIST.tools}bin/saxfr
+bin/zone2json
bin/zone2ldap
bin/zone2sql
-lib/pdns/libgeobackend.la
-lib/pdns/libpipebackend.la
+lib/pdns/pdns/libgeobackend.la
+${PLIST.bind}lib/pdns/pdns/libbindbackend.la
+${PLIST.pipe}lib/pdns/pdns/libpipebackend.la
+${PLIST.random}lib/pdns/pdns/librandombackend.la
+${PLIST.remote}lib/pdns/pdns/libremotebackend.la
+${PLIST.sqlite}lib/pdns/pdns/libgsqlite3backend.la
+${PLIST.tools}man/man1/dnsdist.1
+${PLIST.tools}man/man1/dnstcpbench.1
+${PLIST.tools}man/man8/dnsreplay.8
+${PLIST.tools}man/man8/dnsscope.8
+${PLIST.tools}man/man8/dnswasher.8
man/man8/pdns_control.8
man/man8/pdns_server.8
+man/man8/pdnssec.8
+man/man8/zone2ldap.8
man/man8/zone2sql.8
sbin/pdns_server
+${PLIST.sqlite}share/doc/pdns/dnssec-3.x_to_3.4.0_schema.sqlite3.sql
+${PLIST.sqlite}share/doc/pdns/nodnssec-3.x_to_3.4.0_schema.sqlite3.sql
+${PLIST.sqlite}share/doc/pdns/schema.sqlite3.sql
share/examples/pdns/pdns.conf-dist
diff --git a/net/powerdns/distinfo b/net/powerdns/distinfo
index b9cd3eb62a1..ad3161eb499 100644
--- a/net/powerdns/distinfo
+++ b/net/powerdns/distinfo
@@ -1,29 +1,24 @@
-$NetBSD: distinfo,v 1.13 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: distinfo,v 1.14 2014/12/10 14:50:08 fhajny Exp $
-SHA1 (pdns-2.9.22.5.tar.gz) = 7a514fe624c110afb8a262f4d76376d0f8e17bea
-RMD160 (pdns-2.9.22.5.tar.gz) = 8be76a7a63c3366d55724815245e2f955ec0adda
-Size (pdns-2.9.22.5.tar.gz) = 1077617 bytes
-SHA1 (patch-aa) = e31080087d9369349e912c94e7dbfce72c9fc629
-SHA1 (patch-ab) = f54ace6ff60162e50119eb11bcb2f5db5e1ea480
-SHA1 (patch-configure) = 2a0beb262c421d7887dcabc56102c04b340a920b
-SHA1 (patch-modules_pipebackend_pipebackend.cc) = 760d8035e99faadfbb90ee31230e43c5157aecb4
-SHA1 (patch-modules_pipebackend_pipebackend.hh) = 7451c14660674210ca2024767e5cd44f7ec9da54
-SHA1 (patch-pdns_aes_brg_endian.h) = f7e5294251cd0d89e8ff802292f27b0c4cb50be7
-SHA1 (patch-pdns_backends_bind_bindbackend2.cc) = 46fdd94323cd2ecb914e30db4560495cc8efd660
-SHA1 (patch-pdns_backends_bind_bindbackend2.hh) = 0cc15f8d7c53cc5dd2b81c4e2e67601a5192ab54
-SHA1 (patch-pdns_dns.hh) = f7d95f4c28fd986e76b4c25333b1b063992aa0c5
-SHA1 (patch-pdns_dnspacket.cc) = 659f6511b2fabfebb48fd9472a5e43fc42c0f356
-SHA1 (patch-pdns_dnsparser.cc) = 895e66ce1afb5f5af4bcb367a8946ab3d4eb5703
-SHA1 (patch-pdns_dnsparser.hh) = cd39fda0d7952bd9858f28eac750c7c05be08ced
-SHA1 (patch-pdns_dnspbench.cc) = 91670ad952f185c325270d977545425ef86dffe9
-SHA1 (patch-pdns_dynloader.cc) = 26743b3465fccb8a013790dcdc64d195af0666da
-SHA1 (patch-pdns_dynmessenger.cc) = df89ba91abc96319b323fc19b413b127112f4afb
-SHA1 (patch-pdns_ext_nedmalloc_malloc.c) = 979ccbf76edf9ff8ceeded0cf6fc1e401d1c1504
-SHA1 (patch-pdns_htimer.cc) = 3e984f93da7b7be3f309e45ba1182d75c3980769
-SHA1 (patch-pdns_nameserver.cc) = 5ff1dd6d419c4cbbf3e12bcfca22164dafcc3df6
-SHA1 (patch-pdns_packethandler.cc) = db36bf022ebf1e27f52e2e5f05f5fb81783f2288
-SHA1 (patch-pdns_pdns_recursor.cc) = 03b012eab35dd4b83602151736cf61bdd74f14ef
-SHA1 (patch-pdns_receiver.cc) = 8a9932413f5c8234478cd9d5b3f5237fcf9ac087
-SHA1 (patch-pdns_recursor__cache.cc) = 242bff58eff98ee943a7fb599a6590f079328251
-SHA1 (patch-pdns_resolver.cc) = 4a73c460abbbd223109ec119c6280f19d7402956
-SHA1 (patch-pdns_tcpreceiver.cc) = 836a1a114a8a6fdf67335db64909882ca498096a
+SHA1 (pdns-3.4.1.tar.bz2) = e4d807b4dc27ef130a49e0efaf82a74cb66f5b11
+RMD160 (pdns-3.4.1.tar.bz2) = fe9df921ac82db834bc011c7c20ad9b436c70cec
+Size (pdns-3.4.1.tar.bz2) = 1237002 bytes
+SHA1 (patch-aa) = 7fc9bf227c21983d5492f7359d313a3b4e56e43f
+SHA1 (patch-ab) = 705a7f5f7035a46ab72b08ef24b1db888a406122
+SHA1 (patch-configure) = ef0dc268eb81470c3449eab39cde6ddf9f49175f
+SHA1 (patch-modules_luabackend_luabackend.hh) = fd1d04d71ff560efd92137bd468475d5e5c165ce
+SHA1 (patch-modules_pipebackend_pipebackend.cc) = 51cd06282231768df2e6f82c01e30575dc390a95
+SHA1 (patch-modules_pipebackend_pipebackend.hh) = 3ff9f666a1b348810be38ffe67fd740521390630
+SHA1 (patch-pdns_botan18signers.cc) = 6827a3e2eade467c53d710b57352bd9ed978b47c
+SHA1 (patch-pdns_dns.hh) = c8864cd742a2f5bd8209e6ab569d018dbff3f836
+SHA1 (patch-pdns_dnspacket.cc) = c6f1d543e07a1d081056b49d063fd0ca19151fd8
+SHA1 (patch-pdns_dnsparser.cc) = ec1a279a48825a2adbc528a644b711d225a7e728
+SHA1 (patch-pdns_dnsparser.hh) = d9480c40b97fb8c7d8f1dbbe1777c42ef270d9d1
+SHA1 (patch-pdns_dnsscope.cc) = cc38014e1eb20ed3c65b59714e2725a8283f6391
+SHA1 (patch-pdns_dynloader.cc) = 6ef7957917936f077307a4b6c79afe5a4a6ef7c7
+SHA1 (patch-pdns_htimer.cc) = 43eb784a58dcad9b3cedca4a6aeae777e33bd2f9
+SHA1 (patch-pdns_pdns_recursor.cc) = df9465d337fceb93caaff7ffc32d17681a8fe77d
+SHA1 (patch-pdns_receiver.cc) = 4411bfeccb2814550b834ddabee930918631c666
+SHA1 (patch-pdns_recursor__cache.cc) = a4c63c20a3e58d996a631c8a7754b8afb45cdb86
+SHA1 (patch-pdns_resolver.cc) = 3b03f3dde04217d527f6e841ad9d5f19bbc79f53
+SHA1 (patch-pdns_tcpreceiver.cc) = 3d86e0e87fe82c034210f61d6a3c57cd7ab9d3ba
diff --git a/net/powerdns/files/smf/manifest.xml b/net/powerdns/files/smf/manifest.xml
new file mode 100644
index 00000000000..b6bfc01b350
--- /dev/null
+++ b/net/powerdns/files/smf/manifest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="pdns">
+ <service name="@SMF_PREFIX@/pdns" type="service" version="1">
+ <create_default_instance enabled="false" />
+ <single_instance />
+ <dependency name="network" grouping="require_all" restart_on="error" type="service">
+ <service_fmri value="svc:/milestone/network:default" />
+ </dependency>
+ <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
+ <service_fmri value="svc:/system/filesystem/local" />
+ </dependency>
+ <method_context></method_context>
+ <exec_method type="method" name="start" exec="@PREFIX@/sbin/pdns_server --daemon=yes" timeout_seconds="60" />
+ <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
+ <property_group name="startd" type="framework">
+ <propval name="duration" type="astring" value="contract" />
+ <propval name="ignore_error" type="astring" value="core,signal" />
+ </property_group>
+ <property_group name="application" type="application">
+ <propval name="config_file" type="astring" value="@PKG_SYSCONFDIR@/pdns.conf" />
+ </property_group>
+ <stability value="Evolving" />
+ <template>
+ <common_name>
+ <loctext xml:lang="C">PowerDNS server service</loctext>
+ </common_name>
+ </template>
+ </service>
+</service_bundle>
diff --git a/net/powerdns/options.mk b/net/powerdns/options.mk
new file mode 100644
index 00000000000..0d21fe5d450
--- /dev/null
+++ b/net/powerdns/options.mk
@@ -0,0 +1,45 @@
+# $NetBSD: options.mk,v 1.1 2014/12/10 14:50:08 fhajny Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.powerdns
+PKG_SUPPORTED_OPTIONS= bind botan pipe random remote sqlite tools
+PKG_SUGGESTED_OPTIONS= bind pipe random
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+= bind pipe random remote sqlite tools
+
+.if !empty(PKG_OPTIONS:Mbind)
+PDNS_MODULES+= bind
+PLIST.bind= yes
+.endif
+
+.if !empty(PKG_OPTIONS:Mbotan)
+CONFIGURE_ARGS+= --enable-botan1.8
+.include "../../security/botan/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mpipe)
+PLIST.pipe= yes
+PDNS_MODULES+= pipe
+.endif
+
+.if !empty(PKG_OPTIONS:Mrandom)
+PLIST.random= yes
+PDNS_MODULES+= random
+.endif
+
+.if !empty(PKG_OPTIONS:Mremote)
+PLIST.remote= yes
+PDNS_MODULES+= remote
+.endif
+
+.if !empty(PKG_OPTIONS:Msqlite)
+PDNS_MODULES+= gsqlite3
+PLIST.sqlite= yes
+.include "../../databases/sqlite3/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mtools)
+CONFIGURE_ARGS+= --enable-tools
+PLIST.tools= yes
+.endif
diff --git a/net/powerdns/patches/patch-aa b/net/powerdns/patches/patch-aa
index e6e9b41a7eb..08a5c8ae5a8 100644
--- a/net/powerdns/patches/patch-aa
+++ b/net/powerdns/patches/patch-aa
@@ -1,14 +1,20 @@
-$NetBSD: patch-aa,v 1.3 2012/01/13 12:12:48 ghen Exp $
+$NetBSD: patch-aa,v 1.4 2014/12/10 14:50:09 fhajny Exp $
---- pdns/Makefile.in.orig 2012-01-05 14:27:41.000000000 +0000
+Installation destination for example config file.
+--- pdns/Makefile.in.orig 2014-10-30 10:18:39.000000000 +0000
+++ pdns/Makefile.in
-@@ -1012,15 +1012,15 @@ clean-libtool:
+@@ -1627,18 +1627,18 @@ clean-libtool:
-rm -rf .libs _libs
install-sysconfDATA: $(sysconf_DATA)
@$(NORMAL_INSTALL)
-- test -z "$(sysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(sysconfdir)"
-+ test -z "$(EGDIR)" || $(MKDIR_P) "$(DESTDIR)$(EGDIR)"
- @list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \
+- @list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \
++ @list='$(sysconf_DATA)'; test -n "$(EGDIR)" || list=; \
+ if test -n "$$list"; then \
+- echo " $(MKDIR_P) '$(DESTDIR)$(sysconfdir)'"; \
+- $(MKDIR_P) "$(DESTDIR)$(sysconfdir)" || exit 1; \
++ echo " $(MKDIR_P) '$(DESTDIR)$(EGDIR)'"; \
++ $(MKDIR_P) "$(DESTDIR)$(EGDIR)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
diff --git a/net/powerdns/patches/patch-ab b/net/powerdns/patches/patch-ab
index 81c1247bb7a..7ac7c7a28ec 100644
--- a/net/powerdns/patches/patch-ab
+++ b/net/powerdns/patches/patch-ab
@@ -1,8 +1,9 @@
-$NetBSD: patch-ab,v 1.3 2011/11/23 23:32:17 joerg Exp $
+$NetBSD: patch-ab,v 1.4 2014/12/10 14:50:09 fhajny Exp $
---- pdns/pdns.conf-dist.orig 2007-04-21 13:56:36.000000000 +0000
+Default paths.
+--- pdns/pdns.conf-dist.orig 2014-10-28 10:41:09.000000000 +0000
+++ pdns/pdns.conf-dist
-@@ -27,7 +27,7 @@
+@@ -52,7 +52,7 @@
#################################
# config-dir Location of configuration directory (pdns.conf)
#
@@ -11,12 +12,12 @@ $NetBSD: patch-ab,v 1.3 2011/11/23 23:32:17 joerg Exp $
#################################
# config-name Name of this virtual configuration - will rename the binary image
-@@ -157,7 +157,7 @@
+@@ -287,7 +287,7 @@
#################################
# module-dir Default directory for modules
#
--# module-dir=/usr/local/lib
+-# module-dir=/usr/local/lib/pdns
+# module-dir=@PREFIX@/lib/pdns
#################################
- # negquery-cache-ttl Seconds to store packets in the PacketCache
+ # negquery-cache-ttl Seconds to store negative query results in the QueryCache
diff --git a/net/powerdns/patches/patch-configure b/net/powerdns/patches/patch-configure
index da4abf37624..08e1b224b27 100644
--- a/net/powerdns/patches/patch-configure
+++ b/net/powerdns/patches/patch-configure
@@ -1,13 +1,45 @@
-$NetBSD: patch-configure,v 1.1 2012/01/23 15:11:54 ghen Exp $
+$NetBSD: patch-configure,v 1.2 2014/12/10 14:50:09 fhajny Exp $
---- configure.orig 2012-01-23 14:16:18.745785316 +0000
+Portability.
+--- configure.orig 2014-10-30 10:18:31.000000000 +0000
+++ configure
-@@ -16867,7 +16867,7 @@ do
- done
- modulelibs="$modulelibs `cat $srcdir/modules/${a}backend/OBJECTLIBS`"
-
-- if test ${a} == "gpgsql"; then
-+ if test ${a} = "gpgsql"; then
- case "$host_os" in
- freebsd*)
- ;;
+@@ -19403,7 +19403,7 @@ fi
+ if test "x$MYSQL_config_check" != "xskip"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mysql_config" >&5
+ $as_echo_n "checking for mysql_config... " >&6; }
+- if test "x$MYSQL_config_check" == "x"; then
++ if test "x$MYSQL_config_check" = "x"; then
+ # check if it's in path
+ for m in /bin /usr/bin /usr/local/bin /opt/csw/bin; do
+ if test -x $m/mysql_config; then
+@@ -19412,7 +19412,7 @@ $as_echo_n "checking for mysql_config...
+ fi
+ done
+
+- if test "x$MYSQL_config" == "x"; then
++ if test "x$MYSQL_config" = "x"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+ $as_echo "not found" >&6; }
+ else
+@@ -19518,7 +19518,7 @@ fi
+ # Check whether --with-pgsql-config was given.
+ if test "${with_pgsql_config+set}" = set; then :
+ withval=$with_pgsql_config; PGSQL_pg_config="$withval"
+- if test "x$PGSQL_pg_config" == "xyes" || test ! -x "$PGSQL_pg_config"; then
++ if test "x$PGSQL_pg_config" = "xyes" || test ! -x "$PGSQL_pg_config"; then
+ as_fn_error $? "--with-pgsql-config must provide a valid path to pg_config executable" "$LINENO" 5
+ fi
+
+@@ -19568,10 +19568,10 @@ fi
+
+
+ if test "x$PGSQL_pg_config" != "x"; then
+- if test "x$PGSQL_lib_check" == "x"; then
++ if test "x$PGSQL_lib_check" = "x"; then
+ PGSQL_lib_check=$($PGSQL_pg_config --libdir)
+ fi
+- if test "x$PGSQL_inc_check" == "x"; then
++ if test "x$PGSQL_inc_check" = "x"; then
+ PGSQL_inc_check=$($PGSQL_pg_config --includedir)
+ fi
+ PGSQL_CFLAGS=
diff --git a/net/powerdns/patches/patch-modules_luabackend_luabackend.hh b/net/powerdns/patches/patch-modules_luabackend_luabackend.hh
new file mode 100644
index 00000000000..7ea743214fb
--- /dev/null
+++ b/net/powerdns/patches/patch-modules_luabackend_luabackend.hh
@@ -0,0 +1,15 @@
+$NetBSD: patch-modules_luabackend_luabackend.hh,v 1.1 2014/12/10 14:50:09 fhajny Exp $
+
+u_int32_t not defined on SunOS.
+--- modules/luabackend/luabackend.hh.orig 2014-02-04 11:33:04.000000000 +0000
++++ modules/luabackend/luabackend.hh
+@@ -17,6 +17,9 @@ using std::string;
+
+ //#undef L
+
++#ifdef __sun
++typedef uint32_t u_int32_t;
++#endif
+
+
+ class LUAException {
diff --git a/net/powerdns/patches/patch-modules_pipebackend_pipebackend.cc b/net/powerdns/patches/patch-modules_pipebackend_pipebackend.cc
index 060c0478139..e46407e031f 100644
--- a/net/powerdns/patches/patch-modules_pipebackend_pipebackend.cc
+++ b/net/powerdns/patches/patch-modules_pipebackend_pipebackend.cc
@@ -1,8 +1,9 @@
-$NetBSD: patch-modules_pipebackend_pipebackend.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: patch-modules_pipebackend_pipebackend.cc,v 1.2 2014/12/10 14:50:09 fhajny Exp $
---- modules/pipebackend/pipebackend.cc.orig 2013-05-09 15:20:34.000000000 +0000
+Resolve boost symbol ambiguity.
+--- modules/pipebackend/pipebackend.cc.orig 2014-10-30 10:18:22.000000000 +0000
+++ modules/pipebackend/pipebackend.cc
-@@ -91,7 +91,7 @@ PipeBackend::PipeBackend(const string &s
+@@ -92,7 +92,7 @@ PipeBackend::PipeBackend(const string &s
signal(SIGCHLD, SIG_IGN);
setArgPrefix("pipe"+suffix);
try {
@@ -10,4 +11,4 @@ $NetBSD: patch-modules_pipebackend_pipebackend.cc,v 1.1 2013/05/09 20:06:53 joer
+ d_coproc=boost::shared_ptr<CoWrapper>(new CoWrapper(getArg("command"), getArgAsNum("timeout")));
d_regex=getArg("regex").empty() ? 0 : new Regex(getArg("regex"));
d_regexstr=getArg("regex");
- }
+ d_abiVersion = ::arg().asNum("pipebackend-abi-version");
diff --git a/net/powerdns/patches/patch-modules_pipebackend_pipebackend.hh b/net/powerdns/patches/patch-modules_pipebackend_pipebackend.hh
index 3729122cfb4..970254250ec 100644
--- a/net/powerdns/patches/patch-modules_pipebackend_pipebackend.hh
+++ b/net/powerdns/patches/patch-modules_pipebackend_pipebackend.hh
@@ -1,8 +1,9 @@
-$NetBSD: patch-modules_pipebackend_pipebackend.hh,v 1.1 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: patch-modules_pipebackend_pipebackend.hh,v 1.2 2014/12/10 14:50:09 fhajny Exp $
---- modules/pipebackend/pipebackend.hh.orig 2013-05-09 15:20:14.000000000 +0000
+Resolve boost symbol ambiguity.
+--- modules/pipebackend/pipebackend.hh.orig 2014-06-03 07:42:02.000000000 +0000
+++ modules/pipebackend/pipebackend.hh
-@@ -68,7 +68,7 @@ public:
+@@ -44,7 +44,7 @@ public:
static DNSBackend *maker();
private:
diff --git a/net/powerdns/patches/patch-pdns_aes_brg_endian.h b/net/powerdns/patches/patch-pdns_aes_brg_endian.h
deleted file mode 100644
index 2008f782aaa..00000000000
--- a/net/powerdns/patches/patch-pdns_aes_brg_endian.h
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-pdns_aes_brg_endian.h,v 1.1 2012/05/20 19:37:49 marino Exp $
-
---- pdns/aes/brg_endian.h.orig 2012-01-05 13:54:50.000000000 +0000
-+++ pdns/aes/brg_endian.h
-@@ -34,7 +34,8 @@
- /* Include files where endian defines and byteswap functions may reside */
- #if defined( __sun )
- # include <sys/isa_defs.h>
--#elif defined( __FreeBSD__ ) || defined( __OpenBSD__ ) || defined( __NetBSD__ )
-+#elif defined( __FreeBSD__ ) || defined( __OpenBSD__ ) \
-+ || defined( __NetBSD__ ) || defined(__DragonFly__)
- # include <sys/endian.h>
- #elif defined( BSD ) && ( BSD >= 199103 ) || defined( __APPLE__ ) || \
- defined( __CYGWIN32__ ) || defined( __DJGPP__ ) || defined( __osf__ )
diff --git a/net/powerdns/patches/patch-pdns_backends_bind_bindbackend2.cc b/net/powerdns/patches/patch-pdns_backends_bind_bindbackend2.cc
deleted file mode 100644
index 032014353b8..00000000000
--- a/net/powerdns/patches/patch-pdns_backends_bind_bindbackend2.cc
+++ /dev/null
@@ -1,248 +0,0 @@
-$NetBSD: patch-pdns_backends_bind_bindbackend2.cc,v 1.2 2013/05/09 20:06:53 joerg Exp $
-
-Limit inclusion of boost headers to only those necessary to avoid conflicting
-types errors on Solaris.
-
---- pdns/backends/bind/bindbackend2.cc.orig 2012-01-05 13:54:51.000000000 +0000
-+++ pdns/backends/bind/bindbackend2.cc
-@@ -26,8 +26,8 @@
- #include <fstream>
- #include <fcntl.h>
- #include <sstream>
--#include <boost/bind.hpp>
--#include <boost/algorithm/string.hpp>
-+#include <boost/algorithm/string/erase.hpp>
-+#include <boost/algorithm/string/trim.hpp>
- using namespace std;
-
- #include "dns.hh"
-@@ -51,15 +51,15 @@ using namespace std;
- */
-
- // this map contains BB2DomainInfo structs, each of which contains a *pointer* to domain data
--shared_ptr<Bind2Backend::State> Bind2Backend::s_state;
-+boost::shared_ptr<Bind2Backend::State> Bind2Backend::s_state;
- pthread_mutex_t Bind2Backend::s_state_swap_lock=PTHREAD_MUTEX_INITIALIZER;
-
-
- /* the model is that all our state hides in s_state. This State instance consists of the id_zone_map, which contains all our zone information, indexed by id.
- Then there is the name_id_map, which allows us to map a query to a zone id.
-
-- The s_state is never written to, and it is a reference counted shared_ptr. Any function which needs to access the state
-- should do so by making a shared_ptr copy of it, and do all its work on that copy.
-+ The s_state is never written to, and it is a reference counted boost::shared_ptr. Any function which needs to access the state
-+ should do so by making a boost::shared_ptr copy of it, and do all its work on that copy.
-
- When I said s_state is never written to, I lied. No elements are ever added to it, or removed from it.
- Its values however may be changed, but not the keys.
-@@ -67,8 +67,8 @@ pthread_mutex_t Bind2Backend::s_state_sw
- When it is necessary to change the State, a deep copy is made, which is changed. Afterwards,
- the s_state pointer is made to point to the new State.
-
-- Anybody who is currently accessing the original holds a reference counted handle (shared_ptr) to it, which means it will stay around
-- To save memory, we hold the records as a shared_ptr as well.
-+ Anybody who is currently accessing the original holds a reference counted handle (boost::shared_ptr) to it, which means it will stay around
-+ To save memory, we hold the records as a boost::shared_ptr as well.
-
- Changes made to s_state directly should take the s_state_lock, so as to prevent writing to a stale copy.
- */
-@@ -140,9 +140,9 @@ void Bind2Backend::setFresh(uint32_t dom
- s_state->id_zone_map[domain_id].d_lastcheck=time(0);
- }
-
--shared_ptr<Bind2Backend::State> Bind2Backend::getState()
-+boost::shared_ptr<Bind2Backend::State> Bind2Backend::getState()
- {
-- shared_ptr<State> ret;
-+ boost::shared_ptr<State> ret;
- {
- Lock l(&s_state_swap_lock);
- ret = s_state; // is only read from
-@@ -153,7 +153,7 @@ shared_ptr<Bind2Backend::State> Bind2Bac
-
- bool Bind2Backend::startTransaction(const string &qname, int id)
- {
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
-
- const BB2DomainInfo &bbd=state->id_zone_map[d_transaction_id=id];
-
-@@ -177,7 +177,7 @@ bool Bind2Backend::commitTransaction()
- delete d_of;
- d_of=0;
-
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
-
- // this might fail if s_state was cycled during the AXFR
- if(rename(d_transaction_tmpname.c_str(), state->id_zone_map[d_transaction_id].d_filename.c_str())<0)
-@@ -206,7 +206,7 @@ bool Bind2Backend::feedRecord(const DNSR
- {
- string qname=r.qname;
-
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
- string domain = state->id_zone_map[d_transaction_id].d_name;
-
- if(!stripDomainSuffix(&qname,domain))
-@@ -239,7 +239,7 @@ bool Bind2Backend::feedRecord(const DNSR
- void Bind2Backend::getUpdatedMasters(vector<DomainInfo> *changedDomains)
- {
- SOAData soadata;
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
-
- for(id_zone_map_t::const_iterator i = state->id_zone_map.begin(); i != state->id_zone_map.end() ; ++i) {
- if(!i->second.d_masters.empty())
-@@ -268,7 +268,7 @@ void Bind2Backend::getUpdatedMasters(vec
-
- void Bind2Backend::getUnfreshSlaveInfos(vector<DomainInfo> *unfreshDomains)
- {
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
- for(id_zone_map_t::const_iterator i = state->id_zone_map.begin(); i != state->id_zone_map.end() ; ++i) {
- if(i->second.d_masters.empty())
- continue;
-@@ -296,7 +296,7 @@ void Bind2Backend::getUnfreshSlaveInfos(
-
- bool Bind2Backend::getDomainInfo(const string &domain, DomainInfo &di)
- {
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
- for(id_zone_map_t::const_iterator i = state->id_zone_map.begin(); i != state->id_zone_map.end() ; ++i) {
- if(i->second.d_name==domain) {
- di.id=i->first;
-@@ -341,7 +341,7 @@ static string canonic(string ret)
- /** THIS IS AN INTERNAL FUNCTION! It does moadnsparser prio impedence matching
- This function adds a record to a domain with a certain id.
- Much of the complication is due to the efforts to benefit from std::string reference counting copy on write semantics */
--void Bind2Backend::insert(shared_ptr<State> stage, int id, const string &qnameu, const QType &qtype, const string &content, int ttl=300, int prio=25)
-+void Bind2Backend::insert(boost::shared_ptr<State> stage, int id, const string &qnameu, const QType &qtype, const string &content, int ttl=300, int prio=25)
- {
- BB2DomainInfo bb2 = stage->id_zone_map[id];
- Bind2DNSRecord bdr;
-@@ -393,7 +393,7 @@ void Bind2Backend::reload()
-
- string Bind2Backend::DLReloadNowHandler(const vector<string>&parts, Utility::pid_t ppid)
- {
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
- ostringstream ret;
-
- for(vector<string>::const_iterator i=parts.begin()+1;i<parts.end();++i) {
-@@ -415,7 +415,7 @@ string Bind2Backend::DLReloadNowHandler(
- string Bind2Backend::DLDomStatusHandler(const vector<string>&parts, Utility::pid_t ppid)
- {
- ostringstream ret;
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
-
- if(parts.size() > 1) {
- for(vector<string>::const_iterator i=parts.begin()+1;i<parts.end();++i) {
-@@ -440,7 +440,7 @@ string Bind2Backend::DLDomStatusHandler(
-
- string Bind2Backend::DLListRejectsHandler(const vector<string>&parts, Utility::pid_t ppid)
- {
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
-
- ostringstream ret;
- for(id_zone_map_t::iterator j = state->id_zone_map.begin(); j != state->id_zone_map.end(); ++j)
-@@ -464,7 +464,7 @@ Bind2Backend::Bind2Backend(const string
- return;
- }
- s_first=0;
-- s_state = shared_ptr<State>(new State);
-+ s_state = boost::shared_ptr<State>(new State);
- loadConfig();
-
- extern DynListener *dl;
-@@ -504,7 +504,7 @@ void Bind2Backend::loadConfig(string* st
-
- static int domain_id=1;
-
-- shared_ptr<State> staging = shared_ptr<State>(new State);
-+ boost::shared_ptr<State> staging = boost::shared_ptr<State>(new State);
-
- if(!getArg("config").empty()) {
- BindParser BP;
-@@ -555,7 +555,7 @@ void Bind2Backend::loadConfig(string* st
- bbd->d_id=domain_id++;
-
- // this isn't necessary, we do this on the actual load
-- // bbd->d_records=shared_ptr<vector<Bind2DNSRecord> > (new vector<Bind2DNSRecord>);
-+ // bbd->d_records=boost::shared_ptr<vector<Bind2DNSRecord> > (new vector<Bind2DNSRecord>);
-
- bbd->setCheckInterval(getArgAsNum("check-interval"));
- bbd->d_lastnotified=0;
-@@ -578,7 +578,7 @@ void Bind2Backend::loadConfig(string* st
-
- try {
- // we need to allocate a new vector so we don't kill the original, which is still in use!
-- bbd->d_records=shared_ptr<vector<Bind2DNSRecord> > (new vector<Bind2DNSRecord>);
-+ bbd->d_records=boost::shared_ptr<vector<Bind2DNSRecord> > (new vector<Bind2DNSRecord>);
-
- ZoneParserTNG zpt(i->filename, i->name, BP.getDirectory());
- DNSResourceRecord rr;
-@@ -681,7 +681,7 @@ void Bind2Backend::loadConfig(string* st
- void Bind2Backend::nukeZoneRecords(BB2DomainInfo *bbd)
- {
- bbd->d_loaded=0; // block further access
-- bbd->d_records = shared_ptr<vector<Bind2DNSRecord> > (new vector<Bind2DNSRecord>);
-+ bbd->d_records = boost::shared_ptr<vector<Bind2DNSRecord> > (new vector<Bind2DNSRecord>);
- }
-
-
-@@ -689,14 +689,14 @@ void Bind2Backend::queueReload(BB2Domain
- {
- Lock l(&s_state_lock);
-
-- shared_ptr<State> staging(new State);
-+ boost::shared_ptr<State> staging(new State);
-
- // we reload *now* for the time being
-
- try {
- nukeZoneRecords(bbd); // ? do we need this?
- staging->id_zone_map[bbd->d_id]=s_state->id_zone_map[bbd->d_id];
-- staging->id_zone_map[bbd->d_id].d_records=shared_ptr<vector<Bind2DNSRecord> > (new vector<Bind2DNSRecord>); // nuke it
-+ staging->id_zone_map[bbd->d_id].d_records=boost::shared_ptr<vector<Bind2DNSRecord> > (new vector<Bind2DNSRecord>); // nuke it
-
- ZoneParserTNG zpt(bbd->d_filename, bbd->d_name, s_binddirectory);
- DNSResourceRecord rr;
-@@ -740,7 +740,7 @@ void Bind2Backend::lookup(const QType &q
- if(mustlog)
- L<<Logger::Warning<<"Lookup for '"<<qtype.getName()<<"' of '"<<domain<<"'"<<endl;
-
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
-
- name_id_map_t::const_iterator iditer;
- while((iditer=state->name_id_map.find(domain)) == state->name_id_map.end() && chopOff(domain))
-@@ -873,7 +873,7 @@ bool Bind2Backend::handle::get_normal(DN
-
- bool Bind2Backend::list(const string &target, int id)
- {
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
- if(!state->id_zone_map.count(id))
- return false;
-
-@@ -908,7 +908,7 @@ bool Bind2Backend::handle::get_list(DNSR
-
- bool Bind2Backend::isMaster(const string &name, const string &ip)
- {
-- shared_ptr<State> state = getState();
-+ boost::shared_ptr<State> state = getState();
- for(id_zone_map_t::iterator j=state->id_zone_map.begin();j!=state->id_zone_map.end();++j) {
- if(j->second.d_name==name) {
- for(vector<string>::const_iterator iter = j->second.d_masters.begin(); iter != j->second.d_masters.end(); ++iter)
-@@ -992,7 +992,7 @@ bool Bind2Backend::createSlaveDomain(con
-
- BB2DomainInfo &bbd = s_state->id_zone_map[newid];
-
-- bbd.d_records = shared_ptr<vector<Bind2DNSRecord> >(new vector<Bind2DNSRecord>);
-+ bbd.d_records = boost::shared_ptr<vector<Bind2DNSRecord> >(new vector<Bind2DNSRecord>);
- bbd.d_name = domain;
- bbd.setCheckInterval(getArgAsNum("check-interval"));
- bbd.d_masters.push_back(ip);
diff --git a/net/powerdns/patches/patch-pdns_backends_bind_bindbackend2.hh b/net/powerdns/patches/patch-pdns_backends_bind_bindbackend2.hh
deleted file mode 100644
index 576d6eedd8d..00000000000
--- a/net/powerdns/patches/patch-pdns_backends_bind_bindbackend2.hh
+++ /dev/null
@@ -1,44 +0,0 @@
-$NetBSD: patch-pdns_backends_bind_bindbackend2.hh,v 1.1 2013/05/09 20:06:53 joerg Exp $
-
---- pdns/backends/bind/bindbackend2.hh.orig 2013-05-09 15:23:01.000000000 +0000
-+++ pdns/backends/bind/bindbackend2.hh
-@@ -90,7 +90,7 @@ public:
- //! configure how often this domain should be checked for changes (on disk)
- void setCheckInterval(time_t seconds);
-
-- shared_ptr<vector<Bind2DNSRecord> > d_records; //!< the actual records belonging to this domain
-+ boost::shared_ptr<vector<Bind2DNSRecord> > d_records; //!< the actual records belonging to this domain
- private:
- time_t getCtime();
- time_t d_checkinterval;
-@@ -130,7 +130,7 @@ public:
- id_zone_map_t id_zone_map;
- };
-
-- static void insert(shared_ptr<State> stage, int id, const string &qname, const QType &qtype, const string &content, int ttl, int prio);
-+ static void insert(boost::shared_ptr<State> stage, int id, const string &qname, const QType &qtype, const string &content, int ttl, int prio);
- void rediscover(string *status=0);
-
- bool isMaster(const string &name, const string &ip);
-@@ -153,7 +153,7 @@ private:
-
- handle();
-
-- shared_ptr<vector<Bind2DNSRecord> > d_records;
-+ boost::shared_ptr<vector<Bind2DNSRecord> > d_records;
- vector<Bind2DNSRecord>::const_iterator d_iter, d_end_iter;
-
- vector<Bind2DNSRecord>::const_iterator d_qname_iter;
-@@ -176,10 +176,10 @@ private:
- };
-
-
-- static shared_ptr<State> s_state;
-+ static boost::shared_ptr<State> s_state;
- static pthread_mutex_t s_state_lock; //!< lock protecting ???
- static pthread_mutex_t s_state_swap_lock; //!< lock protecting ???
-- static shared_ptr<State> getState();
-+ static boost::shared_ptr<State> getState();
-
- static int s_first; //!< this is raised on construction to prevent multiple instances of us being generated
-
diff --git a/net/powerdns/patches/patch-pdns_botan18signers.cc b/net/powerdns/patches/patch-pdns_botan18signers.cc
new file mode 100644
index 00000000000..abec876b76f
--- /dev/null
+++ b/net/powerdns/patches/patch-pdns_botan18signers.cc
@@ -0,0 +1,43 @@
+$NetBSD: patch-pdns_botan18signers.cc,v 1.1 2014/12/10 14:50:09 fhajny Exp $
+
+Resolve boost symbol ambiguity.
+--- pdns/botan18signers.cc.orig 2013-04-26 19:54:34.000000000 +0000
++++ pdns/botan18signers.cc
+@@ -36,8 +36,8 @@ public:
+
+ private:
+ static EC_Domain_Params getECParams(unsigned int algorithm);
+- shared_ptr<ECDSA_PrivateKey> d_key;
+- shared_ptr<ECDSA_PublicKey> d_pubkey;
++ boost::shared_ptr<ECDSA_PrivateKey> d_key;
++ boost::shared_ptr<ECDSA_PublicKey> d_pubkey;
+ };
+
+ EC_Domain_Params ECDSADNSCryptoKeyEngine::getECParams(unsigned int algorithm)
+@@ -56,7 +56,7 @@ void ECDSADNSCryptoKeyEngine::create(uns
+ if(bits != 256 && bits != 384) {
+ throw runtime_error("Unknown key length of "+lexical_cast<string>(bits)+" bits requested from ECDSA class");
+ }
+- d_key = shared_ptr<ECDSA_PrivateKey>(new ECDSA_PrivateKey(rng, getECParams((bits == 256) ? 13 : 14)));
++ d_key = boost::shared_ptr<ECDSA_PrivateKey>(new ECDSA_PrivateKey(rng, getECParams((bits == 256) ? 13 : 14)));
+
+ // PKCS8_Encoder* pk8e= d_key->pkcs8_encoder();
+ // MemoryVector<byte> getbits=pk8e->key_bits();
+@@ -113,7 +113,7 @@ void ECDSADNSCryptoKeyEngine::fromISCMap
+
+ EC_Domain_Params params=getECParams(drc.d_algorithm);
+
+- d_key=shared_ptr<ECDSA_PrivateKey>(new ECDSA_PrivateKey);
++ d_key=boost::shared_ptr<ECDSA_PrivateKey>(new ECDSA_PrivateKey);
+ AutoSeeded_RNG rng;
+
+ SecureVector<byte> octstr_secret = BigInt::encode_1363(bigint, getBits()/8);
+@@ -168,7 +168,7 @@ void ECDSADNSCryptoKeyEngine::fromPublic
+ GFpElement gfpx(params.get_curve().get_ptr_mod(), x);
+ GFpElement gfpy(params.get_curve().get_ptr_mod(), y);
+ PointGFp point(params.get_curve(), gfpx,gfpy);
+- d_pubkey = shared_ptr<ECDSA_PublicKey>(new ECDSA_PublicKey(params, point));
++ d_pubkey = boost::shared_ptr<ECDSA_PublicKey>(new ECDSA_PublicKey(params, point));
+ d_key.reset();
+ }
+
diff --git a/net/powerdns/patches/patch-pdns_dns.hh b/net/powerdns/patches/patch-pdns_dns.hh
index 5327cd49490..6b819b72bb8 100644
--- a/net/powerdns/patches/patch-pdns_dns.hh
+++ b/net/powerdns/patches/patch-pdns_dns.hh
@@ -1,13 +1,14 @@
-$NetBSD: patch-pdns_dns.hh,v 1.1 2012/05/20 19:37:49 marino Exp $
+$NetBSD: patch-pdns_dns.hh,v 1.2 2014/12/10 14:50:09 fhajny Exp $
---- pdns/dns.hh.orig 2012-05-20 19:14:49.778625000 +0000
+Add DragonFly support.
+--- pdns/dns.hh.orig 2014-10-30 10:18:22.000000000 +0000
+++ pdns/dns.hh
-@@ -173,7 +173,7 @@ enum {
- #ifdef WIN32
- #define BYTE_ORDER 1
- #define LITTLE_ENDIAN 1
--#elif __FreeBSD__ || __APPLE__
-+#elif defined(__FreeBSD__) || defined(__APPLE__) || defined(__DragonFly__)
+@@ -207,7 +207,7 @@ enum {
+ ns_t_any = 255, /* Wildcard match. */
+ };
+
+-#if __FreeBSD__ || __APPLE__ || __OpenBSD__ || defined(__FreeBSD_kernel__)
++#if __FreeBSD__ || __APPLE__ || __OpenBSD__ || __DragonFly__ || defined(__FreeBSD_kernel__)
#include <machine/endian.h>
- #elif __linux__
+ #elif __linux__ || __GNU__
# include <endian.h>
diff --git a/net/powerdns/patches/patch-pdns_dnspacket.cc b/net/powerdns/patches/patch-pdns_dnspacket.cc
index eada0abfe91..dbceb1bf85c 100644
--- a/net/powerdns/patches/patch-pdns_dnspacket.cc
+++ b/net/powerdns/patches/patch-pdns_dnspacket.cc
@@ -1,13 +1,14 @@
-$NetBSD: patch-pdns_dnspacket.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: patch-pdns_dnspacket.cc,v 1.2 2014/12/10 14:50:09 fhajny Exp $
---- pdns/dnspacket.cc.orig 2013-05-09 15:25:33.000000000 +0000
+Resolve boost symbol ambiguity.
+--- pdns/dnspacket.cc.orig 2014-10-30 10:18:22.000000000 +0000
+++ pdns/dnspacket.cc
-@@ -335,7 +335,7 @@ void DNSPacket::wrapup(void)
- }
- if(pos->content.empty()) // empty contents confuse the MOADNS setup
- pos->content=".";
-- shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(pos->qtype.getCode(), 1, pos->content));
-+ boost::shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(pos->qtype.getCode(), 1, pos->content));
- drc->toPacket(pw);
- }
- if(!opts.empty())
+@@ -312,7 +312,7 @@ void DNSPacket::wrapup()
+ pos->content=".";
+
+ pw.startRecord(pos->qname, pos->qtype.getCode(), pos->ttl, pos->qclass, (DNSPacketWriter::Place)pos->d_place);
+- shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(pos->qtype.getCode(), 1, pos->content));
++ boost::shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(pos->qtype.getCode(), 1, pos->content));
+ drc->toPacket(pw);
+ if(pw.size() + 20U > (d_tcp ? 65535 : getMaxReplyLen())) { // 20 = room for EDNS0
+ pw.rollback();
diff --git a/net/powerdns/patches/patch-pdns_dnsparser.cc b/net/powerdns/patches/patch-pdns_dnsparser.cc
index fa7fbe48b2b..7876541dec0 100644
--- a/net/powerdns/patches/patch-pdns_dnsparser.cc
+++ b/net/powerdns/patches/patch-pdns_dnsparser.cc
@@ -1,17 +1,18 @@
-$NetBSD: patch-pdns_dnsparser.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: patch-pdns_dnsparser.cc,v 1.2 2014/12/10 14:50:09 fhajny Exp $
---- pdns/dnsparser.cc.orig 2013-05-09 15:25:35.000000000 +0000
+Resolve boost symbol ambiguity.
+--- pdns/dnsparser.cc.orig 2014-08-29 14:33:20.000000000 +0000
+++ pdns/dnsparser.cc
-@@ -88,7 +88,7 @@ static const string EncodeDNSLabel(const
- return ret;
- }
+@@ -109,7 +109,7 @@ static const string EncodeDNSLabel(const
+ }
+
-shared_ptr<DNSRecordContent> DNSRecordContent::unserialize(const string& qname, uint16_t qtype, const string& serialized)
+boost::shared_ptr<DNSRecordContent> DNSRecordContent::unserialize(const string& qname, uint16_t qtype, const string& serialized)
{
dnsheader dnsheader;
memset(&dnsheader, 0, sizeof(dnsheader));
-@@ -122,7 +122,7 @@ shared_ptr<DNSRecordContent> DNSRecordCo
+@@ -143,7 +143,7 @@ shared_ptr<DNSRecordContent> DNSRecordCo
memcpy(&packet[pos], serialized.c_str(), serialized.size()); pos+=(uint16_t)serialized.size();
MOADNSParser mdp((char*)&*packet.begin(), (unsigned int)packet.size());
diff --git a/net/powerdns/patches/patch-pdns_dnsparser.hh b/net/powerdns/patches/patch-pdns_dnsparser.hh
index c477b30895e..969028280b4 100644
--- a/net/powerdns/patches/patch-pdns_dnsparser.hh
+++ b/net/powerdns/patches/patch-pdns_dnsparser.hh
@@ -1,8 +1,9 @@
-$NetBSD: patch-pdns_dnsparser.hh,v 1.1 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: patch-pdns_dnsparser.hh,v 1.2 2014/12/10 14:50:09 fhajny Exp $
---- pdns/dnsparser.hh.orig 2013-05-09 15:25:37.000000000 +0000
+Resolve boost symbol ambiguity.
+--- pdns/dnsparser.hh.orig 2014-04-25 09:42:01.000000000 +0000
+++ pdns/dnsparser.hh
-@@ -164,7 +164,7 @@ public:
+@@ -183,7 +183,7 @@ public:
return record;
}
@@ -11,7 +12,7 @@ $NetBSD: patch-pdns_dnsparser.hh,v 1.1 2013/05/09 20:06:53 joerg Exp $
void doRecordCheck(const struct DNSRecord&){}
-@@ -291,9 +291,9 @@ public:
+@@ -327,9 +327,9 @@ public:
//! All answers contained in this packet
answers_t d_answers;
diff --git a/net/powerdns/patches/patch-pdns_dnspbench.cc b/net/powerdns/patches/patch-pdns_dnspbench.cc
deleted file mode 100644
index 948c00feb2a..00000000000
--- a/net/powerdns/patches/patch-pdns_dnspbench.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-pdns_dnspbench.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
-
---- pdns/dnspbench.cc.orig 2013-05-09 15:25:39.000000000 +0000
-+++ pdns/dnspbench.cc
-@@ -85,7 +85,7 @@ try
- cerr<<"hexdump: "<<makeHexDump(record)<<"\n";
- // cerr<<"record: "<<record<<"\n";
-
-- shared_ptr<DNSRecordContent> regen=DNSRecordContent::unserialize(argv[1], type, record);
-+ boost::shared_ptr<DNSRecordContent> regen=DNSRecordContent::unserialize(argv[1], type, record);
- cerr<<"Out: "<<argv[1]<<" IN "<<argv[2]<<" "<<regen->getZoneRepresentation()<<endl;
- #endif
- }
diff --git a/net/powerdns/patches/patch-pdns_dnsscope.cc b/net/powerdns/patches/patch-pdns_dnsscope.cc
new file mode 100644
index 00000000000..c9ba522a955
--- /dev/null
+++ b/net/powerdns/patches/patch-pdns_dnsscope.cc
@@ -0,0 +1,16 @@
+$NetBSD: patch-pdns_dnsscope.cc,v 1.1 2014/12/10 14:50:09 fhajny Exp $
+
+IP_OFFMASK not defined on SunOS.
+--- pdns/dnsscope.cc.orig 2014-06-26 11:22:02.000000000 +0000
++++ pdns/dnsscope.cc
+@@ -16,6 +16,10 @@
+ #include "namespaces.hh"
+ #include <deque>
+
++#ifndef IP_OFFMASK
++# define IP_OFFMASK 0x1fff
++#endif
++
+ namespace po = boost::program_options;
+ po::variables_map g_vm;
+
diff --git a/net/powerdns/patches/patch-pdns_dynloader.cc b/net/powerdns/patches/patch-pdns_dynloader.cc
index 49522623386..09831d86bec 100644
--- a/net/powerdns/patches/patch-pdns_dynloader.cc
+++ b/net/powerdns/patches/patch-pdns_dynloader.cc
@@ -1,8 +1,9 @@
-$NetBSD: patch-pdns_dynloader.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: patch-pdns_dynloader.cc,v 1.2 2014/12/10 14:50:09 fhajny Exp $
---- pdns/dynloader.cc.orig 2013-05-09 15:25:44.000000000 +0000
+Resolve boost symbol ambiguity.
+--- pdns/dynloader.cc.orig 2014-04-29 11:02:00.000000000 +0000
+++ pdns/dynloader.cc
-@@ -95,9 +95,9 @@ int main(int argc, char **argv)
+@@ -103,9 +103,9 @@ int main(int argc, char **argv)
try {
string command=commands[0];
@@ -14,8 +15,8 @@ $NetBSD: patch-pdns_dynloader.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
else {
uint16_t port;
try {
-@@ -108,7 +108,7 @@ int main(int argc, char **argv)
- exit(99);
+@@ -116,7 +116,7 @@ int main(int argc, char **argv)
+ exit(99);
}
- D=shared_ptr<DynMessenger>(new DynMessenger(ComboAddress(::arg()["remote-address"], port), ::arg()["secret"]));
diff --git a/net/powerdns/patches/patch-pdns_dynmessenger.cc b/net/powerdns/patches/patch-pdns_dynmessenger.cc
deleted file mode 100644
index 55885b172b3..00000000000
--- a/net/powerdns/patches/patch-pdns_dynmessenger.cc
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-pdns_dynmessenger.cc,v 1.1 2011/11/23 23:32:17 joerg Exp $
-
---- pdns/dynmessenger.cc.orig 2011-11-23 15:51:02.000000000 +0000
-+++ pdns/dynmessenger.cc
-@@ -23,6 +23,7 @@
- #include <iostream>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <stdlib.h>
-
- DynMessenger::DynMessenger(const string &localdir, const string &fname)
- {
diff --git a/net/powerdns/patches/patch-pdns_ext_nedmalloc_malloc.c b/net/powerdns/patches/patch-pdns_ext_nedmalloc_malloc.c
deleted file mode 100644
index 729da5993ad..00000000000
--- a/net/powerdns/patches/patch-pdns_ext_nedmalloc_malloc.c
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-pdns_ext_nedmalloc_malloc.c,v 1.1 2012/05/20 19:37:49 marino Exp $
-
---- pdns/ext/nedmalloc/malloc.c.orig 2012-05-20 19:21:21.401620000 +0000
-+++ pdns/ext/nedmalloc/malloc.c
-@@ -1213,7 +1213,8 @@ int mspace_mallopt(int, int);
- #ifndef LACKS_UNISTD_H
- #include <unistd.h> /* for sbrk */
- #else /* LACKS_UNISTD_H */
--#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
-+#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__) \
-+ && !defined(__DragonFly__)
- extern void* sbrk(ptrdiff_t);
- #endif /* FreeBSD etc */
- #endif /* LACKS_UNISTD_H */
diff --git a/net/powerdns/patches/patch-pdns_htimer.cc b/net/powerdns/patches/patch-pdns_htimer.cc
index 5666d426d7d..11ae737d74d 100644
--- a/net/powerdns/patches/patch-pdns_htimer.cc
+++ b/net/powerdns/patches/patch-pdns_htimer.cc
@@ -1,8 +1,9 @@
-$NetBSD: patch-pdns_htimer.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: patch-pdns_htimer.cc,v 1.2 2014/12/10 14:50:09 fhajny Exp $
---- pdns/htimer.cc.orig 2013-05-09 15:25:46.000000000 +0000
+Resolve boost symbol ambiguity.
+--- pdns/htimer.cc.orig 2013-12-17 17:42:51.000000000 +0000
+++ pdns/htimer.cc
-@@ -132,7 +132,7 @@ int main()
+@@ -128,7 +128,7 @@ int main()
HTimerSentinel hts=htloop.getSentinel();
for(int i=0; i < 1000; ++i)
{
diff --git a/net/powerdns/patches/patch-pdns_nameserver.cc b/net/powerdns/patches/patch-pdns_nameserver.cc
deleted file mode 100644
index 2a70fe47cf2..00000000000
--- a/net/powerdns/patches/patch-pdns_nameserver.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-pdns_nameserver.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
-
---- pdns/nameserver.cc.orig 2013-05-09 15:25:50.000000000 +0000
-+++ pdns/nameserver.cc
-@@ -181,7 +181,7 @@ void UDPNameserver::send(DNSPacket *p)
- const char *buffer=p->getData();
- DLOG(L<<Logger::Notice<<"Sending a packet to "<< p->remote.toString() <<" ("<<p->len<<" octets)"<<endl);
- if(p->len > p->getMaxReplyLen()) {
-- shared_ptr<DNSPacket> sharedp(new DNSPacket(*p));
-+ boost::shared_ptr<DNSPacket> sharedp(new DNSPacket(*p));
- sharedp->truncate(p->getMaxReplyLen());
- buffer=sharedp->getData();
- if(sendto(sharedp->getSocket(),buffer,sharedp->len,0,(struct sockaddr *)(&sharedp->remote), sharedp->remote.getSocklen())<0)
diff --git a/net/powerdns/patches/patch-pdns_packethandler.cc b/net/powerdns/patches/patch-pdns_packethandler.cc
deleted file mode 100644
index 0c671d97cb3..00000000000
--- a/net/powerdns/patches/patch-pdns_packethandler.cc
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-pdns_packethandler.cc,v 1.1 2012/10/02 12:20:47 jperkin Exp $
-
-Limit inclusion of boost headers to only those necessary to avoid conflicting
-types errors on Solaris.
-
---- pdns/packethandler.cc.orig 2012-01-05 13:54:51.000000000 +0000
-+++ pdns/packethandler.cc 2012-10-02 10:36:35.971513178 +0000
-@@ -19,7 +19,7 @@
- #include "utility.hh"
- #include <string>
- #include <sys/types.h>
--#include <boost/algorithm/string.hpp>
-+#include <boost/algorithm/string/predicate.hpp>
- #include "dns.hh"
- #include "dnsbackend.hh"
- #include "ueberbackend.hh"
diff --git a/net/powerdns/patches/patch-pdns_pdns_recursor.cc b/net/powerdns/patches/patch-pdns_pdns_recursor.cc
index 14832a4a5a9..cd8d523762a 100644
--- a/net/powerdns/patches/patch-pdns_pdns_recursor.cc
+++ b/net/powerdns/patches/patch-pdns_pdns_recursor.cc
@@ -1,63 +1,103 @@
-$NetBSD: patch-pdns_pdns_recursor.cc,v 1.2 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: patch-pdns_pdns_recursor.cc,v 1.3 2014/12/10 14:50:09 fhajny Exp $
---- pdns/pdns_recursor.cc.orig 2012-01-05 13:54:51.000000000 +0000
+Resolve boost symbol ambiguity.
+--- pdns/pdns_recursor.cc.orig 2014-10-30 10:18:22.000000000 +0000
+++ pdns/pdns_recursor.cc
-@@ -67,10 +67,11 @@ StatBag S;
- FDMultiplexer* g_fdm;
- unsigned int g_maxTCPPerClient;
+@@ -80,9 +80,9 @@ uint64_t g_latencyStatSize;
bool g_logCommonErrors;
--shared_ptr<PowerDNSLua> g_pdl;
-+boost::shared_ptr<PowerDNSLua> g_pdl;
- using namespace boost;
+ bool g_anyToTcp;
+ uint16_t g_udpTruncationThreshold;
+-__thread shared_ptr<RecursorLua>* t_pdl;
++__thread boost::shared_ptr<RecursorLua>* t_pdl;
+ __thread RemoteKeeper* t_remotes;
+-__thread shared_ptr<Regex>* t_traceRegex;
++__thread boost::shared_ptr<Regex>* t_traceRegex;
--#ifdef __FreeBSD__ // see cvstrac ticket #26
-+// see cvstrac ticket #26
-+#if defined(__FreeBSD__) || defined(__DragonFly__)
- #include <pthread.h>
- #include <semaphore.h>
- #endif
-@@ -578,7 +579,7 @@ void startDoResolve(void *p)
- IpToU32(i->content, &ip);
- pw.xfr32BitInt(htonl(ip));
- } else {
-- shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(i->qtype.getCode(), i->qclass, i->content));
-+ boost::shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(i->qtype.getCode(), i->qclass, i->content));
- drc->toPacket(pw);
- }
- if(!dc->d_tcp && pw.size() > maxudpsize) {
-@@ -1553,7 +1554,7 @@ void parseAuthAndForwards()
- if(!rfp)
- throw AhuException("Error opening forward-zones-file '"+::arg()["forward-zones-file"]+"': "+stringerror());
+ RecursorControlChannel s_rcc; // only active in thread 0
-- shared_ptr<FILE> fp=shared_ptr<FILE>(rfp, fclose);
-+ boost::shared_ptr<FILE> fp=boost::shared_ptr<FILE>(rfp, fclose);
+@@ -152,7 +152,7 @@ struct DNSComboWriter {
+ ComboAddress d_remote;
+ bool d_tcp;
+ int d_socket;
+- shared_ptr<TCPConnection> d_tcpConnection;
++ boost::shared_ptr<TCPConnection> d_tcpConnection;
+ };
+
+
+@@ -606,7 +606,7 @@ void startDoResolve(void *p)
+ IpToU32(i->content, &ip);
+ pw.xfr32BitInt(htonl(ip));
+ } else {
+- shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(i->qtype.getCode(), i->qclass, i->content));
++ boost::shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(i->qtype.getCode(), i->qclass, i->content));
+ drc->toPacket(pw);
+ }
+ if(pw.size() > maxanswersize) {
+@@ -748,7 +748,7 @@ void makeControlChannelSocket(int proces
+
+ void handleRunningTCPQuestion(int fd, FDMultiplexer::funcparam_t& var)
+ {
+- shared_ptr<TCPConnection> conn=any_cast<shared_ptr<TCPConnection> >(var);
++ boost::shared_ptr<TCPConnection> conn=any_cast<boost::shared_ptr<TCPConnection> >(var);
+
+ if(conn->state==TCPConnection::BYTE0) {
+ int bytes=recv(conn->getFD(), conn->data, 2, 0);
+@@ -852,7 +852,7 @@ void handleNewTCPQuestion(int fd, FDMult
+ }
- char line[1024];
- int linenum=0;
-@@ -1630,7 +1631,7 @@ string doReloadLuaScript(vector<string>:
- try {
- if(begin==end) {
- if(!fname.empty())
-- g_pdl = shared_ptr<PowerDNSLua>(new PowerDNSLua(fname));
-+ g_pdl = boost::shared_ptr<PowerDNSLua>(new PowerDNSLua(fname));
- else
- throw runtime_error("Asked to reload lua scripts, but no name passed and no default ('lua-dns-script') defined");
+ Utility::setNonBlocking(newsock);
+- shared_ptr<TCPConnection> tc(new TCPConnection(newsock, addr));
++ boost::shared_ptr<TCPConnection> tc(new TCPConnection(newsock, addr));
+ tc->state=TCPConnection::BYTE0;
+
+ t_fdm->addReadFD(tc->getFD(), handleRunningTCPQuestion, tc);
+@@ -1582,7 +1582,7 @@ string* doReloadLuaScript()
+ return new string("unloaded\n");
}
-@@ -1642,7 +1643,7 @@ string doReloadLuaScript(vector<string>:
- return "unloaded current lua script\n";
- }
- else {
-- g_pdl = shared_ptr<PowerDNSLua>(new PowerDNSLua(fname));
-+ g_pdl = boost::shared_ptr<PowerDNSLua>(new PowerDNSLua(fname));
- ::arg().set("lua-dns-script")=fname;
- }
+ else {
+- *t_pdl = shared_ptr<RecursorLua>(new RecursorLua(fname));
++ *t_pdl = boost::shared_ptr<RecursorLua>(new RecursorLua(fname));
}
-@@ -1766,7 +1767,7 @@ int serviceMain(int argc, char*argv[])
-
+ }
+ catch(std::exception& e) {
+@@ -1610,7 +1610,7 @@ try
+ return new string("unset\n");
+ }
+ else {
+- (*t_traceRegex) = shared_ptr<Regex>(new Regex(newRegex));
++ (*t_traceRegex) = boost::shared_ptr<Regex>(new Regex(newRegex));
+ return new string("ok\n");
+ }
+ }
+@@ -1939,11 +1939,11 @@ try
+
+ L<<Logger::Warning<<"Done priming cache with root hints"<<endl;
+
+- t_pdl = new shared_ptr<RecursorLua>();
++ t_pdl = new boost::shared_ptr<RecursorLua>();
+
try {
if(!::arg()["lua-dns-script"].empty()) {
-- g_pdl = shared_ptr<PowerDNSLua>(new PowerDNSLua(::arg()["lua-dns-script"]));
-+ g_pdl = boost::shared_ptr<PowerDNSLua>(new PowerDNSLua(::arg()["lua-dns-script"]));
+- *t_pdl = shared_ptr<RecursorLua>(new RecursorLua(::arg()["lua-dns-script"]));
++ *t_pdl = boost::shared_ptr<RecursorLua>(new RecursorLua(::arg()["lua-dns-script"]));
L<<Logger::Warning<<"Loaded 'lua' script from '"<<::arg()["lua-dns-script"]<<"'"<<endl;
}
+@@ -1953,7 +1953,7 @@ try
+ exit(99);
+ }
+
+- t_traceRegex = new shared_ptr<Regex>();
++ t_traceRegex = new boost::shared_ptr<Regex>();
+
+
+ t_remotes = new RemoteKeeper();
+@@ -2011,7 +2011,7 @@ try
+ expired_t expired=t_fdm->getTimeouts(g_now);
+
+ for(expired_t::iterator i=expired.begin() ; i != expired.end(); ++i) {
+- shared_ptr<TCPConnection> conn=any_cast<shared_ptr<TCPConnection> >(i->second);
++ boost::shared_ptr<TCPConnection> conn=any_cast<boost::shared_ptr<TCPConnection> >(i->second);
+ if(g_logCommonErrors)
+ L<<Logger::Warning<<"Timeout from remote TCP client "<< conn->d_remote.toString() <<endl;
+ t_fdm->removeReadFD(i->first);
diff --git a/net/powerdns/patches/patch-pdns_receiver.cc b/net/powerdns/patches/patch-pdns_receiver.cc
index 4ffe24b6576..97221acaa89 100644
--- a/net/powerdns/patches/patch-pdns_receiver.cc
+++ b/net/powerdns/patches/patch-pdns_receiver.cc
@@ -1,11 +1,11 @@
-$NetBSD: patch-pdns_receiver.cc,v 1.1 2012/10/02 12:20:47 jperkin Exp $
+$NetBSD: patch-pdns_receiver.cc,v 1.2 2014/12/10 14:50:09 fhajny Exp $
Limit inclusion of boost headers to only those necessary to avoid conflicting
types errors on Solaris.
---- pdns/receiver.cc.orig 2012-01-05 13:54:51.000000000 +0000
-+++ pdns/receiver.cc 2012-10-02 10:37:52.894235670 +0000
-@@ -39,7 +39,7 @@
+--- pdns/receiver.cc.orig 2014-09-02 08:02:05.000000000 +0000
++++ pdns/receiver.cc
+@@ -42,7 +42,7 @@
#include <sys/mman.h>
#include <fcntl.h>
#include <fstream>
diff --git a/net/powerdns/patches/patch-pdns_recursor__cache.cc b/net/powerdns/patches/patch-pdns_recursor__cache.cc
index 20248355c22..39609656583 100644
--- a/net/powerdns/patches/patch-pdns_recursor__cache.cc
+++ b/net/powerdns/patches/patch-pdns_recursor__cache.cc
@@ -1,8 +1,9 @@
-$NetBSD: patch-pdns_recursor__cache.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: patch-pdns_recursor__cache.cc,v 1.2 2014/12/10 14:50:09 fhajny Exp $
---- pdns/recursor_cache.cc.orig 2013-05-09 15:25:53.000000000 +0000
+Resolve boost symbol ambiguity.
+--- pdns/recursor_cache.cc.orig 2014-10-30 10:18:22.000000000 +0000
+++ pdns/recursor_cache.cc
-@@ -74,7 +74,7 @@ DNSResourceRecord String2DNSRR(const str
+@@ -53,7 +53,7 @@ DNSResourceRecord String2DNSRR(const str
rr.content=".";
}
else {
@@ -11,7 +12,7 @@ $NetBSD: patch-pdns_recursor__cache.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
rr.content=regen->getZoneRepresentation();
}
rr.content.reserve(0);
-@@ -99,7 +99,7 @@ string DNSRR2String(const DNSResourceRec
+@@ -79,7 +79,7 @@ string DNSRR2String(const DNSResourceRec
return simpleCompress(rr.content, rr.qname);
else {
string ret;
diff --git a/net/powerdns/patches/patch-pdns_resolver.cc b/net/powerdns/patches/patch-pdns_resolver.cc
index d49d31dd865..721a9f5a1bc 100644
--- a/net/powerdns/patches/patch-pdns_resolver.cc
+++ b/net/powerdns/patches/patch-pdns_resolver.cc
@@ -1,11 +1,12 @@
-$NetBSD: patch-pdns_resolver.cc,v 1.2 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: patch-pdns_resolver.cc,v 1.3 2014/12/10 14:50:09 fhajny Exp $
Limit inclusion of boost headers to only those necessary to avoid conflicting
types errors on Solaris.
+Resolve boost symbol ambiguity.
---- pdns/resolver.cc.orig 2012-01-05 13:54:51.000000000 +0000
+--- pdns/resolver.cc.orig 2014-10-30 10:18:22.000000000 +0000
+++ pdns/resolver.cc
-@@ -29,7 +29,7 @@
+@@ -33,7 +33,7 @@
#include <cstring>
#include <string>
#include <vector>
@@ -14,25 +15,36 @@ types errors on Solaris.
#include "dns.hh"
#include "qtype.hh"
#include "tcpreceiver.hh"
-@@ -183,7 +183,7 @@ bool Resolver::tryGetSOASerial(string* d
- if(mdp.d_qtype != QType::SOA || mdp.d_answers.begin()->first.d_type != QType::SOA)
- throw ResolverException("Query to '" + fromaddr.toString() + "' for SOA of '" + *domain + "' returned wrong record type");
-
-- shared_ptr<SOARecordContent> rrc=boost::dynamic_pointer_cast<SOARecordContent>(mdp.d_answers.begin()->first.d_content);
-+ boost::shared_ptr<SOARecordContent> rrc=boost::dynamic_pointer_cast<SOARecordContent>(mdp.d_answers.begin()->first.d_content);
-
- *theirSerial=rrc->d_st.serial;
-
-@@ -383,10 +383,10 @@ int Resolver::axfrChunk(Resolver::res_t
-
- Resolver::res_t Resolver::result()
- {
-- shared_ptr<MOADNSParser> mdp;
-+ boost::shared_ptr<MOADNSParser> mdp;
-
+@@ -286,12 +286,12 @@ bool Resolver::tryGetSOASerial(string* d
+ bool gotSOA=false;
+ BOOST_FOREACH(const MOADNSParser::answers_t::value_type& drc, mdp.d_answers) {
+ if(drc.first.d_type == QType::SOA) {
+- shared_ptr<SOARecordContent> src=boost::dynamic_pointer_cast<SOARecordContent>(drc.first.d_content);
++ boost::shared_ptr<SOARecordContent> src=boost::dynamic_pointer_cast<SOARecordContent>(drc.first.d_content);
+ *theirSerial=src->d_st.serial;
+ gotSOA = true;
+ }
+ if(drc.first.d_type == QType::RRSIG) {
+- shared_ptr<RRSIGRecordContent> rrc=boost::dynamic_pointer_cast<RRSIGRecordContent>(drc.first.d_content);
++ boost::shared_ptr<RRSIGRecordContent> rrc=boost::dynamic_pointer_cast<RRSIGRecordContent>(drc.first.d_content);
+ if(rrc->d_type == QType::SOA) {
+ *theirInception= std::max(*theirInception, rrc->d_siginception);
+ *theirExpire = std::max(*theirExpire, rrc->d_sigexpire);
+@@ -396,7 +396,7 @@ AXFRRetriever::AXFRRetriever(const Combo
+ d_sock = -1;
try {
-- mdp=shared_ptr<MOADNSParser>(new MOADNSParser((char*)d_buf, d_len));
-+ mdp=boost::shared_ptr<MOADNSParser>(new MOADNSParser((char*)d_buf, d_len));
- }
- catch(...) {
- throw ResolverException("resolver: unable to parse packet of "+itoa(d_len)+" bytes");
+ d_sock = makeQuerySocket(local, false); // make a TCP socket
+- d_buf = shared_array<char>(new char[65536]);
++ d_buf = boost::shared_array<char>(new char[65536]);
+ d_remote = remote; // mostly for error reporting
+ this->connect();
+ d_soacount = 0;
+@@ -490,7 +490,7 @@ int AXFRRetriever::getChunk(Resolver::re
+ checkTSIG = true;
+
+ if(answer.first.d_type == QType::TSIG) {
+- shared_ptr<TSIGRecordContent> trc = boost::dynamic_pointer_cast<TSIGRecordContent>(answer.first.d_content);
++ boost::shared_ptr<TSIGRecordContent> trc = boost::dynamic_pointer_cast<TSIGRecordContent>(answer.first.d_content);
+ theirMac = trc->d_mac;
+ d_trc.d_time = trc->d_time;
+ checkTSIG = true;
diff --git a/net/powerdns/patches/patch-pdns_tcpreceiver.cc b/net/powerdns/patches/patch-pdns_tcpreceiver.cc
index faf3f1b93ee..af6ce474be3 100644
--- a/net/powerdns/patches/patch-pdns_tcpreceiver.cc
+++ b/net/powerdns/patches/patch-pdns_tcpreceiver.cc
@@ -1,17 +1,18 @@
-$NetBSD: patch-pdns_tcpreceiver.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
+$NetBSD: patch-pdns_tcpreceiver.cc,v 1.2 2014/12/10 14:50:09 fhajny Exp $
---- pdns/tcpreceiver.cc.orig 2013-05-09 15:25:58.000000000 +0000
+Resolve boost symbol ambiguity.
+--- pdns/tcpreceiver.cc.orig 2014-10-21 11:31:14.000000000 +0000
+++ pdns/tcpreceiver.cc
-@@ -170,7 +170,7 @@ void connectWithTimeout(int fd, struct s
+@@ -173,7 +173,7 @@ void connectWithTimeout(int fd, struct s
;
}
-void TCPNameserver::sendPacket(shared_ptr<DNSPacket> p, int outsock)
+void TCPNameserver::sendPacket(boost::shared_ptr<DNSPacket> p, int outsock)
{
- const char *buf=p->getData();
- uint16_t len=htons(p->len);
-@@ -188,7 +188,7 @@ catch(NetworkError& ae) {
+
+ /* Query statistics */
+@@ -203,7 +203,7 @@ catch(NetworkError& ae) {
throw NetworkError("Error reading DNS data from TCP client "+remote.toString()+": "+ae.what());
}
@@ -19,8 +20,8 @@ $NetBSD: patch-pdns_tcpreceiver.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
+static void proxyQuestion(boost::shared_ptr<DNSPacket> packet)
{
int sock=socket(AF_INET, SOCK_STREAM, 0);
- if(sock < 0)
-@@ -232,7 +232,7 @@ static void proxyQuestion(shared_ptr<DNS
+
+@@ -247,7 +247,7 @@ static void proxyQuestion(shared_ptr<DNS
void *TCPNameserver::doConnection(void *data)
{
@@ -29,8 +30,8 @@ $NetBSD: patch-pdns_tcpreceiver.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
// Fix gcc-4.0 error (on AMD64)
int fd=(int)(long)data; // gotta love C (generates a harmless warning on opteron)
pthread_detach(pthread_self());
-@@ -264,7 +264,7 @@ void *TCPNameserver::doConnection(void *
- getQuestion(fd,mesg,pktlen,remote);
+@@ -286,7 +286,7 @@ void *TCPNameserver::doConnection(void *
+ getQuestion(fd, mesg, pktlen, remote);
S.inc("tcp-queries");
- packet=shared_ptr<DNSPacket>(new DNSPacket);
@@ -38,84 +39,74 @@ $NetBSD: patch-pdns_tcpreceiver.cc,v 1.1 2013/05/09 20:06:53 joerg Exp $
packet->setRemote(&remote);
packet->d_tcp=true;
packet->setSocket(fd);
-@@ -277,8 +277,8 @@ void *TCPNameserver::doConnection(void *
- continue;
+@@ -305,8 +305,8 @@ void *TCPNameserver::doConnection(void *
+ continue;
}
- shared_ptr<DNSPacket> reply;
- shared_ptr<DNSPacket> cached= shared_ptr<DNSPacket>(new DNSPacket);
+ boost::shared_ptr<DNSPacket> reply;
+ boost::shared_ptr<DNSPacket> cached= boost::shared_ptr<DNSPacket>(new DNSPacket);
+ if(logDNSQueries) {
+ string remote;
+ if(packet->hasEDNSSubnet())
+@@ -340,7 +340,7 @@ void *TCPNameserver::doConnection(void *
+ }
+ bool shouldRecurse;
- if(!packet->d.rd && (PC.get(packet.get(), cached.get()))) { // short circuit - does the PacketCache recognize this question?
- cached->setRemote(&packet->remote);
-@@ -299,7 +299,7 @@ void *TCPNameserver::doConnection(void *
- }
- bool shouldRecurse;
+- reply=shared_ptr<DNSPacket>(s_P->questionOrRecurse(packet.get(), &shouldRecurse)); // we really need to ask the backend :-)
++ reply=boost::shared_ptr<DNSPacket>(s_P->questionOrRecurse(packet.get(), &shouldRecurse)); // we really need to ask the backend :-)
-- reply=shared_ptr<DNSPacket>(s_P->questionOrRecurse(packet.get(), &shouldRecurse)); // we really need to ask the backend :-)
-+ reply=boost::shared_ptr<DNSPacket>(s_P->questionOrRecurse(packet.get(), &shouldRecurse)); // we really need to ask the backend :-)
+ if(shouldRecurse) {
+ proxyQuestion(packet);
+@@ -387,7 +387,7 @@ void *TCPNameserver::doConnection(void *
- if(shouldRecurse) {
- proxyQuestion(packet);
-@@ -344,7 +344,7 @@ void *TCPNameserver::doConnection(void *
- return 0;
- }
+ // call this method with s_plock held!
-bool TCPNameserver::canDoAXFR(shared_ptr<DNSPacket> q)
+bool TCPNameserver::canDoAXFR(boost::shared_ptr<DNSPacket> q)
{
if(::arg().mustDo("disable-axfr"))
return false;
-@@ -363,20 +363,20 @@ bool TCPNameserver::canDoAXFR(shared_ptr
- }
+@@ -498,9 +498,9 @@ namespace {
+ return soa;
+ }
+
+- shared_ptr<DNSPacket> getFreshAXFRPacket(shared_ptr<DNSPacket> q)
++ boost::shared_ptr<DNSPacket> getFreshAXFRPacket(boost::shared_ptr<DNSPacket> q)
+ {
+- shared_ptr<DNSPacket> ret = shared_ptr<DNSPacket>(q->replyPacket());
++ boost::shared_ptr<DNSPacket> ret = boost::shared_ptr<DNSPacket>(q->replyPacket());
+ ret->setCompress(false);
+ ret->d_dnssecOk=false; // RFC 5936, 2.2.5
+ ret->d_tcp = true;
+@@ -510,7 +510,7 @@ namespace {
+
/** do the actual zone transfer. Return 0 in case of error, 1 in case of success */
-int TCPNameserver::doAXFR(const string &target, shared_ptr<DNSPacket> q, int outsock)
+int TCPNameserver::doAXFR(const string &target, boost::shared_ptr<DNSPacket> q, int outsock)
{
-- shared_ptr<DNSPacket> outpacket;
-+ boost::shared_ptr<DNSPacket> outpacket;
- if(!canDoAXFR(q)) {
- L<<Logger::Error<<"AXFR of domain '"<<target<<"' denied to "<<q->getRemote()<<endl;
-
-- outpacket=shared_ptr<DNSPacket>(q->replyPacket());
-+ outpacket=boost::shared_ptr<DNSPacket>(q->replyPacket());
- outpacket->setRcode(RCode::Refused);
- // FIXME: should actually figure out if we are auth over a zone, and send out 9 if we aren't
- sendPacket(outpacket,outsock);
- return 0;
- }
- L<<Logger::Error<<"AXFR of domain '"<<target<<"' initiated by "<<q->getRemote()<<endl;
-- outpacket=shared_ptr<DNSPacket>(q->replyPacket());
-+ outpacket=boost::shared_ptr<DNSPacket>(q->replyPacket());
-
- DNSResourceRecord soa;
- DNSResourceRecord rr;
-@@ -450,7 +450,7 @@ int TCPNameserver::doAXFR(const string &
- if(::arg().mustDo("strict-rfc-axfrs"))
- chunk=1;
-
-- outpacket=shared_ptr<DNSPacket>(q->replyPacket());
-+ outpacket=boost::shared_ptr<DNSPacket>(q->replyPacket());
- outpacket->setCompress(false);
-
- while(B->get(rr)) {
-@@ -464,7 +464,7 @@ int TCPNameserver::doAXFR(const string &
-
- sendPacket(outpacket, outsock);
-
-- outpacket=shared_ptr<DNSPacket>(q->replyPacket());
-+ outpacket=boost::shared_ptr<DNSPacket>(q->replyPacket());
- outpacket->setCompress(false);
- // FIXME: Subsequent messages SHOULD NOT have a question section, though the final message MAY.
+ bool noAXFRBecauseOfNSEC3Narrow=false;
+ NSEC3PARAMRecordContent ns3pr;
+@@ -530,7 +530,7 @@ int TCPNameserver::doAXFR(const string &
}
-@@ -475,7 +475,7 @@ int TCPNameserver::doAXFR(const string &
-
- DLOG(L<<"Done writing out records"<<endl);
- /* and terminate with yet again the SOA record */
-- outpacket=shared_ptr<DNSPacket>(q->replyPacket());
-+ outpacket=boost::shared_ptr<DNSPacket>(q->replyPacket());
- outpacket->addRecord(soa);
- sendPacket(outpacket, outsock);
- DLOG(L<<"last packet - close"<<endl);
+ }
+
+- shared_ptr<DNSPacket> outpacket= getFreshAXFRPacket(q);
++ boost::shared_ptr<DNSPacket> outpacket= getFreshAXFRPacket(q);
+ if(q->d_dnssecOk)
+ outpacket->d_dnssecOk=true; // RFC 5936, 2.2.5 'SHOULD'
+
+@@ -926,9 +926,9 @@ int TCPNameserver::doAXFR(const string &
+ return 1;
+ }
+
+-int TCPNameserver::doIXFR(shared_ptr<DNSPacket> q, int outsock)
++int TCPNameserver::doIXFR(boost::shared_ptr<DNSPacket> q, int outsock)
+ {
+- shared_ptr<DNSPacket> outpacket=getFreshAXFRPacket(q);
++ boost::shared_ptr<DNSPacket> outpacket=getFreshAXFRPacket(q);
+ if(q->d_dnssecOk)
+ outpacket->d_dnssecOk=true; // RFC 5936, 2.2.5 'SHOULD'
+