[Midnightbsd-cvs] mports [21901] trunk/dns/bind99: bind 9.9.9 P3

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Tue Sep 27 20:35:53 EDT 2016


Revision: 21901
          http://svnweb.midnightbsd.org/mports/?rev=21901
Author:   laffer1
Date:     2016-09-27 20:35:53 -0400 (Tue, 27 Sep 2016)
Log Message:
-----------
bind 9.9.9 P3

Modified Paths:
--------------
    trunk/dns/bind99/Makefile
    trunk/dns/bind99/distinfo
    trunk/dns/bind99/files/named.conf.in
    trunk/dns/bind99/files/named.in
    trunk/dns/bind99/files/named.root
    trunk/dns/bind99/files/patch-configure
    trunk/dns/bind99/pkg-help
    trunk/dns/bind99/pkg-install
    trunk/dns/bind99/pkg-plist

Added Paths:
-----------
    trunk/dns/bind99/files/BIND.chroot.dist
    trunk/dns/bind99/files/BIND.chroot.local.dist
    trunk/dns/bind99/files/extrapatch-bind-min-override-ttl
    trunk/dns/bind99/files/pkg-message.in

Modified: trunk/dns/bind99/Makefile
===================================================================
--- trunk/dns/bind99/Makefile	2016-09-28 00:22:14 UTC (rev 21900)
+++ trunk/dns/bind99/Makefile	2016-09-28 00:35:53 UTC (rev 21901)
@@ -2,8 +2,8 @@
 # $FreeBSD: head/dns/bind99/Makefile 374305 2014-12-08 17:29:44Z mat $
 
 PORTNAME=	bind
-PORTVERSION=	${ISCVERSION:S/-P/P/}
-PORTREVISION=	5
+PORTVERSION=	${ISCVERSION:S/-P/P/:S/b/.b/:S/a/.a/:S/rc/.rc/}
+PORTREVISION=	0
 CATEGORIES=	dns net ipv6
 MASTER_SITES=	ISC/bind9/${ISCVERSION}
 PKGNAMESUFFIX=	99
@@ -15,7 +15,7 @@
 LICENSE=	iscl
 
 # ISC releases things like 9.8.0-P1, which our versioning doesn't like
-ISCVERSION=	9.9.8-P4
+ISCVERSION=	9.9.9-P3
 
 MAKE_JOBS_UNSAFE=	yes
 
@@ -33,15 +33,22 @@
 CONFIGURE_ARGS=	--localstatedir=/var --disable-linux-caps \
 		--disable-symtable \
 		--with-randomdev=/dev/random \
-		--with-libxml2=${LOCALBASE}
+		--with-libxml2=${LOCALBASE} \
+		--with-readline=-ledit \
+		--with-dlopen=yes \
+		--sysconfdir=${ETCDIR}
 ETCDIR=		${PREFIX}/etc/namedb
 
-CONFLICTS=	bind9*-9.[45678].* bind9*-sdb-9.[45678].* bind-tools-9.*
+CONFLICTS=	bind9*-9.[45678].* bind9*-sdb-9.[45678].* bind910-* bind911-* bind-tools-9.*
 
-OPTIONS_DEFAULT=	IPV6 SSL THREADS GSSAPI_NONE RRL
+SUB_FILES=	pkg-message
+
+OPTIONS_DEFAULT=	SSL THREADS SIGCHASE IDN GSSAPI_NONE RRL DLZ_FILESYSTEM \
+			RPZ_NSIP RPZ_NSDNAME
 OPTIONS_DEFINE=		SSL IDN REPLACE_BASE LARGE_FILE FIXED_RRSET SIGCHASE \
-			IPV6 THREADS FILTER_AAAA GOST PYTHON \
-			LINKS RPZ_NSIP RPZ_NSDNAME RRL DOCS RPZ_PATCH NEWSTATS
+			IPV6 THREADS FILTER_AAAA GOST PYTHON START_LATE MINCACHE \
+			LINKS RPZ_NSIP RPZ_NSDNAME RRL DOCS RPZ_PATCH NEWSTATS \
+			PORTREVISION FETCHLIMIT QUERYTRACE
 OPTIONS_GROUP=		DLZ
 OPTIONS_GROUP_DLZ=	DLZ_POSTGRESQL DLZ_MYSQL DLZ_BDB \
 			DLZ_LDAP DLZ_FILESYSTEM DLZ_STUB
@@ -56,8 +63,13 @@
 FIXED_RRSET_DESC=	Enable fixed rrset ordering
 SIGCHASE_DESC=		dig/host/nslookup will do DNSSEC validation
 FILTER_AAAA_DESC=	Enable filtering of AAAA records
-GOST_DESC=		Enable GOST ciphers, needs SSL (see help)
+GOST_DESC=		Enable GOST ciphers, needs SSL (see help on 8 and 9)
 PYTHON_DESC=		Build with Python utilities
+START_LATE_DESC=	Start BIND late in the boot process
+MINCACHE_DESC=		Use the mincachettl patch
+PORTREVISION_DESC=	Show PORTREVISION in the version string
+FETCHLIMIT_DESC=	Enable the query quotas for resolvers
+QUERYTRACE_DESC=	Enable the very verbose query tracelogging
 
 LINKS_DESC=		Create conf file symlinks in ${PREFIX}
 NEWSTATS_DESC=		Enable alternate xml statistics channel format
@@ -76,6 +88,9 @@
 GSSAPI_HEIMDAL_DESC=	${GSSAPI_DESC} (security/heimdal)
 GSSAPI_MIT_DESC=	${GSSAPI_DESC} (security/krb5)
 GSSAPI_NONE_DESC=	No ${GSSAPI_DESC}
+MINCACHE_EXTRA_PATCHES=	${FILESDIR}/extrapatch-bind-min-override-ttl
+FETCHLIMIT_CONFIGURE_ENABLE=	fetchlimit
+QUERYTRACE_CONFIGURE_ENABLE=	querytrace
 
 SSL_CONFIGURE_ON=	--with-openssl=${OPENSSLBASE}
 SSL_USE=		openssl=yes
@@ -128,20 +143,25 @@
 
 DLZ_STUB_CONFIGURE_ON=	--with-dlz-stub=yes
 
+START_LATE_SUB_LIST=	NAMED_REQUIRE="SERVERS cleanvar" \
+			NAMED_BEFORE="LOGIN"
+START_LATE_SUB_LIST_OFF=NAMED_REQUIRE="NETWORKING ldconfig syslogd" \
+			NAMED_BEFORE="SERVERS"
+
 GSSAPI_BASE_USES=	gssapi
 GSSAPI_BASE_CONFIGURE_ON= \
-	--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
+	--with-gssapi=${GSSAPIBASEDIR} KRB5CONFIG="${KRB5CONFIG}"
 GSSAPI_HEIMDAL_USES=	gssapi:heimdal
 GSSAPI_HEIMDAL_CONFIGURE_ON= \
-	--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
+	--with-gssapi=${GSSAPIBASEDIR} KRB5CONFIG="${KRB5CONFIG}"
 GSSAPI_MIT_USES=	gssapi:mit
 GSSAPI_MIT_CONFIGURE_ON= \
-	--with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
+	--with-gssapi=${GSSAPIBASEDIR} KRB5CONFIG="${KRB5CONFIG}"
 GSSAPI_NONE_CONFIGURE_ON=	--without-gssapi
 
 .include <bsd.mport.options.mk>
 
-.if !${PORT_OPTIONS:MLINKS} || ${PORT_OPTIONS:MREPLACE_BASE}
+.if !${PORT_OPTIONS:MLINKS}
 PKGINSTALL=${NONEXISTENT}
 .endif
 
@@ -152,70 +172,54 @@
 .endif
 
 .if ${PORT_OPTIONS:MREPLACE_BASE}
-.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100
-IGNORE=		REPLACE_BASE option is not supported on this release
-.else # >= 10.0
-# Move to BROKEN after expiration.
-DEPRECATED=		REPLACE_BASE option will be removed.  There is no real need for foot-shooting.
-EXPIRATION_DATE=	2015-01-01
-.endif # >= 10.0
-PKGNAMESUFFIX=	-base
-PREFIX=		/usr
-PLIST_SUB+=	SHARE_MAN="share/"
-NO_MTREE=	yes
-BIND_DESTETC=	/etc/namedb
-.else # REPLACE_BASE
-PLIST_SUB+=	SHARE_MAN=""
-.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000100
-BIND_DESTETC=	${PREFIX}/etc/namedb
-PKGINSTALL=	${NONEXISTENT}
-.else # >= 10.0
-BIND_DESTETC=	${PREFIX}/etc
-.endif # >= 10.0
+IGNORE=		REPLACE_BASE is no longer supported
 .endif # REPLACE_BASE
 
+PLIST_SUB+=	NOBASE="@comment " BASE=""
+SUB_LIST+=	NOBASE="@comment " BASE=""
+
 PKGDEINSTALL=	${PKGINSTALL}
 
-CONFIGURE_ARGS+=	--prefix=${PREFIX} \
-			--sysconfdir=${BIND_DESTETC}
-SUB_LIST+=	BIND_DESTETC="${BIND_DESTETC}"
-PLIST_SUB+=	BIND_DESTETC="${BIND_DESTETC}"
-
 PORTDOCS=	*
 
-PLIST_SUB+=	NOBASE="@comment " BASE=""
-.if ${PORT_OPTIONS:MSSL}
-WITH_OPENSSL_PORT=	yes
+.include <bsd.port.pre.mk>
+
+.if ( ${PORT_OPTIONS:MGOST} ) && ${SSL_DEFAULT} == base
+BROKEN=	OpenSSL from the base system does not support GOST, add \
+	DEFAULT_VERSIONS+=ssl=openssl to your /etc/make.conf and rebuild everything \
+	that needs SSL.
 .endif
 
 post-patch:
+	@${REINPLACE_CMD} -e 's|readline/readline.h|editline/readline.h|; \
+		s|readline/history.h|histedit.h|' \
+		${WRKSRC}/bin/dig/nslookup.c ${WRKSRC}/bin/nsupdate/nsupdate.c
 .for FILE in check/named-checkconf.8 named/named.8 nsupdate/nsupdate.1 \
 	rndc/rndc.8
-	@${REINPLACE_CMD} -e 's#/etc/named.conf#${BIND_DESTETC}/named.conf#g' \
-		-e 's#/etc/rndc.conf#${BIND_DESTETC}/rndc.conf#g' \
+	@${REINPLACE_CMD} -e 's#/etc/named.conf#${ETCDIR}/named.conf#g' \
+		-e 's#/etc/rndc.conf#${ETCDIR}/rndc.conf#g' \
 		-e "s#/var\/run\/named\/named.pid#/var/run/named/pid#" \
 		${WRKSRC}/bin/${FILE}
 .endfor
 
+.if ${PORTREVISION:N0}
+post-patch-PORTREVISION-on:
+	@${REINPLACE_CMD} -e '/EXTENSIONS/s#=$$#=_${PORTREVISION}#' \
+		${WRKSRC}/version
+.endif
+
 post-configure:
-	${REINPLACE_CMD} -e '/^SO_LDFLAGS/s/-Wl,-rpath/-rpath /' ${WRKSRC}/bin/tests/system/dlzexternal/Makefile
+	@${REINPLACE_CMD} -e '/^SO_LDFLAGS/s/-Wl,-rpath,/-rpath /' ${WRKSRC}/bin/tests/system/dlzexternal/Makefile
 
 post-install:
 .if ${PORT_OPTIONS:MDOCS}
-	${MKDIR} ${DOCSDIR}/arm
-	${INSTALL_DATA} ${WRKSRC}/doc/arm/*.html ${DOCSDIR}/arm
-	${INSTALL_DATA} ${WRKSRC}/doc/arm/Bv9ARM.pdf ${DOCSDIR}
+	${MKDIR} ${FAKE_DESTDIR}${DOCSDIR}/arm
+	${INSTALL_DATA} ${WRKSRC}/doc/arm/*.html ${FAKE_DESTDIR}${DOCSDIR}/arm
+	${INSTALL_DATA} ${WRKSRC}/doc/arm/Bv9ARM.pdf ${FAKE_DESTDIR}${DOCSDIR}
 	${INSTALL_DATA} ${WRKSRC}/CHANGES ${WRKSRC}/COPYRIGHT ${WRKSRC}/FAQ \
-		${WRKSRC}/HISTORY ${WRKSRC}/README ${DOCSDIR}
+		${WRKSRC}/HISTORY ${WRKSRC}/README ${FAKE_DESTDIR}${DOCSDIR}
 .endif
-.for i in dynamic master slave working
-	@${MKDIR} ${FAKE_DESTDIR}${ETCDIR}/$i
-.endfor
-	${INSTALL_DATA} ${FILESDIR}/named.root ${FAKE_DESTDIR}${ETCDIR}
-	${INSTALL_DATA} ${FILESDIR}/empty.db ${FAKE_DESTDIR}${ETCDIR}/master
-	${INSTALL_DATA} ${FILESDIR}/localhost-forward.db ${FAKE_DESTDIR}${ETCDIR}/master
-	${INSTALL_DATA} ${FILESDIR}/localhost-reverse.db ${FAKE_DESTDIR}${ETCDIR}/master
-	${INSTALL_DATA} ${WRKSRC}/bin/rndc/rndc.conf ${FAKE_DESTDIR}${ETCDIR}/rndc.conf.sample
+	${INSTALL_DATA} ${WRKSRC}/bin/rndc/rndc.conf \
+		${ETCDIR}/rndc.conf.sample
 
-
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>

Modified: trunk/dns/bind99/distinfo
===================================================================
--- trunk/dns/bind99/distinfo	2016-09-28 00:22:14 UTC (rev 21900)
+++ trunk/dns/bind99/distinfo	2016-09-28 00:35:53 UTC (rev 21901)
@@ -1,4 +1,5 @@
-SHA256 (bind-9.9.8-P4.tar.gz) = 5ed0b852e4d1dc90e10751c7fa70a9ee29a619bad61d97250eac8161009d89f2
-SIZE (bind-9.9.8-P4.tar.gz) = 7999697
-SHA256 (9.9.8-P4-rpz2+rl.14038.05.patch.xz) = 5415559171c03a9a02e31284552a4888911eeb692d57def8d631b7d0564dc5f0
-SIZE (9.9.8-P4-rpz2+rl.14038.05.patch.xz) = 39240
+TIMESTAMP = 1474632756
+SHA256 (bind-9.9.9-P3.tar.gz) = d63befc221e305bc5cadf9018535e533ebb5a99dd8df69acf42191ecb58991e2
+SIZE (bind-9.9.9-P3.tar.gz) = 8764358
+SHA256 (9.9.9-P3-rpz2+rl.14038.05.patch.xz) = fffc64517aeabd0a9d51243e98b2fad725f98641cfa19e469c0a7b46e6bbc3c0
+SIZE (9.9.9-P3-rpz2+rl.14038.05.patch.xz) = 39308

Added: trunk/dns/bind99/files/BIND.chroot.dist
===================================================================
--- trunk/dns/bind99/files/BIND.chroot.dist	                        (rev 0)
+++ trunk/dns/bind99/files/BIND.chroot.dist	2016-09-28 00:35:53 UTC (rev 21901)
@@ -0,0 +1,24 @@
+# $FreeBSD: head/dns/bind99/files/BIND.chroot.dist 382109 2015-03-24 15:22:51Z mat $
+#
+# mtree -deU -f files/BIND.chroot.dist -p tmp
+# mtree -cjnb -k uname,gname,mode -p tmp
+
+/set type=file uname=root gname=wheel mode=0755
+.               type=dir
+    dev             type=dir mode=0555
+    ..
+    etc             type=dir
+    ..
+/set type=file uname=bind gname=bind mode=0755
+    var             type=dir uname=root gname=wheel
+        dump            type=dir
+        ..
+        log             type=dir
+        ..
+        run             type=dir
+            named           type=dir
+            ..
+        ..
+        stats           type=dir
+        ..
+    ..


Property changes on: trunk/dns/bind99/files/BIND.chroot.dist
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/dns/bind99/files/BIND.chroot.local.dist
===================================================================
--- trunk/dns/bind99/files/BIND.chroot.local.dist	                        (rev 0)
+++ trunk/dns/bind99/files/BIND.chroot.local.dist	2016-09-28 00:35:53 UTC (rev 21901)
@@ -0,0 +1,20 @@
+# $FreeBSD: head/dns/bind99/files/BIND.chroot.local.dist 382109 2015-03-24 15:22:51Z mat $
+#
+# mtree -deU -f files/BIND.etc.dist -p tmp
+# mtree -cjnb -k uname,gname,mode -p tmp
+
+/set type=file uname=root gname=wheel mode=0755
+.               type=dir
+    etc             type=dir
+/set type=file uname=bind gname=wheel mode=0755
+        namedb          type=dir uname=root
+            dynamic         type=dir
+            ..
+            master          type=dir uname=root
+            ..
+            slave           type=dir
+            ..
+            working         type=dir
+            ..
+        ..
+    ..


Property changes on: trunk/dns/bind99/files/BIND.chroot.local.dist
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/dns/bind99/files/extrapatch-bind-min-override-ttl
===================================================================
--- trunk/dns/bind99/files/extrapatch-bind-min-override-ttl	                        (rev 0)
+++ trunk/dns/bind99/files/extrapatch-bind-min-override-ttl	2016-09-28 00:35:53 UTC (rev 21901)
@@ -0,0 +1,73 @@
+--- bin/named/config.c.orig	2016-04-20 20:11:30 UTC
++++ bin/named/config.c
+@@ -141,6 +141,8 @@ options {\n\
+ 	min-roots 2;\n\
+ 	lame-ttl 600;\n\
+ 	max-ncache-ttl 10800; /* 3 hours */\n\
++       override-cache-ttl 0; /* do not override */\n\
++       min-cache-ttl 0; /* no minimal, zero is allowed */\n\
+ 	max-cache-ttl 604800; /* 1 week */\n\
+ 	transfer-format many-answers;\n\
+ 	max-cache-size 0;\n\
+--- bin/named/server.c.orig	2016-04-20 20:11:30 UTC
++++ bin/named/server.c
+@@ -2559,6 +2559,16 @@ configure_view(dns_view_t *view, cfg_obj
+ 	}
+ 
+ 	obj = NULL;
++	result = ns_config_get(maps, "override-cache-ttl", &obj);
++	INSIST(result == ISC_R_SUCCESS);
++	view->overridecachettl = cfg_obj_asuint32(obj);
++
++	obj = NULL;
++	result = ns_config_get(maps, "min-cache-ttl", &obj);
++	INSIST(result == ISC_R_SUCCESS);
++	view->mincachettl = cfg_obj_asuint32(obj);
++
++	obj = NULL;
+ 	result = ns_config_get(maps, "max-cache-ttl", &obj);
+ 	INSIST(result == ISC_R_SUCCESS);
+ 	view->maxcachettl = cfg_obj_asuint32(obj);
+--- lib/dns/include/dns/view.h.orig	2016-04-20 20:11:30 UTC
++++ lib/dns/include/dns/view.h
+@@ -148,6 +148,8 @@ struct dns_view {
+ 	isc_boolean_t			provideixfr;
+ 	isc_boolean_t			requestnsid;
+ 	dns_ttl_t			maxcachettl;
++	dns_ttl_t			mincachettl;
++	dns_ttl_t			overridecachettl;
+ 	dns_ttl_t			maxncachettl;
+ 	in_port_t			dstport;
+ 	dns_aclenv_t			aclenv;
+--- lib/dns/resolver.c.orig	2016-04-20 20:11:30 UTC
++++ lib/dns/resolver.c
+@@ -5114,6 +5114,18 @@ cache_name(fetchctx_t *fctx, dns_name_t 
+ 		}
+ 
+ 		/*
++		 * Enforce the configure cache TTL override.
++		 */
++                if (res->view->overridecachettl)
++                        rdataset->ttl = res->view->overridecachettl;
++
++		/*
++		 * Enforce the configure minimum cache TTL.
++		 */
++                if (rdataset->ttl < res->view->mincachettl)
++                        rdataset->ttl = res->view->mincachettl;
++
++		/*
+ 		 * Enforce the configure maximum cache TTL.
+ 		 */
+ 		if (rdataset->ttl > res->view->maxcachettl)
+--- lib/isccfg/namedconf.c.orig	2016-04-20 20:11:30 UTC
++++ lib/isccfg/namedconf.c
+@@ -1459,6 +1459,8 @@ view_clauses[] = {
+ 	{ "lame-ttl", &cfg_type_uint32, 0 },
+ 	{ "max-acache-size", &cfg_type_sizenodefault, 0 },
+ 	{ "max-cache-size", &cfg_type_sizenodefault, 0 },
++	{ "override-cache-ttl", &cfg_type_uint32, 0 },
++	{ "min-cache-ttl", &cfg_type_uint32, 0 },
+ 	{ "max-cache-ttl", &cfg_type_uint32, 0 },
+ 	{ "max-clients-per-query", &cfg_type_uint32, 0 },
+ 	{ "max-ncache-ttl", &cfg_type_uint32, 0 },


Property changes on: trunk/dns/bind99/files/extrapatch-bind-min-override-ttl
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/dns/bind99/files/named.conf.in
===================================================================
--- trunk/dns/bind99/files/named.conf.in	2016-09-28 00:22:14 UTC (rev 21900)
+++ trunk/dns/bind99/files/named.conf.in	2016-09-28 00:35:53 UTC (rev 21901)
@@ -1,7 +1,7 @@
-// $FreeBSD: head/dns/bind99/files/named.conf.in 369056 2014-09-23 13:25:34Z mat $
+// $FreeBSD: head/dns/bind99/files/named.conf.in 382109 2015-03-24 15:22:51Z mat $
 //
 // Refer to the named.conf(5) and named(8) man pages, and the documentation
-// in /usr/share/doc/bind9 for more details.
+// in /usr/local/share/doc/bind for more details.
 //
 // If you are going to set up an authoritative server, make sure you
 // understand the hairy details of how DNS works.  Even with
@@ -11,7 +11,7 @@
 options {
 	// All file and path names are relative to the chroot directory,
 	// if any, and should be fully qualified.
-	directory	"%%BIND_DESTETC%%/working";
+	directory	"%%ETCDIR%%/working";
 	pid-file	"/var/run/named/pid";
 	dump-file	"/var/dump/named_dump.db";
 	statistics-file	"/var/stats/named.stats";
@@ -52,7 +52,7 @@
 // the entries in /etc/resolv.conf, uncomment the following line and
 // set named_auto_forward=yes in /etc/rc.conf.  You can also enable
 // named_auto_forward_only (the effect of which is described above).
-//	include "%%BIND_DESTETC%%/auto_forward.conf";
+//	include "%%ETCDIR%%/auto_forward.conf";
 
 	/*
 	   Modern versions of BIND use a random UDP port for each outgoing
@@ -75,7 +75,7 @@
 // Also, make sure to enable it in /etc/rc.conf.
 
 // The traditional root hints mechanism. Use this, OR the slave zones below.
-zone "." { type hint; file "%%BIND_DESTETC%%/named.root"; };
+zone "." { type hint; file "%%ETCDIR%%/named.root"; };
 
 /*	Slaving the following zones from the root name servers has some
 	significant advantages:
@@ -100,7 +100,7 @@
 /*
 zone "." {
 	type slave;
-	file "%%BIND_DESTETC%%/slave/root.slave";
+	file "%%ETCDIR%%/slave/root.slave";
 	masters {
 		192.5.5.241;	// F.ROOT-SERVERS.NET.
 	};
@@ -108,7 +108,7 @@
 };
 zone "arpa" {
 	type slave;
-	file "%%BIND_DESTETC%%/slave/arpa.slave";
+	file "%%ETCDIR%%/slave/arpa.slave";
 	masters {
 		192.5.5.241;	// F.ROOT-SERVERS.NET.
 	};
@@ -123,198 +123,198 @@
 	2. No spurious traffic will be sent from your network to the roots
 */
 // RFCs 1912, 5735 and 6303 (and BCP 32 for localhost)
-zone "localhost"	{ type master; file "%%BIND_DESTETC%%/master/localhost-forward.db"; };
-zone "127.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/localhost-reverse.db"; };
-zone "255.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "localhost"	{ type master; file "%%ETCDIR%%/master/localhost-forward.db"; };
+zone "127.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/localhost-reverse.db"; };
+zone "255.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // RFC 1912-style zone for IPv6 localhost address (RFC 6303)
-zone "0.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/localhost-reverse.db"; };
+zone "0.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/localhost-reverse.db"; };
 
 // "This" Network (RFCs 1912, 5735 and 6303)
-zone "0.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "0.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // Private Use Networks (RFCs 1918, 5735 and 6303)
-zone "10.in-addr.arpa"	   { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "16.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "17.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "18.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "19.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "20.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "21.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "22.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "23.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "24.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "25.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "26.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "27.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "28.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "29.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "30.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "31.172.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "168.192.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "10.in-addr.arpa"	   { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "16.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "17.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "18.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "19.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "20.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "21.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "22.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "23.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "24.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "25.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "26.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "27.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "28.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "29.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "30.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "31.172.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "168.192.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // Shared Address Space (RFC 6598)
-zone "64.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "65.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "66.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "67.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "68.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "69.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "70.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "71.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "72.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "73.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "74.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "75.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "76.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "77.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "78.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "79.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "80.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "81.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "82.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "83.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "84.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "85.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "86.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "87.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "88.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "89.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "90.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "91.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "92.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "93.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "94.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "95.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "96.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "97.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "98.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "99.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "100.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "101.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "102.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "103.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "104.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "105.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "106.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "107.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "108.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "109.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "110.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "111.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "112.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "113.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "114.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "115.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "116.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "117.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "118.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "119.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "120.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "121.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "122.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "123.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "124.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "125.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "126.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "127.100.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "64.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "65.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "66.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "67.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "68.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "69.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "70.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "71.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "72.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "73.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "74.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "75.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "76.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "77.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "78.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "79.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "80.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "81.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "82.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "83.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "84.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "85.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "86.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "87.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "88.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "89.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "90.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "91.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "92.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "93.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "94.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "95.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "96.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "97.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "98.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "99.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "100.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "101.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "102.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "103.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "104.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "105.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "106.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "107.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "108.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "109.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "110.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "111.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "112.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "113.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "114.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "115.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "116.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "117.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "118.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "119.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "120.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "121.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "122.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "123.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "124.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "125.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "126.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "127.100.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // Link-local/APIPA (RFCs 3927, 5735 and 6303)
-zone "254.169.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "254.169.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // IETF protocol assignments (RFCs 5735 and 5736)
-zone "0.0.192.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "0.0.192.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // TEST-NET-[1-3] for Documentation (RFCs 5735, 5737 and 6303)
-zone "2.0.192.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "100.51.198.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "113.0.203.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "2.0.192.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "100.51.198.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "113.0.203.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // IPv6 Example Range for Documentation (RFCs 3849 and 6303)
-zone "8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // Domain Names for Documentation and Testing (BCP 32)
-zone "test" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "example" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "invalid" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "example.com" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "example.net" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "example.org" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "test" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "example" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "invalid" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "example.com" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "example.net" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "example.org" { type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // Router Benchmark Testing (RFCs 2544 and 5735)
-zone "18.198.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "19.198.in-addr.arpa" { type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "18.198.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "19.198.in-addr.arpa" { type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // IANA Reserved - Old Class E Space (RFC 5735)
-zone "240.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "241.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "242.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "243.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "244.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "245.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "246.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "247.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "248.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "249.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "250.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "251.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "252.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "253.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "254.in-addr.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "240.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "241.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "242.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "243.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "244.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "245.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "246.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "247.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "248.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "249.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "250.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "251.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "252.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "253.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "254.in-addr.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // IPv6 Unassigned Addresses (RFC 4291)
-zone "1.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "3.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "4.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "5.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "6.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "7.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "8.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "9.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "a.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "b.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "c.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "d.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "e.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "0.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "1.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "2.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "3.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "4.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "5.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "6.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "7.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "8.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "9.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "a.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "b.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "0.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "1.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "2.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "3.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "4.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "5.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "6.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "7.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "1.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "3.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "4.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "5.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "6.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "7.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "8.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "9.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "a.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "b.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "c.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "d.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "e.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "0.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "1.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "2.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "3.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "4.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "5.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "6.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "7.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "8.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "9.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "a.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "b.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "0.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "1.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "2.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "3.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "4.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "5.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "6.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "7.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // IPv6 ULA (RFCs 4193 and 6303)
-zone "c.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "d.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "c.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "d.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // IPv6 Link Local (RFCs 4291 and 6303)
-zone "8.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "9.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "a.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "b.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "8.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "9.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "a.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "b.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // IPv6 Deprecated Site-Local Addresses (RFCs 3879 and 6303)
-zone "c.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "d.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "e.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
-zone "f.e.f.ip6.arpa"	{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "c.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "d.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "e.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
+zone "f.e.f.ip6.arpa"	{ type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // IP6.INT is Deprecated (RFC 4159)
-zone "ip6.int"		{ type master; file "%%BIND_DESTETC%%/master/empty.db"; };
+zone "ip6.int"		{ type master; file "%%ETCDIR%%/master/empty.db"; };
 
 // NB: Do not use the IP addresses below, they are faked, and only
 // serve demonstration/documentation purposes!
@@ -345,7 +345,7 @@
 	allow-update {
 		key "exampleorgkey";
 	};
-	file "%%BIND_DESTETC%%/dynamic/example.org";
+	file "%%ETCDIR%%/dynamic/example.org";
 };
 */
 
@@ -352,7 +352,7 @@
 /* Example of a slave reverse zone
 zone "1.168.192.in-addr.arpa" {
 	type slave;
-	file "%%BIND_DESTETC%%/slave/1.168.192.in-addr.arpa";
+	file "%%ETCDIR%%/slave/1.168.192.in-addr.arpa";
 	masters {
 		192.168.1.1;
 	};

Modified: trunk/dns/bind99/files/named.in
===================================================================
--- trunk/dns/bind99/files/named.in	2016-09-28 00:22:14 UTC (rev 21900)
+++ trunk/dns/bind99/files/named.in	2016-09-28 00:35:53 UTC (rev 21901)
@@ -1,19 +1,38 @@
 #!/bin/sh
 #
-# $FreeBSD: head/dns/bind99/files/named.in 351487 2014-04-17 16:43:48Z mat $
+# $FreeBSD: head/dns/bind99/files/named.in 395660 2015-08-31 10:06:27Z mat $
 #
 
 # PROVIDE: named
-# REQUIRE: FILESYSTEMS defaultroute ldconfig
-# BEFORE: NETWORKING
+# REQUIRE: %%NAMED_REQUIRE%%
+# BEFORE: %%NAMED_BEFORE%%
 # KEYWORD: shutdown
 
+#
+# Add the following lines to /etc/rc.conf to enable BIND:
+# named_enable (bool):		    Run named, the DNS server (or NO).
+# named_program (str):		    Path to named, if you want a different one.
+# named_conf (str):		    Path to the configuration file
+# named_flags (str):		    Use this for flags OTHER than -u and -c
+# named_uid (str):		    User to run named as
+# named_chrootdir (str):	    Chroot directory (or "" not to auto-chroot it)
+#				    Historically, was /var/named
+# named_chroot_autoupdate (bool):   Automatically install/update chrooted
+# 				    components of named.
+# named_symlink_enable (bool):	    Symlink the chrooted pid file
+# named_wait (bool):		    Wait for working name service before exiting
+# named_wait_host (str):	    Hostname to check if named_wait is enabled
+# named_auto_forward (str):	    Set up forwarders from /etc/resolv.conf
+# named_auto_forward_only (str):    Do "forward only" instead of "forward first"
+#
+
 . /etc/rc.subr
 
 name=named
+desc="named BIND startup script"
 rcvar=named_enable
 
-load_rc_config $name
+load_rc_config ${name}
 
 extra_commands=reload
 
@@ -21,23 +40,149 @@
 start_postcmd=named_poststart
 reload_cmd=named_reload
 stop_cmd=named_stop
+stop_postcmd=named_poststop
 
-named_enable=${named_enable:-"NO"}		# Run named, the DNS server (or NO).
-named_program=${named_program:-"%%PREFIX%%/sbin/named"}	# Path to named, if you want a different one.
-named_conf=${named_conf:-"%%BIND_DESTETC%%/named.conf"}	# Path to the configuration file
-named_flags=${named_flags:-""}			# Use this for flags OTHER than -u and -c
-named_uid=${named_uid:-"bind"}			# User to run named as
-named_wait=${named_wait:-"NO"}			# Wait for working name service before exiting
-named_wait_host=${named_wait_host:-"localhost"}	# Hostname to check if named_wait is enabled
-named_auto_forward=${named_auto_forward:-"NO"}	# Set up forwarders from /etc/resolv.conf
-named_auto_forward_only=${named_auto_forward_only:-"NO"}	# Do "forward only" instead of "forward first"
-named_confdir="${named_conf%/*}" 		# Not a configuration directive but makes rclint happy.
+named_enable=${named_enable:-"NO"}
+named_program=${named_program:-"%%PREFIX%%/sbin/named"}
+named_conf=${named_conf:-"%%ETCDIR%%/named.conf"}
+named_flags=${named_flags:-""}
+named_uid=${named_uid:-"bind"}
+named_chrootdir=${named_chrootdir:-""}
+named_chroot_autoupdate=${named_chroot_autoupdate:-"YES"}
+named_symlink_enable=${named_symlink_enable:-"YES"}
+named_wait=${named_wait:-"NO"}
+named_wait_host=${named_wait_host:-"localhost"}
+named_auto_forward=${named_auto_forward:-"NO"}
+named_auto_forward_only=${named_auto_forward_only:-"NO"}
 
+# Not configuration variables but having them here keeps rclint happy
+required_dirs="${named_chrootdir}"
+_named_confdirroot="${named_conf%/*}"
+_named_confdir="${named_chrootdir}${_named_confdirroot}"
+_named_program_root="${named_program%/sbin/named}"
+_openssl_engines="%%LOCALBASE%%/lib/engines"
+
+# Needed if named.conf and rndc.conf are moved or if rndc.conf is used
+rndc_conf=${rndc_conf:-"$_named_confdir/rndc.conf"}
+rndc_key=${rndc_key:-"$_named_confdir/rndc.key"}
+
+# If running in a chroot cage, ensure that the appropriate files
+# exist inside the cage, as well as helper symlinks into the cage
+# from outside.
+#
+# As this is called after the is_running and required_dir checks
+# are made in run_rc_command(), we can safely assume ${named_chrootdir}
+# exists and named isn't running at this point (unless forcestart
+# is used).
+#
+chroot_autoupdate()
+{
+	local file
+
+	# If it's the first time around, fiddle with things and move the
+	# current configuration to the chroot.
+	if [ -d ${_named_confdirroot} -a ! -d ${_named_confdir} ]; then
+		warn "named chroot: Moving current configuration in the chroot!"
+		install -d ${_named_confdir%/*}
+		mv ${_named_confdirroot} ${_named_confdir}
+	fi
+
+	# Create (or update) the chroot directory structure
+	#
+	if [ -r %%PREFIX%%/etc/mtree/BIND.chroot.dist ]; then
+		mtree -deU -f %%PREFIX%%/etc/mtree/BIND.chroot.dist \
+		    -p ${named_chrootdir}
+	else
+		warn "%%PREFIX%%/etc/mtree/BIND.chroot.dist missing,"
+		warn "${named_chrootdir} directory structure not updated"
+	fi
+	if [ -r %%PREFIX%%/etc/mtree/BIND.chroot.local.dist ]; then
+		mkdir -p ${named_chrootdir}%%PREFIX%%
+		mtree -deU -f %%PREFIX%%/etc/mtree/BIND.chroot.local.dist \
+		    -p ${named_chrootdir}%%PREFIX%%
+	else
+		warn "%%PREFIX%%/etc/mtree/BIND.chroot.local.dist missing,"
+		warn "${named_chrootdir}%%PREFIX%% directory structure not updated"
+	fi
+
+	# Create (or update) the configuration directory symlink
+	#
+	if [ ! -L "${_named_confdirroot}" ]; then
+		if [ -d "${_named_confdirroot}" ]; then
+			warn "named chroot: ${_named_confdirroot} is a directory!"
+		elif [ -e "${_named_confdirroot}" ]; then
+			warn "named chroot: ${_named_confdirroot} exists!"
+		else
+			ln -s ${_named_confdir} ${_named_confdirroot}
+		fi
+	else
+		# Make sure it points to the right place.
+		ln -shf ${_named_confdir} ${_named_confdirroot}
+	fi
+
+	# Mount a devfs in the chroot directory if needed
+	#
+	if [ `${SYSCTL_N} security.jail.jailed` -eq 0 ]; then
+		umount ${named_chrootdir}/dev 2>/dev/null
+		devfs_domount ${named_chrootdir}/dev devfsrules_hide_all
+		devfs -m ${named_chrootdir}/dev rule apply path null unhide
+		devfs -m ${named_chrootdir}/dev rule apply path random unhide
+	else
+		if [ -c ${named_chrootdir}/dev/null -a \
+		    -c ${named_chrootdir}/dev/random ]; then
+			info "named chroot: using pre-mounted devfs."
+		else
+			err 1 "named chroot: devfs cannot be mounted from " \
+				"within a jail. Thus a chrooted named cannot " \
+				"be run from within a jail.  Either mount the " \
+				"devfs with null and random from the host, or " \
+				"run named without chrooting it, set " \
+				"named_chrootdir=\"\" in /etc/rc.conf."
+		fi
+	fi
+
+	# If OpenSSL from ports, then the engines should be present in the
+	# chroot, named loads them after chrooting.
+	if [ -d ${_openssl_engines} ]; then
+		# FIXME when 8.4 is gone see if
+		# security.jail.param.allow.mount.nullfs can be used.
+		if [ `${SYSCTL_N} security.jail.jailed` -eq 0 -o `${SYSCTL_N} security.jail.mount_allowed` -eq 1 ]; then
+			mkdir -p ${named_chrootdir}${_openssl_engines}
+			mount -t nullfs ${_openssl_engines} ${named_chrootdir}${_openssl_engines}
+		else
+			warn "named chroot: cannot nullfs mount OpenSSL" \
+				"engines into the chroot, will copy the shared" \
+				"libraries instead."
+			mkdir -p ${named_chrootdir}${_openssl_engines}
+			cp -f ${_openssl_engines}/*.so ${named_chrootdir}${_openssl_engines}
+		fi
+	fi
+
+	# Copy and/or update key files to the chroot /etc
+	#
+	for file in localtime protocols services; do
+		if [ -r /etc/${file} ] && \
+			! cmp -s /etc/${file} "${named_chrootdir}/etc/${file}"; then
+			cp -p /etc/${file} "${named_chrootdir}/etc/${file}"
+		fi
+	done
+}
+
+# Make symlinks to the correct pid file
+#
+make_symlinks()
+{
+	checkyesno named_symlink_enable &&
+	    ln -fs "${named_chrootdir}${pidfile}" ${pidfile}
+}
+
 named_poststart()
 {
+	make_symlinks
+
 	if checkyesno named_wait; then
-		until ${command%/sbin/named}/bin/host $named_wait_host >/dev/null 2>&1; do
-			echo "	Waiting for nameserver to resolve $named_wait_host"
+		until ${_named_program_root}/bin/host ${named_wait_host} >/dev/null 2>&1; do
+			echo "	Waiting for nameserver to resolve ${named_wait_host}"
 			sleep 1
 		done
 	fi
@@ -45,15 +190,15 @@
 
 named_reload()
 {
-	# This is a one line function, but ${command} is not defined early
+	# This is a one line function, but ${named_program} is not defined early
 	# enough to be there when the reload_cmd variable is defined up there.
-	${command%/named}/rndc reload
+	${_named_program_root}/sbin/rndc ${rndc_flags} reload
 }
 
 find_pidfile()
 {
-	if get_pidfile_from_conf pid-file $named_conf; then
-		pidfile="$_pidfile_from_conf"
+	if get_pidfile_from_conf pid-file ${named_conf}; then
+		pidfile="${_pidfile_from_conf}"
 	else
 		pidfile="/var/run/named/pid"
 	fi
@@ -66,22 +211,40 @@
 	# This duplicates an undesirably large amount of code from the stop
 	# routine in rc.subr in order to use rndc to shut down the process,
 	# and to give it a second chance in case rndc fails.
-	rc_pid=$(check_pidfile $pidfile $command)
-	if [ -z "$rc_pid" ]; then
-		[ -n "$rc_fast" ] && return 0
+	rc_pid=$(check_pidfile ${pidfile} ${command})
+	if [ -z "${rc_pid}" ]; then
+		[ -n "${rc_fast}" ] && return 0
 		_run_rc_notrunning
 		return 1
 	fi
 	echo 'Stopping named.'
-	if ${command%/named}/rndc stop 2>/dev/null; then
-		wait_for_pids $rc_pid
+	if ${_named_program_root}/sbin/rndc ${rndc_flags} stop 2>/dev/null; then
+		wait_for_pids ${rc_pid}
 	else
 		echo -n 'rndc failed, trying kill: '
-		kill -TERM $rc_pid
-		wait_for_pids $rc_pid
-  	fi
+		kill -TERM ${rc_pid}
+		wait_for_pids ${rc_pid}
+	fi
 }
 
+named_poststop()
+{
+	if [ -n "${named_chrootdir}" -a -c ${named_chrootdir}/dev/null ]; then
+		# if using OpenSSL from ports, unmount OpenSSL engines, if they
+		# were not mounted but only copied, do nothing.
+		if [ -d ${_openssl_engines} -a \( `${SYSCTL_N} security.jail.jailed` -eq 0 -o `${SYSCTL_N} security.jail.mount_allowed` -eq 1 \) ]; then
+		  umount ${named_chrootdir}${_openssl_engines}
+		fi
+		# unmount /dev
+		if [ `${SYSCTL_N} security.jail.jailed` -eq 0 ]; then
+			umount ${named_chrootdir}/dev 2>/dev/null || true
+		else
+			warn "named chroot:" \
+			    "cannot unmount devfs from inside jail!"
+		fi
+	fi
+}
+
 create_file()
 {
 	if [ -e "$1" ]; then
@@ -94,7 +257,7 @@
 {
 	find_pidfile
 
-	if [ -n "$named_pidfile" ]; then
+	if [ -n "${named_pidfile}" ]; then
 		warn 'named_pidfile: now determined from the conf file'
 	fi
 
@@ -103,29 +266,51 @@
 		install -d -o ${named_uid} -g ${named_uid} ${piddir}
 	fi
 
-	command_args="-u ${named_uid:=root} -c $named_conf $command_args"
+	command_args="-u ${named_uid:=root} -c ${named_conf} ${command_args}"
 
+	if [ -z "${rndc_flags}" ]; then
+		if [ -s ${rndc_conf} ] ; then
+			rndc_flags="-c ${rndc_conf}"
+		elif [ -s ${rndc_key} ] ; then
+			rndc_flags="-k ${rndc_key}"
+		else
+			rndc_flags=""
+		fi
+	fi
+
 	local line nsip firstns
 
+	# Is the user using a sandbox?
+	#
+	if [ -n "${named_chrootdir}" ]; then
+		rc_flags="${rc_flags} -t ${named_chrootdir}"
+		checkyesno named_chroot_autoupdate && chroot_autoupdate
+	else
+		named_symlink_enable=NO
+	fi
+
 	# Create an rndc.key file for the user if none exists
 	#
-	confgen_command="${command%/named}/rndc-confgen -a -b256 -u $named_uid \
-	    -c ${named_confdir}/rndc.key"
-	if [ -s "${named_confdir}/rndc.conf" ]; then
+	confgen_command="${_named_program_root}/sbin/rndc-confgen -a -b256 -u ${named_uid} \
+	    -c ${_named_confdir}/rndc.key"
+	if [ -s "${_named_confdir}/rndc.conf" ]; then
 		unset confgen_command
 	fi
-	if [ -s "${named_confdir}/rndc.key" ]; then
-		case `stat -f%Su ${named_confdir}/rndc.key` in
-		root|$named_uid) ;;
-		*) $confgen_command ;;
+	if [ -s "${_named_confdir}/rndc.key" ]; then
+		case `stat -f%Su ${_named_confdir}/rndc.key` in
+		root|${named_uid}) ;;
+		*) ${confgen_command} ;;
 		esac
 	else
-		$confgen_command
+		${confgen_command}
 	fi
 
 	local checkconf
 
-	checkconf="${command%/named}/named-checkconf"
+	checkconf="${_named_program_root}/sbin/named-checkconf"
+	if ! checkyesno named_chroot_autoupdate && [ -n "${named_chrootdir}" ]; then
+		checkconf="${checkconf} -t ${named_chrootdir}"
+	fi
 
 	# Create a forwarder configuration based on /etc/resolv.conf
 	if checkyesno named_auto_forward; then
@@ -133,11 +318,11 @@
 			warn "named_auto_forward enabled, but no /etc/resolv.conf"
 
 			# Empty the file in case it is included in named.conf
-			[ -s "${named_confdir}/auto_forward.conf" ] &&
-			    create_file ${named_confdir}/auto_forward.conf
+			[ -s "${_named_confdir}/auto_forward.conf" ] &&
+			    create_file ${_named_confdir}/auto_forward.conf
 
-			$checkconf $named_conf ||
-			    err 3 'named-checkconf for $named_conf failed'
+			${checkconf} ${named_conf} ||
+			    err 3 'named-checkconf for ${named_conf} failed'
 			return
 		fi
 
@@ -147,12 +332,12 @@
 		echo '	forwarders {' > /var/run/auto_forward.conf
 
 		while read line; do
-			case "$line" in
+			case "${line}" in
 			'nameserver '*|'nameserver	'*)
 				nsip=${line##nameserver[         ]}
 
-				if [ -z "$firstns" ]; then
-					if [ ! "$nsip" = '127.0.0.1' ]; then
+				if [ -z "${firstns}" ]; then
+					if [ ! "${nsip}" = '127.0.0.1' ]; then
 						echo 'nameserver 127.0.0.1'
 						echo "		${nsip};" >> /var/run/auto_forward.conf
 					fi
@@ -159,13 +344,13 @@
 
 					firstns=1
 				else
-					[ "$nsip" = '127.0.0.1' ] && continue
+					[ "${nsip}" = '127.0.0.1' ] && continue
 					echo "		${nsip};" >> /var/run/auto_forward.conf
 				fi
 				;;
 			esac
 
-			echo $line
+			echo ${line}
 		done < /etc/resolv.conf > /var/run/naf-resolv.conf
 
 		echo '	};' >> /var/run/auto_forward.conf
@@ -183,22 +368,22 @@
 			mv /var/run/naf-resolv.conf /etc/resolv.conf
 		fi
 
-		if cmp -s ${named_confdir}/auto_forward.conf \
+		if cmp -s ${_named_confdir}/auto_forward.conf \
 		    /var/run/auto_forward.conf; then
 			unlink /var/run/auto_forward.conf
 		else
-			[ -e "${named_confdir}/auto_forward.conf" ] &&
-			    unlink ${named_confdir}/auto_forward.conf
+			[ -e "${_named_confdir}/auto_forward.conf" ] &&
+			    unlink ${_named_confdir}/auto_forward.conf
 			mv /var/run/auto_forward.conf \
-			    ${named_confdir}/auto_forward.conf
+			    ${_named_confdir}/auto_forward.conf
 		fi
 	else
 		# Empty the file in case it is included in named.conf
-		[ -s "${named_confdir}/auto_forward.conf" ] &&
-		    create_file ${named_confdir}/auto_forward.conf
+		[ -s "${_named_confdir}/auto_forward.conf" ] &&
+		    create_file ${_named_confdir}/auto_forward.conf
 	fi
 
-	$checkconf $named_conf || err 3 'named-checkconf for $named_conf failed'
+	${checkconf} ${named_conf} || err 3 "named-checkconf for ${named_conf} failed"
 }
 
 run_rc_command "$1"

Modified: trunk/dns/bind99/files/named.root
===================================================================
--- trunk/dns/bind99/files/named.root	2016-09-28 00:22:14 UTC (rev 21900)
+++ trunk/dns/bind99/files/named.root	2016-09-28 00:35:53 UTC (rev 21901)
@@ -1,5 +1,5 @@
 ;
-; $FreeBSD: head/dns/bind99/files/named.root 406719 2016-01-19 21:13:06Z mat $
+; $FreeBSD: head/dns/bind99/files/named.root 414265 2016-04-29 10:04:43Z mat $
 ;
 
 ;       This file holds the information on root name servers needed to
@@ -13,8 +13,8 @@
 ;           on server           FTP.INTERNIC.NET
 ;       -OR-                    RS.INTERNIC.NET
 ;
-;       last update:    December 01, 2015
-;       related version of root zone:   2015120100
+;       last update:    March 23, 2016
+;       related version of root zone:   2016032301
 ;
 ; formerly NS.INTERNIC.NET
 ;
@@ -84,7 +84,7 @@
 ;
 .                        3600000      NS    L.ROOT-SERVERS.NET.
 L.ROOT-SERVERS.NET.      3600000      A     199.7.83.42
-L.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:3::42
+L.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:9f::42
 ;
 ; OPERATED BY WIDE
 ;

Modified: trunk/dns/bind99/files/patch-configure
===================================================================
--- trunk/dns/bind99/files/patch-configure	2016-09-28 00:22:14 UTC (rev 21900)
+++ trunk/dns/bind99/files/patch-configure	2016-09-28 00:35:53 UTC (rev 21901)
@@ -1,11 +1,90 @@
---- configure.orig	2014-09-16 19:27:20 UTC
+--- configure.orig	2016-04-20 20:11:30 UTC
 +++ configure
-@@ -14211,6 +14211,8 @@
- 		    "-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv" \
- 		    "-lgssapi" \
- 		    "-lgssapi -lkrb5 -ldes -lcrypt -lasn1 -lroken -lcom_err" \
-+		    "-lkrb5 -lgssapi_krb5 -lkrb5support -lk5crypto -lcom_err" \
-+		    "-lgssapi -lkrb5 -lgssapi_krb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
- 		    "-lgssapi -lkrb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
- 		    "-lgssapi -lkrb5 -lgssapi_krb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
- 		    "-lgssapi -lkrb5 -lhx509 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
+@@ -14329,27 +14329,9 @@ done
+ 		# problems start to show up.
+ 		saved_libs="$LIBS"
+ 		for TRY_LIBS in \
+-		    "-lgssapi_krb5" \
+-		    "-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err" \
+-		    "-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv" \
+-		    "-lgssapi" \
+-		    "-lgssapi -lkrb5 -ldes -lcrypt -lasn1 -lroken -lcom_err" \
+-		    "-lgssapi -lkrb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
+-		    "-lgssapi -lkrb5 -lgssapi_krb5 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
+-		    "-lgssapi -lkrb5 -lhx509 -lcrypto -lcrypt -lasn1 -lroken -lcom_err" \
+-		    "-lgss -lkrb5"
++		    "$($KRB5CONFIG gssapi --libs)"; \
+ 		do
+-		    # Note that this does not include $saved_libs, because
+-		    # on FreeBSD machines this configure script has added
+-		    # -L/usr/local/lib to LIBS, which can make the
+-		    # -lgssapi_krb5 test succeed with shared libraries even
+-		    # when you are trying to build with KTH in /usr/lib.
+-		    if test "$use_gssapi" = "/usr"
+-		    then
+-			    LIBS="$TRY_LIBS"
+-		    else
+-			    LIBS="-L$use_gssapi/lib $TRY_LIBS"
+-		    fi
++		    LIBS="$TRY_LIBS"
+ 		    { $as_echo "$as_me:${as_lineno-$LINENO}: checking linking as $TRY_LIBS" >&5
+ $as_echo_n "checking linking as $TRY_LIBS... " >&6; }
+ 		    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -14392,47 +14374,7 @@ $as_echo "no" >&6; } ;;
+ 		no) as_fn_error $? "could not determine proper GSSAPI linkage" "$LINENO" 5 ;;
+ 		esac
+ 
+-		#
+-		# XXXDCL Major kludge.  Tries to cope with KTH in /usr/lib
+-		# but MIT in /usr/local/lib and trying to build with KTH.
+-		# /usr/local/lib can end up earlier on the link lines.
+-		# Like most kludges, this one is not only inelegant it
+-		# is also likely to be the wrong thing to do at least as
+-		# many times as it is the right thing.  Something better
+-		# needs to be done.
+-		#
+-		if test "$use_gssapi" = "/usr" -a \
+-			-f /usr/local/lib/libkrb5.a; then
+-		    FIX_KTH_VS_MIT=yes
+-		fi
+-
+-		case "$FIX_KTH_VS_MIT" in
+-		yes)
+-		    case "$enable_static_linking" in
+-		    yes) gssapi_lib_suffix=".a"  ;;
+-		    *)   gssapi_lib_suffix=".so" ;;
+-		    esac
+-
+-		    for lib in $LIBS; do
+-			case $lib in
+-			-L*)
+-			    ;;
+-			-l*)
+-			    new_lib=`echo $lib |
+-				     sed -e s%^-l%$use_gssapi/lib/lib% \
+-					 -e s%$%$gssapi_lib_suffix%`
+-			    NEW_LIBS="$NEW_LIBS $new_lib"
+-			    ;;
+-			*)
+-			   as_fn_error $? "KTH vs MIT Kerberos confusion!" "$LINENO" 5
+-			    ;;
+-			esac
+-		    done
+-		    LIBS="$NEW_LIBS"
+-		    ;;
+-		esac
+-
+-		DST_GSSAPI_INC="-I$use_gssapi/include"
++		DST_GSSAPI_INC="$($KRB5CONFIG gssapi --cflags)"
+ 		DNS_GSSAPI_LIBS="$LIBS"
+ 
+ 		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using GSSAPI from $use_gssapi/lib and $use_gssapi/include" >&5
+@@ -20477,7 +20419,7 @@ $as_echo "" >&6; }
+ 			# Check other locations for includes.
+ 			# Order is important (sigh).
+ 
+-			bdb_incdirs="/db53 /db51 /db48 /db47 /db46 /db45 /db44 /db43 /db42 /db41 /db4 /db"
++			bdb_incdirs="/db6 /db5 /db48"
+ 			# include a blank element first
+ 			for d in "" $bdb_incdirs
+ 			do

Added: trunk/dns/bind99/files/pkg-message.in
===================================================================
--- trunk/dns/bind99/files/pkg-message.in	                        (rev 0)
+++ trunk/dns/bind99/files/pkg-message.in	2016-09-28 00:35:53 UTC (rev 21901)
@@ -0,0 +1,22 @@
+**********************************************************************
+*            _  _____ _____ _____ _   _ _____ ___ ___  _   _         *
+*           / \|_   _|_   _| ____| \ | |_   _|_ _/ _ \| \ | |        *
+*          / _ \ | |   | | |  _| |  \| | | |  | | | | |  \| |        *
+*         / ___ \| |   | | | |___| |\  | | |  | | |_| | |\  |        *
+*        /_/   \_\_|   |_| |_____|_| \_| |_| |___\___/|_| \_|        *
+*                                                                    *
+*   BIND requires configuration of rndc, including a "secret" key.   *
+*    The easiest, and most secure way to configure rndc is to run    *
+*   'rndc-confgen -a' to generate the proper conf file, with a new   *
+*            random key, and appropriate file permissions.           *
+*                                                                    *
+%%NOBASE%%*     The %%PREFIX%%/etc/rc.d/named script will do that for you.     *
+%%BASE%%*    The /etc/rc.d/named script in the base will do that for you.    *
+%%BASE%%*                                                                    *
+%%BASE%%*   You will need to make sure that you have the following line      *
+%%BASE%%*   in your /etc/rc.conf in order to have the startup script         *
+%%BASE%%*   run the named version from the port:                             *
+%%BASE%%*                                                                    *
+%%BASE%%*   named_program="%%PREFIX%%/sbin/named"                            *
+*                                                                    *
+**********************************************************************


Property changes on: trunk/dns/bind99/files/pkg-message.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/dns/bind99/pkg-help
===================================================================
--- trunk/dns/bind99/pkg-help	2016-09-28 00:22:14 UTC (rev 21900)
+++ trunk/dns/bind99/pkg-help	2016-09-28 00:35:53 UTC (rev 21901)
@@ -1,9 +1,14 @@
+                            GOST
+If using a chrooted instance of BIND on BSD
+the OpenSSL engines MUST be accessible from within the chroot.
+If BIND is chrooted in /var/named, this can be achieved by
+either copying content of /usr/local/lib/engines into
+/var/named/usr/local/lib/engines, or by creating that directory
+and adding this line to /etc/fstab:
+/usr/local/lib/engines  /var/named/usr/local/lib/engines nullfs ro 0 0
 
-                              GOST
-If using a chrooted instance of BIND, the OpenSSL engines
-need to be accessible from within the chroot.  If BIND
-is chrooted in /var/named, this can be achieved by either
-copying content of /usr/local/lib/engines into
-/var/named/usr/local/lib/engines, or by creating that
-directory and adding this line to /etc/fstab:
-/usr/local/lib/engines  /var/named/usr/local/lib/engines nullfs ro 0 0
+
+                         START_LATE
+Most of the time, BIND needs to start early in the boot
+process.  Enable this if BIND starts too early for you and
+you need it to start later.

Modified: trunk/dns/bind99/pkg-install
===================================================================
--- trunk/dns/bind99/pkg-install	2016-09-28 00:22:14 UTC (rev 21900)
+++ trunk/dns/bind99/pkg-install	2016-09-28 00:35:53 UTC (rev 21901)
@@ -1,15 +1,21 @@
 #!/bin/sh
+# ex:sw=8 sts=8
 
 if [ "$2" = 'POST-INSTALL' ]
 then
-	/bin/mkdir -p /var/named${PKG_PREFIX}/etc
+	/bin/mkdir -p /var/named${PKG_PREFIX}/etc/namedb
 fi
 
-for DIR in ${PKG_PREFIX}/etc /var/named${PKG_PREFIX}/etc; do
-	for FILE in named.conf rndc.key; do
+for DIR in ${PKG_PREFIX}/etc/namedb /var/named${PKG_PREFIX}/etc/namedb; do
+	for FILE in named.conf rndc.conf rndc.key; do
 		if [ "$2" = 'POST-INSTALL' ]
 		then
-			/bin/ln -sf /etc/namedb/${FILE} ${DIR}/${FILE}
+			if [ -e ${PKG_PREFIX}/etc/${FILE} ]
+			then
+				/bin/cp -a ${PKG_PREFIX}/etc/${FILE} ${DIR}/${FILE}
+			else
+				/bin/ln -sf /etc/namedb/${FILE} ${DIR}/${FILE}
+			fi
 		fi
 		if [ "$2" = 'POST-DEINSTALL' ]
 		then
@@ -20,7 +26,7 @@
 
 if [ "$2" = 'POST-DEINSTALL' ]
 then
-	cd /var/named && /bin/rmdir -p ./${PKG_PREFIX}/etc > /dev/null  2>&1 || :
+	cd /var/named && /bin/rmdir -p ./${PKG_PREFIX}/etc/namedb > /dev/null  2>&1 || :
 fi
 
 exit 0

Modified: trunk/dns/bind99/pkg-plist
===================================================================
--- trunk/dns/bind99/pkg-plist	2016-09-28 00:22:14 UTC (rev 21900)
+++ trunk/dns/bind99/pkg-plist	2016-09-28 00:35:53 UTC (rev 21901)
@@ -236,122 +236,122 @@
 lib/libisccc.a
 lib/libisccfg.a
 lib/liblwres.a
-%%SHARE_MAN%%man/man1/arpaname.1.gz
-%%SHARE_MAN%%man/man1/bind9-config.1.gz
-%%SHARE_MAN%%man/man1/dig.1.gz
-%%SHARE_MAN%%man/man1/host.1.gz
-%%SHARE_MAN%%man/man1/isc-config.sh.1.gz
-%%SHARE_MAN%%man/man1/nslookup.1.gz
-%%SHARE_MAN%%man/man1/nsupdate.1.gz
-%%SHARE_MAN%%man/man3/lwres.3.gz
-%%SHARE_MAN%%man/man3/lwres_addr_parse.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_add.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_back.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_clear.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_first.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_forward.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_getmem.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_getuint16.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_getuint32.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_getuint8.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_init.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_invalidate.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_putmem.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_putuint16.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_putuint32.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_putuint8.3.gz
-%%SHARE_MAN%%man/man3/lwres_buffer_subtract.3.gz
-%%SHARE_MAN%%man/man3/lwres_conf_clear.3.gz
-%%SHARE_MAN%%man/man3/lwres_conf_get.3.gz
-%%SHARE_MAN%%man/man3/lwres_conf_init.3.gz
-%%SHARE_MAN%%man/man3/lwres_conf_parse.3.gz
-%%SHARE_MAN%%man/man3/lwres_conf_print.3.gz
-%%SHARE_MAN%%man/man3/lwres_config.3.gz
-%%SHARE_MAN%%man/man3/lwres_context.3.gz
-%%SHARE_MAN%%man/man3/lwres_context_allocmem.3.gz
-%%SHARE_MAN%%man/man3/lwres_context_create.3.gz
-%%SHARE_MAN%%man/man3/lwres_context_destroy.3.gz
-%%SHARE_MAN%%man/man3/lwres_context_freemem.3.gz
-%%SHARE_MAN%%man/man3/lwres_context_initserial.3.gz
-%%SHARE_MAN%%man/man3/lwres_context_nextserial.3.gz
-%%SHARE_MAN%%man/man3/lwres_context_sendrecv.3.gz
-%%SHARE_MAN%%man/man3/lwres_endhostent.3.gz
-%%SHARE_MAN%%man/man3/lwres_endhostent_r.3.gz
-%%SHARE_MAN%%man/man3/lwres_freeaddrinfo.3.gz
-%%SHARE_MAN%%man/man3/lwres_freehostent.3.gz
-%%SHARE_MAN%%man/man3/lwres_gabn.3.gz
-%%SHARE_MAN%%man/man3/lwres_gabnrequest_free.3.gz
-%%SHARE_MAN%%man/man3/lwres_gabnrequest_parse.3.gz
-%%SHARE_MAN%%man/man3/lwres_gabnrequest_render.3.gz
-%%SHARE_MAN%%man/man3/lwres_gabnresponse_free.3.gz
-%%SHARE_MAN%%man/man3/lwres_gabnresponse_parse.3.gz
-%%SHARE_MAN%%man/man3/lwres_gabnresponse_render.3.gz
-%%SHARE_MAN%%man/man3/lwres_gai_strerror.3.gz
-%%SHARE_MAN%%man/man3/lwres_getaddrinfo.3.gz
-%%SHARE_MAN%%man/man3/lwres_getaddrsbyname.3.gz
-%%SHARE_MAN%%man/man3/lwres_gethostbyaddr.3.gz
-%%SHARE_MAN%%man/man3/lwres_gethostbyaddr_r.3.gz
-%%SHARE_MAN%%man/man3/lwres_gethostbyname.3.gz
-%%SHARE_MAN%%man/man3/lwres_gethostbyname2.3.gz
-%%SHARE_MAN%%man/man3/lwres_gethostbyname_r.3.gz
-%%SHARE_MAN%%man/man3/lwres_gethostent.3.gz
-%%SHARE_MAN%%man/man3/lwres_gethostent_r.3.gz
-%%SHARE_MAN%%man/man3/lwres_getipnode.3.gz
-%%SHARE_MAN%%man/man3/lwres_getipnodebyaddr.3.gz
-%%SHARE_MAN%%man/man3/lwres_getipnodebyname.3.gz
-%%SHARE_MAN%%man/man3/lwres_getnamebyaddr.3.gz
-%%SHARE_MAN%%man/man3/lwres_getnameinfo.3.gz
-%%SHARE_MAN%%man/man3/lwres_getrrsetbyname.3.gz
-%%SHARE_MAN%%man/man3/lwres_gnba.3.gz
-%%SHARE_MAN%%man/man3/lwres_gnbarequest_free.3.gz
-%%SHARE_MAN%%man/man3/lwres_gnbarequest_parse.3.gz
-%%SHARE_MAN%%man/man3/lwres_gnbarequest_render.3.gz
-%%SHARE_MAN%%man/man3/lwres_gnbaresponse_free.3.gz
-%%SHARE_MAN%%man/man3/lwres_gnbaresponse_parse.3.gz
-%%SHARE_MAN%%man/man3/lwres_gnbaresponse_render.3.gz
-%%SHARE_MAN%%man/man3/lwres_herror.3.gz
-%%SHARE_MAN%%man/man3/lwres_hstrerror.3.gz
-%%SHARE_MAN%%man/man3/lwres_inetntop.3.gz
-%%SHARE_MAN%%man/man3/lwres_lwpacket_parseheader.3.gz
-%%SHARE_MAN%%man/man3/lwres_lwpacket_renderheader.3.gz
-%%SHARE_MAN%%man/man3/lwres_net_ntop.3.gz
-%%SHARE_MAN%%man/man3/lwres_noop.3.gz
-%%SHARE_MAN%%man/man3/lwres_nooprequest_free.3.gz
-%%SHARE_MAN%%man/man3/lwres_nooprequest_parse.3.gz
-%%SHARE_MAN%%man/man3/lwres_nooprequest_render.3.gz
-%%SHARE_MAN%%man/man3/lwres_noopresponse_free.3.gz
-%%SHARE_MAN%%man/man3/lwres_noopresponse_parse.3.gz
-%%SHARE_MAN%%man/man3/lwres_noopresponse_render.3.gz
-%%SHARE_MAN%%man/man3/lwres_packet.3.gz
-%%SHARE_MAN%%man/man3/lwres_resutil.3.gz
-%%SHARE_MAN%%man/man3/lwres_sethostent.3.gz
-%%SHARE_MAN%%man/man3/lwres_sethostent_r.3.gz
-%%SHARE_MAN%%man/man3/lwres_string_parse.3.gz
-%%SHARE_MAN%%man/man5/named.conf.5.gz
-%%SHARE_MAN%%man/man5/rndc.conf.5.gz
-%%SHARE_MAN%%man/man8/ddns-confgen.8.gz
-%%PYTHON%%%%SHARE_MAN%%man/man8/dnssec-checkds.8.gz
-%%PYTHON%%%%SHARE_MAN%%man/man8/dnssec-coverage.8.gz
-%%SHARE_MAN%%man/man8/dnssec-dsfromkey.8.gz
-%%SHARE_MAN%%man/man8/dnssec-importkey.8.gz
-%%SHARE_MAN%%man/man8/dnssec-keyfromlabel.8.gz
-%%SHARE_MAN%%man/man8/dnssec-keygen.8.gz
-%%SHARE_MAN%%man/man8/dnssec-revoke.8.gz
-%%SHARE_MAN%%man/man8/dnssec-settime.8.gz
-%%SHARE_MAN%%man/man8/dnssec-signzone.8.gz
-%%SHARE_MAN%%man/man8/dnssec-verify.8.gz
-%%SHARE_MAN%%man/man8/genrandom.8.gz
-%%SHARE_MAN%%man/man8/isc-hmac-fixup.8.gz
-%%SHARE_MAN%%man/man8/lwresd.8.gz
-%%SHARE_MAN%%man/man8/named-checkconf.8.gz
-%%SHARE_MAN%%man/man8/named-checkzone.8.gz
-%%SHARE_MAN%%man/man8/named-compilezone.8.gz
-%%SHARE_MAN%%man/man8/named-journalprint.8.gz
-%%SHARE_MAN%%man/man8/named.8.gz
-%%SHARE_MAN%%man/man8/nsec3hash.8.gz
-%%SHARE_MAN%%man/man8/rndc-confgen.8.gz
-%%SHARE_MAN%%man/man8/rndc.8.gz
+man/man1/arpaname.1.gz
+man/man1/bind9-config.1.gz
+man/man1/dig.1.gz
+man/man1/host.1.gz
+man/man1/isc-config.sh.1.gz
+man/man1/nslookup.1.gz
+man/man1/nsupdate.1.gz
+man/man3/lwres.3.gz
+man/man3/lwres_addr_parse.3.gz
+man/man3/lwres_buffer.3.gz
+man/man3/lwres_buffer_add.3.gz
+man/man3/lwres_buffer_back.3.gz
+man/man3/lwres_buffer_clear.3.gz
+man/man3/lwres_buffer_first.3.gz
+man/man3/lwres_buffer_forward.3.gz
+man/man3/lwres_buffer_getmem.3.gz
+man/man3/lwres_buffer_getuint16.3.gz
+man/man3/lwres_buffer_getuint32.3.gz
+man/man3/lwres_buffer_getuint8.3.gz
+man/man3/lwres_buffer_init.3.gz
+man/man3/lwres_buffer_invalidate.3.gz
+man/man3/lwres_buffer_putmem.3.gz
+man/man3/lwres_buffer_putuint16.3.gz
+man/man3/lwres_buffer_putuint32.3.gz
+man/man3/lwres_buffer_putuint8.3.gz
+man/man3/lwres_buffer_subtract.3.gz
+man/man3/lwres_conf_clear.3.gz
+man/man3/lwres_conf_get.3.gz
+man/man3/lwres_conf_init.3.gz
+man/man3/lwres_conf_parse.3.gz
+man/man3/lwres_conf_print.3.gz
+man/man3/lwres_config.3.gz
+man/man3/lwres_context.3.gz
+man/man3/lwres_context_allocmem.3.gz
+man/man3/lwres_context_create.3.gz
+man/man3/lwres_context_destroy.3.gz
+man/man3/lwres_context_freemem.3.gz
+man/man3/lwres_context_initserial.3.gz
+man/man3/lwres_context_nextserial.3.gz
+man/man3/lwres_context_sendrecv.3.gz
+man/man3/lwres_endhostent.3.gz
+man/man3/lwres_endhostent_r.3.gz
+man/man3/lwres_freeaddrinfo.3.gz
+man/man3/lwres_freehostent.3.gz
+man/man3/lwres_gabn.3.gz
+man/man3/lwres_gabnrequest_free.3.gz
+man/man3/lwres_gabnrequest_parse.3.gz
+man/man3/lwres_gabnrequest_render.3.gz
+man/man3/lwres_gabnresponse_free.3.gz
+man/man3/lwres_gabnresponse_parse.3.gz
+man/man3/lwres_gabnresponse_render.3.gz
+man/man3/lwres_gai_strerror.3.gz
+man/man3/lwres_getaddrinfo.3.gz
+man/man3/lwres_getaddrsbyname.3.gz
+man/man3/lwres_gethostbyaddr.3.gz
+man/man3/lwres_gethostbyaddr_r.3.gz
+man/man3/lwres_gethostbyname.3.gz
+man/man3/lwres_gethostbyname2.3.gz
+man/man3/lwres_gethostbyname_r.3.gz
+man/man3/lwres_gethostent.3.gz
+man/man3/lwres_gethostent_r.3.gz
+man/man3/lwres_getipnode.3.gz
+man/man3/lwres_getipnodebyaddr.3.gz
+man/man3/lwres_getipnodebyname.3.gz
+man/man3/lwres_getnamebyaddr.3.gz
+man/man3/lwres_getnameinfo.3.gz
+man/man3/lwres_getrrsetbyname.3.gz
+man/man3/lwres_gnba.3.gz
+man/man3/lwres_gnbarequest_free.3.gz
+man/man3/lwres_gnbarequest_parse.3.gz
+man/man3/lwres_gnbarequest_render.3.gz
+man/man3/lwres_gnbaresponse_free.3.gz
+man/man3/lwres_gnbaresponse_parse.3.gz
+man/man3/lwres_gnbaresponse_render.3.gz
+man/man3/lwres_herror.3.gz
+man/man3/lwres_hstrerror.3.gz
+man/man3/lwres_inetntop.3.gz
+man/man3/lwres_lwpacket_parseheader.3.gz
+man/man3/lwres_lwpacket_renderheader.3.gz
+man/man3/lwres_net_ntop.3.gz
+man/man3/lwres_noop.3.gz
+man/man3/lwres_nooprequest_free.3.gz
+man/man3/lwres_nooprequest_parse.3.gz
+man/man3/lwres_nooprequest_render.3.gz
+man/man3/lwres_noopresponse_free.3.gz
+man/man3/lwres_noopresponse_parse.3.gz
+man/man3/lwres_noopresponse_render.3.gz
+man/man3/lwres_packet.3.gz
+man/man3/lwres_resutil.3.gz
+man/man3/lwres_sethostent.3.gz
+man/man3/lwres_sethostent_r.3.gz
+man/man3/lwres_string_parse.3.gz
+man/man5/named.conf.5.gz
+man/man5/rndc.conf.5.gz
+man/man8/ddns-confgen.8.gz
+%%PYTHON%%man/man8/dnssec-checkds.8.gz
+%%PYTHON%%man/man8/dnssec-coverage.8.gz
+man/man8/dnssec-dsfromkey.8.gz
+man/man8/dnssec-importkey.8.gz
+man/man8/dnssec-keyfromlabel.8.gz
+man/man8/dnssec-keygen.8.gz
+man/man8/dnssec-revoke.8.gz
+man/man8/dnssec-settime.8.gz
+man/man8/dnssec-signzone.8.gz
+man/man8/dnssec-verify.8.gz
+man/man8/genrandom.8.gz
+man/man8/isc-hmac-fixup.8.gz
+man/man8/lwresd.8.gz
+man/man8/named-checkconf.8.gz
+man/man8/named-checkzone.8.gz
+man/man8/named-compilezone.8.gz
+man/man8/named-journalprint.8.gz
+man/man8/named.8.gz
+man/man8/nsec3hash.8.gz
+man/man8/rndc-confgen.8.gz
+man/man8/rndc.8.gz
 sbin/arpaname
 sbin/ddns-confgen
 %%PYTHON%%sbin/dnssec-checkds
@@ -375,15 +375,16 @@
 sbin/nsec3hash
 sbin/rndc
 sbin/rndc-confgen
-%%BASE%%etc/bind.keys
-%%NOBASE%%%%ETCDIR%%/bind.keys
+%%ETCDIR%%/rndc.conf.sample
+%%ETCDIR%%/bind.keys
+%%NOBASE%%etc/mtree/BIND.chroot.dist
+%%NOBASE%%etc/mtree/BIND.chroot.local.dist
 %%NOBASE%%@sample %%ETCDIR%%/named.conf.sample
 %%NOBASE%%%%ETCDIR%%/named.root
 %%NOBASE%%%%ETCDIR%%/master/empty.db
 %%NOBASE%%%%ETCDIR%%/master/localhost-forward.db
 %%NOBASE%%%%ETCDIR%%/master/localhost-reverse.db
-%%NOBASE%%%%ETCDIR%%/rndc.conf.sample
 %%NOBASE%%@dir(bind,bind,) %%ETCDIR%%/dynamic
-%%NOBASE%%@dir(bind,bind,) %%ETCDIR%%/master
+%%NOBASE%%@dir %%ETCDIR%%/master
 %%NOBASE%%@dir(bind,bind,) %%ETCDIR%%/slave
 %%NOBASE%%@dir(bind,bind,) %%ETCDIR%%/working



More information about the Midnightbsd-cvs mailing list