summaryrefslogtreecommitdiff
path: root/usr.sbin/bind/bin/named
diff options
context:
space:
mode:
authorJakob Schlyter <jakob@cvs.openbsd.org>2004-09-28 16:36:11 +0000
committerJakob Schlyter <jakob@cvs.openbsd.org>2004-09-28 16:36:11 +0000
commite89047d826b7f97551768d5ac32cbda8cb5b72b8 (patch)
tree5ef67c015854f54a701d53b0fed0662a85e9f0d1 /usr.sbin/bind/bin/named
parent759ea572586be172c3e200dcfae39c1fc0ca1f5a (diff)
ISC BIND version 9.3.0. ok deraadt@
Diffstat (limited to 'usr.sbin/bind/bin/named')
-rw-r--r--usr.sbin/bind/bin/named/Makefile.in69
-rw-r--r--usr.sbin/bind/bin/named/builtin.c228
-rw-r--r--usr.sbin/bind/bin/named/include/named/builtin.h29
-rw-r--r--usr.sbin/bind/bin/named/include/named/client.h55
-rw-r--r--usr.sbin/bind/bin/named/include/named/config.h27
-rw-r--r--usr.sbin/bind/bin/named/include/named/interfacemgr.h40
-rw-r--r--usr.sbin/bind/bin/named/include/named/listenlist.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/log.h21
-rw-r--r--usr.sbin/bind/bin/named/include/named/logconf.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/lwaddr.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/lwdclient.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/lwresd.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/lwsearch.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/main.h21
-rw-r--r--usr.sbin/bind/bin/named/include/named/notify.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/query.h32
-rw-r--r--usr.sbin/bind/bin/named/include/named/server.h72
-rw-r--r--usr.sbin/bind/bin/named/include/named/sortlist.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/tkeyconf.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/tsigconf.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/types.h20
-rw-r--r--usr.sbin/bind/bin/named/include/named/update.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/xfrout.h18
-rw-r--r--usr.sbin/bind/bin/named/include/named/zoneconf.h18
-rw-r--r--usr.sbin/bind/bin/named/listenlist.c18
-rw-r--r--usr.sbin/bind/bin/named/log.c34
-rw-r--r--usr.sbin/bind/bin/named/logconf.c21
-rw-r--r--usr.sbin/bind/bin/named/lwaddr.c18
-rw-r--r--usr.sbin/bind/bin/named/lwdclient.c49
-rw-r--r--usr.sbin/bind/bin/named/lwderror.c18
-rw-r--r--usr.sbin/bind/bin/named/lwdgabn.c22
-rw-r--r--usr.sbin/bind/bin/named/lwdgrbn.c22
-rw-r--r--usr.sbin/bind/bin/named/lwdnoop.c18
-rw-r--r--usr.sbin/bind/bin/named/lwresd.821
-rw-r--r--usr.sbin/bind/bin/named/lwresd.docbook20
-rw-r--r--usr.sbin/bind/bin/named/lwsearch.c18
-rw-r--r--usr.sbin/bind/bin/named/named.conf.5474
-rw-r--r--usr.sbin/bind/bin/named/named.conf.docbook532
-rw-r--r--usr.sbin/bind/bin/named/named.conf.html1893
-rw-r--r--usr.sbin/bind/bin/named/sortlist.c94
-rw-r--r--usr.sbin/bind/bin/named/tkeyconf.c23
-rw-r--r--usr.sbin/bind/bin/named/tsigconf.c18
-rw-r--r--usr.sbin/bind/bin/named/unix/Makefile.in20
-rw-r--r--usr.sbin/bind/bin/named/zoneconf.c151
44 files changed, 3882 insertions, 450 deletions
diff --git a/usr.sbin/bind/bin/named/Makefile.in b/usr.sbin/bind/bin/named/Makefile.in
index d48e8947616..689204a8b34 100644
--- a/usr.sbin/bind/bin/named/Makefile.in
+++ b/usr.sbin/bind/bin/named/Makefile.in
@@ -1,19 +1,19 @@
-# Copyright (C) 1998-2001 Internet Software Consortium.
+# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 1998-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
-# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
-# DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
-# INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
-# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
-# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
-# $ISC: Makefile.in,v 1.74 2001/06/01 00:45:00 bwelling Exp $
+# $ISC: Makefile.in,v 1.74.12.10 2004/08/21 06:22:40 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,7 +21,7 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
-@BIND9_INCLUDES@
+@BIND9_MAKE_INCLUDES@
#
# Add database drivers here.
@@ -32,36 +32,39 @@ DBDRIVER_INCLUDES =
DBDRIVER_LIBS =
CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include \
- ${LWRES_INCLUDES} ${DNS_INCLUDES} \
+ ${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \
${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \
${DBDRIVER_INCLUDES}
CDEFINES =
CWARNINGS =
-DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@ @DNS_GSSAPI_LIBS@
+DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
ISCCCLIBS = ../../lib/isccc/libisccc.@A@
ISCLIBS = ../../lib/isc/libisc.@A@
LWRESLIBS = ../../lib/lwres/liblwres.@A@
+BIND9LIBS = ../../lib/bind9/libbind9.@A@
DNSDEPLIBS = ../../lib/dns/libdns.@A@
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
ISCCCDEPLIBS = ../../lib/isccc/libisccc.@A@
ISCDEPLIBS = ../../lib/isc/libisc.@A@
LWRESDEPLIBS = ../../lib/lwres/liblwres.@A@
+BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@
-DEPLIBS = ${LWRESDEPLIBS} ${DNSDEPLIBS} \
+DEPLIBS = ${LWRESDEPLIBS} ${DNSDEPLIBS} ${BIND9DEPLIBS} \
${ISCCFGDEPLIBS} ${ISCCCDEPLIBS} ${ISCDEPLIBS}
-LIBS = ${LWRESLIBS} ${DNSLIBS} \
+LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \
${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} ${DBDRIVER_LIBS} @LIBS@
SUBDIRS = unix
-TARGETS = named lwresd
+TARGETS = named@EXEEXT@ lwresd@EXEEXT@
-OBJS = aclconf.@O@ client.@O@ config.@O@ control.@O@ controlconf.@O@ interfacemgr.@O@ \
+OBJS = aclconf.@O@ builtin.@O@ client.@O@ config.@O@ control.@O@ \
+ controlconf.@O@ interfacemgr.@O@ \
listenlist.@O@ log.@O@ logconf.@O@ main.@O@ notify.@O@ \
query.@O@ server.@O@ sortlist.@O@ \
tkeyconf.@O@ tsigconf.@O@ update.@O@ xfrout.@O@ \
@@ -72,7 +75,8 @@ OBJS = aclconf.@O@ client.@O@ config.@O@ control.@O@ controlconf.@O@ interfacem
UOBJS = unix/os.@O@
-SRCS = aclconf.c client.c config.c control.c controlconf.c interfacemgr.c \
+SRCS = aclconf.c builtin.c client.c config.c control.c \
+ controlconf.c interfacemgr.c \
listenlist.c log.c logconf.c main.c notify.c \
query.c server.c sortlist.c \
tkeyconf.c tsigconf.c update.c xfrout.c \
@@ -81,30 +85,33 @@ SRCS = aclconf.c client.c config.c control.c controlconf.c interfacemgr.c \
lwdgnba.c lwdgrbn.c lwdnoop.c lwsearch.c \
$(DBDRIVER_SRCS)
-MANPAGES = named.8 lwresd.8
+MANPAGES = named.8 lwresd.8 named.conf.5
-HTMLPAGES = named.html lwresd.html
+HTMLPAGES = named.html lwresd.html named.conf.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
main.@O@: main.c
- ${LIBTOOL} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
+ ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
+ -DVERSION=\"${VERSION}\" \
-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
-DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main.c
config.@O@: config.c
- ${LIBTOOL} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
+ ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
+ -DVERSION=\"${VERSION}\" \
-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
-c ${srcdir}/config.c
-named: ${OBJS} ${UOBJS} ${DEPLIBS}
- ${LIBTOOL} ${PURIFY} ${CC} ${CFLAGS} -o $@ ${OBJS} ${UOBJS} ${LIBS}
+named@EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS}
+ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
+ ${OBJS} ${UOBJS} ${LIBS}
-lwresd: named
- rm -f lwresd
- @LN@ named lwresd
+lwresd@EXEEXT@: named@EXEEXT@
+ rm -f lwresd@EXEEXT@
+ @LN@ named@EXEEXT@ lwresd@EXEEXT@
doc man:: ${MANOBJS}
@@ -112,13 +119,13 @@ docclean manclean maintainer-clean::
rm -f ${MANOBJS}
clean distclean maintainer-clean::
- rm -f ${TARGETS}
+ rm -f ${TARGETS} ${OBJS}
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
-install:: named lwresd installdirs
- ${LIBTOOL} ${INSTALL_PROGRAM} named ${DESTDIR}${sbindir}
- (cd ${DESTDIR}${sbindir}; rm -f lwresd; @LN@ named lwresd)
+install:: named@EXEEXT@ lwresd@EXEEXT@ installdirs
+ ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named@EXEEXT@ ${DESTDIR}${sbindir}
+ (cd ${DESTDIR}${sbindir}; rm -f lwresd@EXEEXT@; @LN@ named@EXEEXT@ lwresd@EXEEXT@)
for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man8; done
diff --git a/usr.sbin/bind/bin/named/builtin.c b/usr.sbin/bind/bin/named/builtin.c
new file mode 100644
index 00000000000..9c8ab02a36a
--- /dev/null
+++ b/usr.sbin/bind/bin/named/builtin.c
@@ -0,0 +1,228 @@
+/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2001-2003 Internet Software Consortium.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $ISC: builtin.c,v 1.4.106.4 2004/03/08 04:04:18 marka Exp $ */
+
+/*
+ * The built-in "version", "hostname", "id" and "authors" databases.
+ */
+
+#include <config.h>
+
+#include <string.h>
+#include <stdio.h>
+
+#include <isc/print.h>
+#include <isc/result.h>
+#include <isc/util.h>
+
+#include <dns/sdb.h>
+#include <dns/result.h>
+
+#include <named/builtin.h>
+#include <named/globals.h>
+#include <named/server.h>
+#include <named/os.h>
+
+typedef struct builtin builtin_t;
+
+static isc_result_t do_version_lookup(dns_sdblookup_t *lookup);
+static isc_result_t do_hostname_lookup(dns_sdblookup_t *lookup);
+static isc_result_t do_authors_lookup(dns_sdblookup_t *lookup);
+static isc_result_t do_id_lookup(dns_sdblookup_t *lookup);
+
+/*
+ * We can't use function pointers as the db_data directly
+ * because ANSI C does not guarantee that function pointers
+ * can safely be cast to void pointers and back.
+ */
+
+struct builtin {
+ isc_result_t (*do_lookup)(dns_sdblookup_t *lookup);
+};
+
+static builtin_t version_builtin = { do_version_lookup };
+static builtin_t hostname_builtin = { do_hostname_lookup };
+static builtin_t authors_builtin = { do_authors_lookup };
+static builtin_t id_builtin = { do_id_lookup };
+
+static dns_sdbimplementation_t *builtin_impl;
+
+static isc_result_t
+builtin_lookup(const char *zone, const char *name, void *dbdata,
+ dns_sdblookup_t *lookup)
+{
+ builtin_t *b = (builtin_t *) dbdata;
+
+ UNUSED(zone);
+
+ if (strcmp(name, "@") == 0)
+ return (b->do_lookup(lookup));
+ else
+ return (ISC_R_NOTFOUND);
+}
+
+static isc_result_t
+put_txt(dns_sdblookup_t *lookup, const char *text) {
+ unsigned char buf[256];
+ unsigned int len = strlen(text);
+ if (len > 255)
+ len = 255; /* Silently truncate */
+ buf[0] = len;
+ memcpy(&buf[1], text, len);
+ return (dns_sdb_putrdata(lookup, dns_rdatatype_txt, 0, buf, len + 1));
+}
+
+static isc_result_t
+do_version_lookup(dns_sdblookup_t *lookup) {
+ if (ns_g_server->version_set) {
+ if (ns_g_server->version == NULL)
+ return (ISC_R_SUCCESS);
+ else
+ return (put_txt(lookup, ns_g_server->version));
+ } else {
+ return (put_txt(lookup, ns_g_version));
+ }
+}
+
+static isc_result_t
+do_hostname_lookup(dns_sdblookup_t *lookup) {
+ if (ns_g_server->hostname_set) {
+ if (ns_g_server->hostname == NULL)
+ return (ISC_R_SUCCESS);
+ else
+ return (put_txt(lookup, ns_g_server->hostname));
+ } else {
+ char buf[256];
+ isc_result_t result = ns_os_gethostname(buf, sizeof(buf));
+ if (result != ISC_R_SUCCESS)
+ return (result);
+ return (put_txt(lookup, buf));
+ }
+}
+
+static isc_result_t
+do_authors_lookup(dns_sdblookup_t *lookup) {
+ isc_result_t result;
+ const char **p;
+ static const char *authors[] = {
+ "Mark Andrews",
+ "James Brister",
+ "Ben Cottrell",
+ "Michael Graff",
+ "Andreas Gustafsson",
+ "Bob Halley",
+ "David Lawrence",
+ "Danny Mayer",
+ "Damien Neil",
+ "Matt Nelson",
+ "Michael Sawyer",
+ "Brian Wellington",
+ NULL
+ };
+
+ /*
+ * If a version string is specified, disable the authors.bind zone.
+ */
+ if (ns_g_server->version_set)
+ return (ISC_R_SUCCESS);
+
+ for (p = authors; *p != NULL; p++) {
+ result = put_txt(lookup, *p);
+ if (result != ISC_R_SUCCESS)
+ return (result);
+ }
+ return (ISC_R_SUCCESS);
+}
+
+static isc_result_t
+do_id_lookup(dns_sdblookup_t *lookup) {
+
+ if (ns_g_server->server_usehostname) {
+ char buf[256];
+ isc_result_t result = ns_os_gethostname(buf, sizeof(buf));
+ if (result != ISC_R_SUCCESS)
+ return (result);
+ return (put_txt(lookup, buf));
+ }
+
+ if (ns_g_server->server_id == NULL)
+ return (ISC_R_SUCCESS);
+ else
+ return (put_txt(lookup, ns_g_server->server_id));
+}
+
+static isc_result_t
+builtin_authority(const char *zone, void *dbdata, dns_sdblookup_t *lookup) {
+ isc_result_t result;
+
+ UNUSED(zone);
+ UNUSED(dbdata);
+
+ result = dns_sdb_putsoa(lookup, "@", "hostmaster", 0);
+ if (result != ISC_R_SUCCESS)
+ return (ISC_R_FAILURE);
+ result = dns_sdb_putrr(lookup, "ns", 0, "@");
+ if (result != ISC_R_SUCCESS)
+ return (ISC_R_FAILURE);
+
+ return (ISC_R_SUCCESS);
+}
+
+static isc_result_t
+builtin_create(const char *zone, int argc, char **argv,
+ void *driverdata, void **dbdata)
+{
+ UNUSED(zone);
+ UNUSED(driverdata);
+ if (argc != 1)
+ return (DNS_R_SYNTAX);
+ if (strcmp(argv[0], "version") == 0)
+ *dbdata = &version_builtin;
+ else if (strcmp(argv[0], "hostname") == 0)
+ *dbdata = &hostname_builtin;
+ else if (strcmp(argv[0], "authors") == 0)
+ *dbdata = &authors_builtin;
+ else if (strcmp(argv[0], "id") == 0)
+ *dbdata = &id_builtin;
+ else
+ return (ISC_R_NOTIMPLEMENTED);
+ return (ISC_R_SUCCESS);
+}
+
+static dns_sdbmethods_t builtin_methods = {
+ builtin_lookup,
+ builtin_authority,
+ NULL, /* allnodes */
+ builtin_create,
+ NULL /* destroy */
+};
+
+isc_result_t
+ns_builtin_init(void) {
+ RUNTIME_CHECK(dns_sdb_register("_builtin", &builtin_methods, NULL,
+ DNS_SDBFLAG_RELATIVEOWNER |
+ DNS_SDBFLAG_RELATIVERDATA,
+ ns_g_mctx, &builtin_impl)
+ == ISC_R_SUCCESS);
+ return (ISC_R_SUCCESS);
+}
+
+void
+ns_builtin_deinit(void) {
+ dns_sdb_unregister(&builtin_impl);
+}
diff --git a/usr.sbin/bind/bin/named/include/named/builtin.h b/usr.sbin/bind/bin/named/include/named/builtin.h
new file mode 100644
index 00000000000..8f322c6a7c5
--- /dev/null
+++ b/usr.sbin/bind/bin/named/include/named/builtin.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2001 Internet Software Consortium.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* $ISC: builtin.h,v 1.1.204.3 2004/03/08 04:04:20 marka Exp $ */
+
+#ifndef NAMED_BUILTIN_H
+#define NAMED_BUILTIN_H 1
+
+#include <isc/types.h>
+
+isc_result_t ns_builtin_init(void);
+
+void ns_builtin_deinit(void);
+
+#endif /* NAMED_BUILTIN_H */
diff --git a/usr.sbin/bind/bin/named/include/named/client.h b/usr.sbin/bind/bin/named/include/named/client.h
index 1c1f75610b1..6f32b9b2562 100644
--- a/usr.sbin/bind/bin/named/include/named/client.h
+++ b/usr.sbin/bind/bin/named/include/named/client.h
@@ -1,21 +1,21 @@
/*
- * Copyright (C) 1999-2001 Internet Software Consortium.
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: client.h,v 1.60.2.2 2001/11/15 02:51:46 marka Exp $ */
+/* $ISC: client.h,v 1.60.2.2.10.8 2004/07/23 02:56:52 marka Exp $ */
#ifndef NAMED_CLIENT_H
#define NAMED_CLIENT_H 1
@@ -68,10 +68,13 @@
#include <isc/stdtime.h>
#include <isc/quota.h>
+#include <dns/fixedname.h>
#include <dns/name.h>
-#include <dns/types.h>
+#include <dns/rdataclass.h>
+#include <dns/rdatatype.h>
#include <dns/tcpmsg.h>
-#include <dns/fixedname.h>
+#include <dns/types.h>
+
#include <named/types.h>
#include <named/query.h>
@@ -91,6 +94,7 @@ struct ns_client {
int nreads;
int nsends;
int nrecvs;
+ int nupdates;
int nctls;
int references;
unsigned int attributes;
@@ -153,6 +157,8 @@ struct ns_client {
#define NS_CLIENTATTR_RA 0x02 /* Client gets recusive service */
#define NS_CLIENTATTR_PKTINFO 0x04 /* pktinfo is valid */
#define NS_CLIENTATTR_MULTICAST 0x08 /* recv'd from multicast */
+#define NS_CLIENTATTR_WANTDNSSEC 0x10 /* include dnssec records */
+
/***
*** Functions
@@ -304,7 +310,28 @@ ns_client_log(ns_client_t *client, isc_logcategory_t *category,
const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6);
void
-ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdataclass_t rdclass,
- char *buf, size_t len);
+ns_client_logv(ns_client_t *client, isc_logcategory_t *category,
+ isc_logmodule_t *module, int level, const char *fmt, va_list ap) ISC_FORMAT_PRINTF(5, 0);
+
+void
+ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdatatype_t type,
+ dns_rdataclass_t rdclass, char *buf, size_t len);
+
+#define NS_CLIENT_ACLMSGSIZE(x) \
+ (DNS_NAME_FORMATSIZE + DNS_RDATATYPE_FORMATSIZE + \
+ DNS_RDATACLASS_FORMATSIZE + sizeof(x) + sizeof("'/'"))
+
+void
+ns_client_recursing(ns_client_t *client, isc_boolean_t killoldest);
+/*
+ * Add client to end of recursing list. If 'killoldest' is true
+ * kill the oldest recursive client (list head).
+ */
+
+void
+ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager);
+/*
+ * Dump the outstanding recursive queries to 'f'.
+ */
#endif /* NAMED_CLIENT_H */
diff --git a/usr.sbin/bind/bin/named/include/named/config.h b/usr.sbin/bind/bin/named/include/named/config.h
index 842db8cfa5d..b65276dafc2 100644
--- a/usr.sbin/bind/bin/named/include/named/config.h
+++ b/usr.sbin/bind/bin/named/include/named/config.h
@@ -1,21 +1,21 @@
/*
- * Copyright (C) 2001 Internet Software Consortium.
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2001, 2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: config.h,v 1.4 2001/08/09 17:21:06 gson Exp $ */
+/* $ISC: config.h,v 1.4.12.4 2004/04/20 14:12:10 marka Exp $ */
#ifndef NAMED_CONFIG_H
#define NAMED_CONFIG_H 1
@@ -31,6 +31,9 @@ ns_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf);
isc_result_t
ns_config_get(cfg_obj_t **maps, const char* name, cfg_obj_t **obj);
+isc_result_t
+ns_checknames_get(cfg_obj_t **maps, const char* name, cfg_obj_t **obj);
+
int
ns_config_listcount(cfg_obj_t *list);
@@ -38,6 +41,10 @@ isc_result_t
ns_config_getclass(cfg_obj_t *classobj, dns_rdataclass_t defclass,
dns_rdataclass_t *classp);
+isc_result_t
+ns_config_gettype(cfg_obj_t *typeobj, dns_rdatatype_t deftype,
+ dns_rdatatype_t *typep);
+
dns_zonetype_t
ns_config_getzonetype(cfg_obj_t *zonetypeobj);
diff --git a/usr.sbin/bind/bin/named/include/named/interfacemgr.h b/usr.sbin/bind/bin/named/include/named/interfacemgr.h
index 4173e4cb6ec..4ba58dc2df2 100644
--- a/usr.sbin/bind/bin/named/include/named/interfacemgr.h
+++ b/usr.sbin/bind/bin/named/include/named/interfacemgr.h
@@ -1,21 +1,21 @@
/*
- * Copyright (C) 1999-2001 Internet Software Consortium.
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: interfacemgr.h,v 1.23 2001/08/28 03:58:00 marka Exp $ */
+/* $ISC: interfacemgr.h,v 1.23.24.7 2004/04/29 01:31:22 marka Exp $ */
#ifndef NAMED_INTERFACEMGR_H
#define NAMED_INTERFACEMGR_H 1
@@ -65,6 +65,8 @@
#define IFACE_MAGIC ISC_MAGIC('I',':','-',')')
#define NS_INTERFACE_VALID(t) ISC_MAGIC_VALID(t, IFACE_MAGIC)
+#define NS_INTERFACEFLAG_ANYADDR 0x01U /* bound to "any" address */
+
struct ns_interface {
unsigned int magic; /* Magic number. */
ns_interfacemgr_t * mgr; /* Interface manager. */
@@ -72,6 +74,7 @@ struct ns_interface {
int references; /* Locked */
unsigned int generation; /* Generation number. */
isc_sockaddr_t addr; /* Address and port. */
+ unsigned int flags; /* Interface characteristics */
char name[32]; /* Null terminated. */
dns_dispatch_t * udpdispatch; /* UDP dispatcher. */
isc_socket_t * tcpsocket; /* TCP socket. */
@@ -121,6 +124,20 @@ ns_interfacemgr_scan(ns_interfacemgr_t *mgr, isc_boolean_t verbose);
*/
void
+ns_interfacemgr_adjust(ns_interfacemgr_t *mgr, ns_listenlist_t *list,
+ isc_boolean_t verbose);
+/*
+ * Similar to ns_interfacemgr_scan(), but this function also tries to see the
+ * need for an explicit listen-on when a list element in 'list' is going to
+ * override an already-listening a wildcard interface.
+ *
+ * This function does not update localhost and localnets ACLs.
+ *
+ * This should be called once on server startup, after configuring views and
+ * zones.
+ */
+
+void
ns_interfacemgr_setlistenon4(ns_interfacemgr_t *mgr, ns_listenlist_t *value);
/*
* Set the IPv4 "listen-on" list of 'mgr' to 'value'.
@@ -150,4 +167,7 @@ ns_interface_shutdown(ns_interface_t *ifp);
* May safely be called multiple times.
*/
+void
+ns_interfacemgr_dumprecursing(FILE *f, ns_interfacemgr_t *mgr);
+
#endif /* NAMED_INTERFACEMGR_H */
diff --git a/usr.sbin/bind/bin/named/include/named/listenlist.h b/usr.sbin/bind/bin/named/include/named/listenlist.h
index 38f65428f45..81e5f58fc28 100644
--- a/usr.sbin/bind/bin/named/include/named/listenlist.h
+++ b/usr.sbin/bind/bin/named/include/named/listenlist.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: listenlist.h,v 1.10 2001/01/09 21:40:16 bwelling Exp $ */
+/* $ISC: listenlist.h,v 1.10.208.1 2004/03/06 10:21:24 marka Exp $ */
#ifndef NAMED_LISTENLIST_H
#define NAMED_LISTENLIST_H 1
diff --git a/usr.sbin/bind/bin/named/include/named/log.h b/usr.sbin/bind/bin/named/include/named/log.h
index a19fd11b9ae..d7f6c3c98a0 100644
--- a/usr.sbin/bind/bin/named/include/named/log.h
+++ b/usr.sbin/bind/bin/named/include/named/log.h
@@ -1,21 +1,21 @@
/*
- * Copyright (C) 1999-2001 Internet Software Consortium.
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: log.h,v 1.19 2001/05/28 05:17:02 marka Exp $ */
+/* $ISC: log.h,v 1.19.12.3 2004/03/08 04:04:21 marka Exp $ */
#ifndef NAMED_LOG_H
#define NAMED_LOG_H 1
@@ -33,6 +33,7 @@
#define NS_LOGCATEGORY_UPDATE (&ns_g_categories[3])
#define NS_LOGCATEGORY_QUERIES (&ns_g_categories[4])
#define NS_LOGCATEGORY_UNMATCHED (&ns_g_categories[5])
+#define NS_LOGCATEGORY_UPDATE_SECURITY (&ns_g_categories[6])
/*
* Backwards compatibility.
diff --git a/usr.sbin/bind/bin/named/include/named/logconf.h b/usr.sbin/bind/bin/named/include/named/logconf.h
index 40b8a49e5bb..9d9e7cbd10a 100644
--- a/usr.sbin/bind/bin/named/include/named/logconf.h
+++ b/usr.sbin/bind/bin/named/include/named/logconf.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: logconf.h,v 1.10 2001/03/04 21:21:33 bwelling Exp $ */
+/* $ISC: logconf.h,v 1.10.208.1 2004/03/06 10:21:24 marka Exp $ */
#ifndef NAMED_LOGCONF_H
#define NAMED_LOGCONF_H 1
diff --git a/usr.sbin/bind/bin/named/include/named/lwaddr.h b/usr.sbin/bind/bin/named/include/named/lwaddr.h
index 3909a402014..52bf6373015 100644
--- a/usr.sbin/bind/bin/named/include/named/lwaddr.h
+++ b/usr.sbin/bind/bin/named/include/named/lwaddr.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: lwaddr.h,v 1.3 2001/03/10 06:40:29 tale Exp $ */
+/* $ISC: lwaddr.h,v 1.3.208.1 2004/03/06 10:21:24 marka Exp $ */
#include <lwres/lwres.h>
#include <lwres/net.h>
diff --git a/usr.sbin/bind/bin/named/include/named/lwdclient.h b/usr.sbin/bind/bin/named/include/named/lwdclient.h
index f6046d682e9..f1541e8bc41 100644
--- a/usr.sbin/bind/bin/named/include/named/lwdclient.h
+++ b/usr.sbin/bind/bin/named/include/named/lwdclient.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: lwdclient.h,v 1.13 2001/08/08 22:54:24 gson Exp $ */
+/* $ISC: lwdclient.h,v 1.13.208.1 2004/03/06 10:21:24 marka Exp $ */
#ifndef NAMED_LWDCLIENT_H
#define NAMED_LWDCLIENT_H 1
diff --git a/usr.sbin/bind/bin/named/include/named/lwresd.h b/usr.sbin/bind/bin/named/include/named/lwresd.h
index 157e713d965..79938030be7 100644
--- a/usr.sbin/bind/bin/named/include/named/lwresd.h
+++ b/usr.sbin/bind/bin/named/include/named/lwresd.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: lwresd.h,v 1.12 2001/08/28 03:58:02 marka Exp $ */
+/* $ISC: lwresd.h,v 1.12.208.1 2004/03/06 10:21:25 marka Exp $ */
#ifndef NAMED_LWRESD_H
#define NAMED_LWRESD_H 1
diff --git a/usr.sbin/bind/bin/named/include/named/lwsearch.h b/usr.sbin/bind/bin/named/include/named/lwsearch.h
index 33e24b006d5..9984787467b 100644
--- a/usr.sbin/bind/bin/named/include/named/lwsearch.h
+++ b/usr.sbin/bind/bin/named/include/named/lwsearch.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: lwsearch.h,v 1.4 2001/08/28 03:58:03 marka Exp $ */
+/* $ISC: lwsearch.h,v 1.4.208.1 2004/03/06 10:21:25 marka Exp $ */
#ifndef NAMED_LWSEARCH_H
#define NAMED_LWSEARCH_H 1
diff --git a/usr.sbin/bind/bin/named/include/named/main.h b/usr.sbin/bind/bin/named/include/named/main.h
index 9a62a8a7bd5..2c9a255228d 100644
--- a/usr.sbin/bind/bin/named/include/named/main.h
+++ b/usr.sbin/bind/bin/named/include/named/main.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: main.h,v 1.8.2.2 2002/08/05 06:57:03 marka Exp $ */
+/* $ISC: main.h,v 1.8.2.2.8.4 2004/03/08 04:04:21 marka Exp $ */
#ifndef NAMED_MAIN_H
#define NAMED_MAIN_H 1
@@ -26,4 +26,7 @@ ns_main_earlyfatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
void
ns_main_earlywarning(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
+void
+ns_main_setmemstats(const char *);
+
#endif /* NAMED_MAIN_H */
diff --git a/usr.sbin/bind/bin/named/include/named/notify.h b/usr.sbin/bind/bin/named/include/named/notify.h
index a7afd2b2097..880039af767 100644
--- a/usr.sbin/bind/bin/named/include/named/notify.h
+++ b/usr.sbin/bind/bin/named/include/named/notify.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: notify.h,v 1.9 2001/01/09 21:40:24 bwelling Exp $ */
+/* $ISC: notify.h,v 1.9.208.1 2004/03/06 10:21:25 marka Exp $ */
#ifndef NAMED_NOTIFY_H
#define NAMED_NOTIFY_H 1
diff --git a/usr.sbin/bind/bin/named/include/named/query.h b/usr.sbin/bind/bin/named/include/named/query.h
index e96197e9e11..aa575161350 100644
--- a/usr.sbin/bind/bin/named/include/named/query.h
+++ b/usr.sbin/bind/bin/named/include/named/query.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: query.h,v 1.28.2.3 2002/02/08 03:57:17 marka Exp $ */
+/* $ISC: query.h,v 1.28.2.3.8.6 2004/03/08 04:04:21 marka Exp $ */
#ifndef NAMED_QUERY_H
#define NAMED_QUERY_H 1
@@ -25,7 +25,6 @@
#include <isc/netaddr.h>
#include <dns/types.h>
-#include <dns/a6.h>
#include <named/types.h>
@@ -49,17 +48,11 @@ struct ns_query {
dns_zone_t * authzone;
isc_boolean_t authdbset;
isc_boolean_t isreferral;
+ isc_mutex_t fetchlock;
dns_fetch_t * fetch;
- dns_a6context_t a6ctx;
isc_bufferlist_t namebufs;
ISC_LIST(ns_dbversion_t) activeversions;
ISC_LIST(ns_dbversion_t) freeversions;
- /*
- * Additional state used during IPv6 response synthesis only.
- */
- struct {
- isc_netaddr_t na;
- } synth;
};
#define NS_QUERYATTR_RECURSIONOK 0x0001
@@ -71,7 +64,7 @@ struct ns_query {
#define NS_QUERYATTR_QUERYOKVALID 0x0040
#define NS_QUERYATTR_QUERYOK 0x0080
#define NS_QUERYATTR_WANTRECURSION 0x0100
-#define NS_QUERYATTR_WANTDNSSEC 0x0200
+#define NS_QUERYATTR_SECURE 0x0200
#define NS_QUERYATTR_NOAUTHORITY 0x0400
#define NS_QUERYATTR_NOADDITIONAL 0x0800
@@ -84,4 +77,7 @@ ns_query_free(ns_client_t *client);
void
ns_query_start(ns_client_t *client);
+void
+ns_query_cancel(ns_client_t *client);
+
#endif /* NAMED_QUERY_H */
diff --git a/usr.sbin/bind/bin/named/include/named/server.h b/usr.sbin/bind/bin/named/include/named/server.h
index 78788ec92d7..18fa0a4809b 100644
--- a/usr.sbin/bind/bin/named/include/named/server.h
+++ b/usr.sbin/bind/bin/named/include/named/server.h
@@ -1,21 +1,21 @@
/*
- * Copyright (C) 1999-2001 Internet Software Consortium.
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: server.h,v 1.58.2.1 2001/09/04 19:38:46 gson Exp $ */
+/* $ISC: server.h,v 1.58.2.1.10.11 2004/03/08 04:04:21 marka Exp $ */
#ifndef NAMED_SERVER_H
#define NAMED_SERVER_H 1
@@ -49,6 +49,16 @@ struct ns_server {
isc_quota_t tcpquota;
isc_quota_t recursionquota;
dns_acl_t *blackholeacl;
+ char * statsfile; /* Statistics file name */
+ char * dumpfile; /* Dump file name */
+ char * recfile; /* Recursive file name */
+ isc_boolean_t version_set; /* User has set version */
+ char * version; /* User-specified version */
+ isc_boolean_t hostname_set; /* User has set hostname */
+ char * hostname; /* User-specified hostname */
+ /* Use hostname for server id */
+ isc_boolean_t server_usehostname;
+ char * server_id; /* User-specified server id */
/*
* Current ACL environment. This defines the
@@ -76,12 +86,12 @@ struct ns_server {
isc_boolean_t flushonshutdown;
isc_boolean_t log_queries; /* For BIND 8 compatibility */
- char * statsfile; /* Statistics file name */
isc_uint64_t * querystats; /* Query statistics counters */
- char * dumpfile; /* Dump file name */
-
ns_controls_t * controls; /* Control channels */
+ unsigned int dispatchgen;
+ ns_dispatchlist_t dispatches;
+
};
#define NS_SERVER_MAGIC ISC_MAGIC('S','V','E','R')
@@ -117,7 +127,7 @@ ns_server_flushonshutdown(ns_server_t *server, isc_boolean_t flush);
*/
isc_result_t
-ns_server_reloadcommand(ns_server_t *server, char *args);
+ns_server_reloadcommand(ns_server_t *server, char *args, isc_buffer_t *text);
/*
* Act on a "reload" command from the command channel.
*/
@@ -129,12 +139,18 @@ ns_server_reconfigcommand(ns_server_t *server, char *args);
*/
isc_result_t
-ns_server_refreshcommand(ns_server_t *server, char *args);
+ns_server_refreshcommand(ns_server_t *server, char *args, isc_buffer_t *text);
/*
* Act on a "refresh" command from the command channel.
*/
isc_result_t
+ns_server_retransfercommand(ns_server_t *server, char *args);
+/*
+ * Act on a "retransfer" command from the command channel.
+ */
+
+isc_result_t
ns_server_togglequerylog(ns_server_t *server);
/*
* Toggle logging of queries, as in BIND 8.
@@ -150,7 +166,7 @@ ns_server_dumpstats(ns_server_t *server);
* Dump the current cache to the dump file.
*/
isc_result_t
-ns_server_dumpdb(ns_server_t *server);
+ns_server_dumpdb(ns_server_t *server, char *args);
/*
* Change or increment the server debug level.
@@ -165,9 +181,33 @@ isc_result_t
ns_server_flushcache(ns_server_t *server, char *args);
/*
+ * Flush a particular name from the server's cache(s)
+ */
+isc_result_t
+ns_server_flushname(ns_server_t *server, char *args);
+
+/*
* Report the server's status.
*/
isc_result_t
ns_server_status(ns_server_t *server, isc_buffer_t *text);
+/*
+ * Enable or disable updates for a zone.
+ */
+isc_result_t
+ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args);
+
+/*
+ * Dump the current recursive queries.
+ */
+isc_result_t
+ns_server_dumprecursing(ns_server_t *server);
+
+/*
+ * Maintain a list of dispatches that require reserved ports.
+ */
+void
+ns_add_reserved_dispatch(ns_server_t *server, isc_sockaddr_t *addr);
+
#endif /* NAMED_SERVER_H */
diff --git a/usr.sbin/bind/bin/named/include/named/sortlist.h b/usr.sbin/bind/bin/named/include/named/sortlist.h
index 5e42069b7c2..382654abcb3 100644
--- a/usr.sbin/bind/bin/named/include/named/sortlist.h
+++ b/usr.sbin/bind/bin/named/include/named/sortlist.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: sortlist.h,v 1.4 2001/01/09 21:40:29 bwelling Exp $ */
+/* $ISC: sortlist.h,v 1.4.208.1 2004/03/06 10:21:26 marka Exp $ */
#ifndef NAMED_SORTLIST_H
#define NAMED_SORTLIST_H 1
diff --git a/usr.sbin/bind/bin/named/include/named/tkeyconf.h b/usr.sbin/bind/bin/named/include/named/tkeyconf.h
index 7062d385d8b..b7e6fedfcc8 100644
--- a/usr.sbin/bind/bin/named/include/named/tkeyconf.h
+++ b/usr.sbin/bind/bin/named/include/named/tkeyconf.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: tkeyconf.h,v 1.9 2001/03/04 21:21:36 bwelling Exp $ */
+/* $ISC: tkeyconf.h,v 1.9.208.1 2004/03/06 10:21:26 marka Exp $ */
#ifndef NS_TKEYCONF_H
#define NS_TKEYCONF_H 1
diff --git a/usr.sbin/bind/bin/named/include/named/tsigconf.h b/usr.sbin/bind/bin/named/include/named/tsigconf.h
index a261314bc7a..34d97e14c39 100644
--- a/usr.sbin/bind/bin/named/include/named/tsigconf.h
+++ b/usr.sbin/bind/bin/named/include/named/tsigconf.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: tsigconf.h,v 1.9 2001/03/04 21:21:37 bwelling Exp $ */
+/* $ISC: tsigconf.h,v 1.9.208.1 2004/03/06 10:21:26 marka Exp $ */
#ifndef NS_TSIGCONF_H
#define NS_TSIGCONF_H 1
diff --git a/usr.sbin/bind/bin/named/include/named/types.h b/usr.sbin/bind/bin/named/include/named/types.h
index 38d3d8f0c9f..62a625b0113 100644
--- a/usr.sbin/bind/bin/named/include/named/types.h
+++ b/usr.sbin/bind/bin/named/include/named/types.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: types.h,v 1.19 2001/05/08 03:42:34 gson Exp $ */
+/* $ISC: types.h,v 1.19.208.2 2004/03/06 10:21:26 marka Exp $ */
#ifndef NAMED_TYPES_H
#define NAMED_TYPES_H 1
@@ -35,5 +35,7 @@ typedef struct ns_lwdclientmgr ns_lwdclientmgr_t;
typedef struct ns_lwsearchlist ns_lwsearchlist_t;
typedef struct ns_lwsearchctx ns_lwsearchctx_t;
typedef struct ns_controls ns_controls_t;
+typedef struct ns_dispatch ns_dispatch_t;
+typedef ISC_LIST(ns_dispatch_t) ns_dispatchlist_t;
#endif /* NAMED_TYPES_H */
diff --git a/usr.sbin/bind/bin/named/include/named/update.h b/usr.sbin/bind/bin/named/include/named/update.h
index df3a274d79f..645e6626f50 100644
--- a/usr.sbin/bind/bin/named/include/named/update.h
+++ b/usr.sbin/bind/bin/named/include/named/update.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: update.h,v 1.8 2001/01/09 21:40:33 bwelling Exp $ */
+/* $ISC: update.h,v 1.8.208.1 2004/03/06 10:21:26 marka Exp $ */
#ifndef NAMED_UPDATE_H
#define NAMED_UPDATE_H 1
diff --git a/usr.sbin/bind/bin/named/include/named/xfrout.h b/usr.sbin/bind/bin/named/include/named/xfrout.h
index 06ff1a645f3..59460af07cf 100644
--- a/usr.sbin/bind/bin/named/include/named/xfrout.h
+++ b/usr.sbin/bind/bin/named/include/named/xfrout.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: xfrout.h,v 1.7 2001/01/09 21:40:34 bwelling Exp $ */
+/* $ISC: xfrout.h,v 1.7.208.1 2004/03/06 10:21:27 marka Exp $ */
#ifndef NAMED_XFROUT_H
#define NAMED_XFROUT_H 1
diff --git a/usr.sbin/bind/bin/named/include/named/zoneconf.h b/usr.sbin/bind/bin/named/include/named/zoneconf.h
index eae2c4a0cc3..0fb4924d1eb 100644
--- a/usr.sbin/bind/bin/named/include/named/zoneconf.h
+++ b/usr.sbin/bind/bin/named/include/named/zoneconf.h
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: zoneconf.h,v 1.16.2.2 2002/08/05 06:57:03 marka Exp $ */
+/* $ISC: zoneconf.h,v 1.16.2.2.8.1 2004/03/06 10:21:27 marka Exp $ */
#ifndef NS_ZONECONF_H
#define NS_ZONECONF_H 1
diff --git a/usr.sbin/bind/bin/named/listenlist.c b/usr.sbin/bind/bin/named/listenlist.c
index 334a5f9889c..c8e069f3822 100644
--- a/usr.sbin/bind/bin/named/listenlist.c
+++ b/usr.sbin/bind/bin/named/listenlist.c
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: listenlist.c,v 1.9 2001/01/09 21:39:43 bwelling Exp $ */
+/* $ISC: listenlist.c,v 1.9.208.1 2004/03/06 10:21:18 marka Exp $ */
#include <config.h>
diff --git a/usr.sbin/bind/bin/named/log.c b/usr.sbin/bind/bin/named/log.c
index fa35c014250..3d3d78fe4c8 100644
--- a/usr.sbin/bind/bin/named/log.c
+++ b/usr.sbin/bind/bin/named/log.c
@@ -1,21 +1,21 @@
/*
- * Copyright (C) 1999-2001 Internet Software Consortium.
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: log.c,v 1.33.2.1 2001/10/31 22:44:15 marka Exp $ */
+/* $ISC: log.c,v 1.33.2.1.10.4 2004/03/08 09:04:14 marka Exp $ */
#include <config.h>
@@ -25,6 +25,10 @@
#include <named/log.h>
+#ifndef ISC_FACILITY
+#define ISC_FACILITY LOG_DAEMON
+#endif
+
/*
* When adding a new category, be sure to add the appropriate
* #define to <named/log.h>.
@@ -36,6 +40,7 @@ static isc_logcategory_t categories[] = {
{ "update", 0 },
{ "queries", 0 },
{ "unmatched", 0 },
+ { "update-security", 0 },
{ NULL, 0 }
};
@@ -126,6 +131,15 @@ ns_log_setdefaultchannels(isc_logconfig_t *lcfg) {
goto cleanup;
}
+#if ISC_FACILITY != LOG_DAEMON
+ destination.facility = ISC_FACILITY;
+ result = isc_log_createchannel(lcfg, "default_syslog",
+ ISC_LOG_TOSYSLOG, ISC_LOG_INFO,
+ &destination, 0);
+ if (result != ISC_R_SUCCESS)
+ goto cleanup;
+#endif
+
/*
* Set the initial debug level.
*/
diff --git a/usr.sbin/bind/bin/named/logconf.c b/usr.sbin/bind/bin/named/logconf.c
index 8a9ccbf971a..c98e86db75a 100644
--- a/usr.sbin/bind/bin/named/logconf.c
+++ b/usr.sbin/bind/bin/named/logconf.c
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: logconf.c,v 1.30.2.3 2001/10/11 02:03:20 marka Exp $ */
+/* $ISC: logconf.c,v 1.30.2.3.10.2 2004/03/06 10:21:18 marka Exp $ */
#include <config.h>
@@ -140,6 +140,9 @@ channel_fromconf(cfg_obj_t *channel, isc_logconfig_t *lctx) {
if (versionsobj != NULL && cfg_obj_isuint32(versionsobj))
versions = cfg_obj_asuint32(versionsobj);
+ if (versionsobj != NULL && cfg_obj_isstring(versionsobj) &&
+ strcasecmp(cfg_obj_asstring(versionsobj), "unlimited") == 0)
+ versions = ISC_LOG_ROLLINFINITE;
if (sizeobj != NULL &&
cfg_obj_isuint64(sizeobj) &&
cfg_obj_asuint64(sizeobj) < ISC_OFFSET_MAXIMUM)
diff --git a/usr.sbin/bind/bin/named/lwaddr.c b/usr.sbin/bind/bin/named/lwaddr.c
index 6edbfa4b318..4207bf88735 100644
--- a/usr.sbin/bind/bin/named/lwaddr.c
+++ b/usr.sbin/bind/bin/named/lwaddr.c
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: lwaddr.c,v 1.3 2001/01/09 21:39:46 bwelling Exp $ */
+/* $ISC: lwaddr.c,v 1.3.208.1 2004/03/06 10:21:18 marka Exp $ */
#include <config.h>
diff --git a/usr.sbin/bind/bin/named/lwdclient.c b/usr.sbin/bind/bin/named/lwdclient.c
index 46d0b249944..479a730fc0b 100644
--- a/usr.sbin/bind/bin/named/lwdclient.c
+++ b/usr.sbin/bind/bin/named/lwdclient.c
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: lwdclient.c,v 1.13 2001/01/22 22:29:02 gson Exp $ */
+/* $ISC: lwdclient.c,v 1.13.12.5 2004/03/08 09:04:15 marka Exp $ */
#include <config.h>
@@ -29,6 +29,7 @@
#include <dns/log.h>
#include <named/types.h>
+#include <named/log.h>
#include <named/lwresd.h>
#include <named/lwdclient.h>
@@ -81,7 +82,7 @@ ns_lwdclientmgr_create(ns_lwreslistener_t *listener, unsigned int nclients,
!= ISC_R_SUCCESS)
goto errout;
- for (i = 0 ; i < nclients ; i++) {
+ for (i = 0; i < nclients; i++) {
client = isc_mem_get(lwresd->mctx, sizeof(ns_lwdclient_t));
if (client != NULL) {
ns_lwdclient_log(50, "created client %p, manager %p",
@@ -116,7 +117,7 @@ ns_lwdclientmgr_create(ns_lwreslistener_t *listener, unsigned int nclients,
client = ISC_LIST_HEAD(cm->idle);
while (client != NULL) {
ISC_LIST_UNLINK(cm->idle, client, link);
- isc_mem_put(lwresd->mctx, client, sizeof (*client));
+ isc_mem_put(lwresd->mctx, client, sizeof(*client));
client = ISC_LIST_HEAD(cm->idle);
}
@@ -126,7 +127,7 @@ ns_lwdclientmgr_create(ns_lwreslistener_t *listener, unsigned int nclients,
if (cm->lwctx != NULL)
lwres_context_destroy(&cm->lwctx);
- isc_mem_put(lwresd->mctx, cm, sizeof (*cm));
+ isc_mem_put(lwresd->mctx, cm, sizeof(*cm));
return (result);
}
@@ -148,7 +149,7 @@ lwdclientmgr_destroy(ns_lwdclientmgr_t *cm) {
ns_lwdclient_log(50, "destroying client %p, manager %p",
client, cm);
ISC_LIST_UNLINK(cm->idle, client, link);
- isc_mem_put(cm->mctx, client, sizeof (*client));
+ isc_mem_put(cm->mctx, client, sizeof(*client));
client = ISC_LIST_HEAD(cm->idle);
}
@@ -163,7 +164,7 @@ lwdclientmgr_destroy(ns_lwdclientmgr_t *cm) {
listener = cm->listener;
ns_lwreslistener_unlinkcm(listener, cm);
ns_lwdclient_log(50, "destroying manager %p", cm);
- isc_mem_put(cm->mctx, cm, sizeof (*cm));
+ isc_mem_put(cm->mctx, cm, sizeof(*cm));
ns_lwreslistener_detach(&listener);
}
@@ -211,6 +212,7 @@ process_request(ns_lwdclient_t *client) {
void
ns_lwdclient_recv(isc_task_t *task, isc_event_t *ev) {
+ isc_result_t result;
ns_lwdclient_t *client = ev->ev_arg;
ns_lwdclientmgr_t *cm = client->clientmgr;
isc_socketevent_t *dev = (isc_socketevent_t *)ev;
@@ -250,7 +252,13 @@ ns_lwdclient_recv(isc_task_t *task, isc_event_t *ev) {
isc_event_free(&ev);
dev = NULL;
- ns_lwdclient_startrecv(cm);
+ result = ns_lwdclient_startrecv(cm);
+ if (result != ISC_R_SUCCESS)
+ isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
+ NS_LOGMODULE_LWRESD, ISC_LOG_ERROR,
+ "could not start lwres "
+ "client handler: %s",
+ isc_result_totext(result));
process_request(client);
}
@@ -329,7 +337,7 @@ lwdclientmgr_shutdown_callback(isc_task_t *task, isc_event_t *ev) {
ns_lwdclient_log(50, "destroying client %p, manager %p",
client, cm);
ISC_LIST_UNLINK(cm->idle, client, link);
- isc_mem_put(cm->mctx, client, sizeof (*client));
+ isc_mem_put(cm->mctx, client, sizeof(*client));
client = ISC_LIST_HEAD(cm->idle);
}
@@ -366,6 +374,7 @@ lwdclientmgr_shutdown_callback(isc_task_t *task, isc_event_t *ev) {
void
ns_lwdclient_stateidle(ns_lwdclient_t *client) {
ns_lwdclientmgr_t *cm;
+ isc_result_t result;
cm = client->clientmgr;
@@ -380,7 +389,13 @@ ns_lwdclient_stateidle(ns_lwdclient_t *client) {
NS_LWDCLIENT_SETIDLE(client);
- ns_lwdclient_startrecv(cm);
+ result = ns_lwdclient_startrecv(cm);
+ if (result != ISC_R_SUCCESS)
+ isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
+ NS_LOGMODULE_LWRESD, ISC_LOG_ERROR,
+ "could not start lwres "
+ "client handler: %s",
+ isc_result_totext(result));
}
void
diff --git a/usr.sbin/bind/bin/named/lwderror.c b/usr.sbin/bind/bin/named/lwderror.c
index 0272306a5d2..8dd239c400e 100644
--- a/usr.sbin/bind/bin/named/lwderror.c
+++ b/usr.sbin/bind/bin/named/lwderror.c
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: lwderror.c,v 1.7 2001/01/09 21:39:49 bwelling Exp $ */
+/* $ISC: lwderror.c,v 1.7.208.1 2004/03/06 10:21:18 marka Exp $ */
#include <config.h>
diff --git a/usr.sbin/bind/bin/named/lwdgabn.c b/usr.sbin/bind/bin/named/lwdgabn.c
index 04f81aae7fa..438029e1bee 100644
--- a/usr.sbin/bind/bin/named/lwdgabn.c
+++ b/usr.sbin/bind/bin/named/lwdgabn.c
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: lwdgabn.c,v 1.13 2001/01/22 22:12:16 bwelling Exp $ */
+/* $ISC: lwdgabn.c,v 1.13.12.3 2004/03/08 04:04:19 marka Exp $ */
#include <config.h>
@@ -546,11 +546,11 @@ init_gabn(ns_lwdclient_t *client) {
* Initialize the real name and alias arrays in the reply we're
* going to build up.
*/
- for (i = 0 ; i < LWRES_MAX_ALIASES ; i++) {
+ for (i = 0; i < LWRES_MAX_ALIASES; i++) {
client->aliases[i] = NULL;
client->aliaslen[i] = 0;
}
- for (i = 0 ; i < LWRES_MAX_ADDRS ; i++) {
+ for (i = 0; i < LWRES_MAX_ADDRS; i++) {
client->addrs[i].family = 0;
client->addrs[i].length = 0;
memset(client->addrs[i].address, 0, LWRES_ADDR_MAXLEN);
diff --git a/usr.sbin/bind/bin/named/lwdgrbn.c b/usr.sbin/bind/bin/named/lwdgrbn.c
index 8ee0edbef06..f8763f201a7 100644
--- a/usr.sbin/bind/bin/named/lwdgrbn.c
+++ b/usr.sbin/bind/bin/named/lwdgrbn.c
@@ -1,21 +1,21 @@
/*
- * Copyright (C) 2000, 2001 Internet Software Consortium.
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: lwdgrbn.c,v 1.11 2001/01/24 01:42:41 bwelling Exp $ */
+/* $ISC: lwdgrbn.c,v 1.11.208.3 2004/03/08 04:04:19 marka Exp $ */
#include <config.h>
@@ -100,7 +100,7 @@ iterate_node(lwres_grbnresponse_t *grbn, dns_db_t *db, dns_dbnode_t *node,
dns_rdataset_init(&set);
dns_rdatasetiter_current(iter, &set);
- if (set.type != dns_rdatatype_sig) {
+ if (set.type != dns_rdatatype_rrsig) {
dns_rdataset_disassociate(&set);
continue;
}
diff --git a/usr.sbin/bind/bin/named/lwdnoop.c b/usr.sbin/bind/bin/named/lwdnoop.c
index 8d0ff23278f..3c2daaa34d2 100644
--- a/usr.sbin/bind/bin/named/lwdnoop.c
+++ b/usr.sbin/bind/bin/named/lwdnoop.c
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: lwdnoop.c,v 1.6 2001/01/09 21:39:53 bwelling Exp $ */
+/* $ISC: lwdnoop.c,v 1.6.208.1 2004/03/06 10:21:19 marka Exp $ */
#include <config.h>
diff --git a/usr.sbin/bind/bin/named/lwresd.8 b/usr.sbin/bind/bin/named/lwresd.8
index 81e9d5e7a96..d1473e8d72d 100644
--- a/usr.sbin/bind/bin/named/lwresd.8
+++ b/usr.sbin/bind/bin/named/lwresd.8
@@ -1,18 +1,19 @@
-.\"
+.\" Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
-.\" DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
-.\" INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
-.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
-.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+.\" PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" $ISC: lwresd.8,v 1.13.208.2 2004/06/03 05:35:47 marka Exp $
.\"
.TH "LWRESD" "8" "June 30, 2000" "BIND9" ""
.SH NAME
@@ -136,4 +137,4 @@ The default process-id file.
\fBresolver\fR(5).
.SH "AUTHOR"
.PP
-Internet Software Consortium
+Internet Systems Consortium
diff --git a/usr.sbin/bind/bin/named/lwresd.docbook b/usr.sbin/bind/bin/named/lwresd.docbook
index 102c51aa4d3..b05072e86ae 100644
--- a/usr.sbin/bind/bin/named/lwresd.docbook
+++ b/usr.sbin/bind/bin/named/lwresd.docbook
@@ -1,22 +1,22 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<!--
+ - Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ - PERFORMANCE OF THIS SOFTWARE.
-->
-<!-- $ISC: lwresd.docbook,v 1.6 2001/06/10 19:54:07 tale Exp $ -->
+<!-- $ISC: lwresd.docbook,v 1.6.208.2 2004/06/03 02:24:57 marka Exp $ -->
<refentry>
<refentryinfo>
@@ -286,7 +286,7 @@
<refsect1>
<title>AUTHOR</title>
<para>
- <corpauthor>Internet Software Consortium</corpauthor>
+ <corpauthor>Internet Systems Consortium</corpauthor>
</para>
</refsect1>
diff --git a/usr.sbin/bind/bin/named/lwsearch.c b/usr.sbin/bind/bin/named/lwsearch.c
index 73959a11c79..7c38c580d64 100644
--- a/usr.sbin/bind/bin/named/lwsearch.c
+++ b/usr.sbin/bind/bin/named/lwsearch.c
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: lwsearch.c,v 1.7 2001/01/09 21:39:55 bwelling Exp $ */
+/* $ISC: lwsearch.c,v 1.7.208.1 2004/03/06 10:21:20 marka Exp $ */
#include <config.h>
diff --git a/usr.sbin/bind/bin/named/named.conf.5 b/usr.sbin/bind/bin/named/named.conf.5
new file mode 100644
index 00000000000..2580491a80f
--- /dev/null
+++ b/usr.sbin/bind/bin/named/named.conf.5
@@ -0,0 +1,474 @@
+.\" Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+.\" PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" $ISC: named.conf.5,v 1.1.4.2 2004/08/21 07:35:01 marka Exp $
+.\"
+.TH "NAMED.CONF" "5" "Aug 13, 2004" "BIND9" ""
+.SH NAME
+named.conf \- configuration file for named
+.SH SYNOPSIS
+.sp
+\fBnamed.conf\fR
+.SH "DESCRIPTION"
+.PP
+\fInamed.conf\fR is the configuration file for
+\fBnamed\fR. Statements are enclosed
+in braces and terminated with a semi-colon. Clauses in
+the statements are also semi-colon terminated. The usual
+comment styles are supported:
+.PP
+C style: /* */
+.PP
+C++ style: // to end of line
+.PP
+Unix style: # to end of line
+.SH "ACL"
+.sp
+.nf
+acl \fIstring\fR { \fIaddress_match_element\fR; ... };
+.sp
+.fi
+.SH "KEY"
+.sp
+.nf
+key \fIdomain_name\fR {
+ algorithm \fIstring\fR;
+ secret \fIstring\fR;
+};
+.sp
+.fi
+.SH "MASTERS"
+.sp
+.nf
+masters \fIstring\fR [ port \fIinteger\fR ] {
+ ( \fImasters\fR | \fIipv4_address\fR [port \fIinteger\fR] |
+ \fIipv6_address\fR [port \fIinteger\fR] ) [ key \fIstring\fR ]; ...
+};
+.sp
+.fi
+.SH "SERVER"
+.sp
+.nf
+server ( \fIipv4_address\fR | \fIipv6_address\fR ) {
+ bogus \fIboolean\fR;
+ edns \fIboolean\fR;
+ provide-ixfr \fIboolean\fR;
+ request-ixfr \fIboolean\fR;
+ keys \fIserver_key\fR;
+ transfers \fIinteger\fR;
+ transfer-format ( many-answers | one-answer );
+ transfer-source ( \fIipv4_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+ transfer-source-v6 ( \fIipv6_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+
+ support-ixfr \fIboolean\fR; // obsolete
+};
+.sp
+.fi
+.SH "TRUSTED-KEYS"
+.sp
+.nf
+trusted-keys {
+ \fIdomain_name\fR \fIflags\fR \fIprotocol\fR \fIalgorithm\fR \fIkey\fR; ...
+};
+.sp
+.fi
+.SH "CONTROLS"
+.sp
+.nf
+controls {
+ inet ( \fIipv4_address\fR | \fIipv6_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ]
+ allow { \fIaddress_match_element\fR; ... }
+ [ keys { \fIstring\fR; ... } ];
+ unix \fIunsupported\fR; // not implemented
+};
+.sp
+.fi
+.SH "LOGGING"
+.sp
+.nf
+logging {
+ channel \fIstring\fR {
+ file \fIlog_file\fR;
+ syslog \fIoptional_facility\fR;
+ null;
+ stderr;
+ severity \fIlog_severity\fR;
+ print-time \fIboolean\fR;
+ print-severity \fIboolean\fR;
+ print-category \fIboolean\fR;
+ };
+ category \fIstring\fR { \fIstring\fR; ... };
+};
+.sp
+.fi
+.SH "LWRES"
+.sp
+.nf
+lwres {
+ listen-on [ port \fIinteger\fR ] {
+ ( \fIipv4_address\fR | \fIipv6_address\fR ) [ port \fIinteger\fR ]; ...
+ };
+ view \fIstring\fR \fIoptional_class\fR;
+ search { \fIstring\fR; ... };
+ ndots \fIinteger\fR;
+};
+.sp
+.fi
+.SH "OPTIONS"
+.sp
+.nf
+options {
+ avoid-v4-udp-ports { \fIport\fR; ... };
+ avoid-v6-udp-ports { \fIport\fR; ... };
+ blackhole { \fIaddress_match_element\fR; ... };
+ coresize \fIsize\fR;
+ datasize \fIsize\fR;
+ directory \fIquoted_string\fR;
+ dump-file \fIquoted_string\fR;
+ files \fIsize\fR;
+ heartbeat-interval \fIinteger\fR;
+ host-statistics \fIboolean\fR; // not implemented
+ hostname ( \fIquoted_string\fR | none );
+ interface-interval \fIinteger\fR;
+ listen-on [ port \fIinteger\fR ] { \fIaddress_match_element\fR; ... };
+ listen-on-v6 [ port \fIinteger\fR ] { \fIaddress_match_element\fR; ... };
+ match-mapped-addresses \fIboolean\fR;
+ memstatistics-file \fIquoted_string\fR;
+ pid-file ( \fIquoted_string\fR | none );
+ port \fIinteger\fR;
+ querylog \fIboolean\fR;
+ recursing-file \fIquoted_string\fR;
+ random-device \fIquoted_string\fR;
+ recursive-clients \fIinteger\fR;
+ serial-query-rate \fIinteger\fR;
+ server-id ( \fIquoted_string\fR | none |;
+ stacksize \fIsize\fR;
+ statistics-file \fIquoted_string\fR;
+ statistics-interval \fIinteger\fR; // not yet implemented
+ tcp-clients \fIinteger\fR;
+ tcp-listen-queue \fIinteger\fR;
+ tkey-dhkey \fIquoted_string\fR \fIinteger\fR;
+ tkey-gssapi-credential \fIquoted_string\fR;
+ tkey-domain \fIquoted_string\fR;
+ transfers-per-ns \fIinteger\fR;
+ transfers-in \fIinteger\fR;
+ transfers-out \fIinteger\fR;
+ use-ixfr \fIboolean\fR;
+ version ( \fIquoted_string\fR | none );
+ allow-recursion { \fIaddress_match_element\fR; ... };
+ sortlist { \fIaddress_match_element\fR; ... };
+ topology { \fIaddress_match_element\fR; ... }; // not implemented
+ auth-nxdomain \fIboolean\fR; // default changed
+ minimal-responses \fIboolean\fR;
+ recursion \fIboolean\fR;
+ rrset-order {
+ [ class \fIstring\fR ] [ type \fIstring\fR ]
+ [ name \fIquoted_string\fR ] \fIstring\fR \fIstring\fR; ...
+ };
+ provide-ixfr \fIboolean\fR;
+ request-ixfr \fIboolean\fR;
+ rfc2308-type1 \fIboolean\fR; // not yet implemented
+ additional-from-auth \fIboolean\fR;
+ additional-from-cache \fIboolean\fR;
+ query-source \fIquerysource4\fR;
+ query-source-v6 \fIquerysource6\fR;
+ cleaning-interval \fIinteger\fR;
+ min-roots \fIinteger\fR; // not implemented
+ lame-ttl \fIinteger\fR;
+ max-ncache-ttl \fIinteger\fR;
+ max-cache-ttl \fIinteger\fR;
+ transfer-format ( many-answers | one-answer );
+ max-cache-size \fIsize_no_default\fR;
+ check-names ( master | slave | response )
+ ( fail | warn | ignore );
+ cache-file \fIquoted_string\fR;
+ suppress-initial-notify \fIboolean\fR; // not yet implemented
+ preferred-glue \fIstring\fR;
+ dual-stack-servers [ port \fIinteger\fR ] {
+ ( \fIquoted_string\fR [port \fIinteger\fR] |
+ \fIipv4_address\fR [port \fIinteger\fR] |
+ \fIipv6_address\fR [port \fIinteger\fR] ); ...
+ }
+ edns-udp-size \fIinteger\fR;
+ root-delegation-only [ exclude { \fIquoted_string\fR; ... } ];
+ disable-algorithms \fIstring\fR { \fIstring\fR; ... };
+ dnssec-enable \fIboolean\fR;
+ dnssec-lookaside \fIstring\fR trust-anchor \fIstring\fR;
+ dnssec-must-be-secure \fIstring\fR \fIboolean\fR;
+
+ dialup \fIdialuptype\fR;
+ ixfr-from-differences \fIixfrdiff\fR;
+
+ allow-query { \fIaddress_match_element\fR; ... };
+ allow-transfer { \fIaddress_match_element\fR; ... };
+ allow-update-forwarding { \fIaddress_match_element\fR; ... };
+
+ notify \fInotifytype\fR;
+ notify-source ( \fIipv4_address\fR | * ) [ port ( \fIinteger\fR | * ) ];
+ notify-source-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ];
+ also-notify [ port \fIinteger\fR ] { ( \fIipv4_address\fR | \fIipv6_address\fR )
+ [ port \fIinteger\fR ]; ... };
+ allow-notify { \fIaddress_match_element\fR; ... };
+
+ forward ( first | only );
+ forwarders [ port \fIinteger\fR ] {
+ ( \fIipv4_address\fR | \fIipv6_address\fR ) [ port \fIinteger\fR ]; ...
+ };
+
+ max-journal-size \fIsize_no_default\fR;
+ max-transfer-time-in \fIinteger\fR;
+ max-transfer-time-out \fIinteger\fR;
+ max-transfer-idle-in \fIinteger\fR;
+ max-transfer-idle-out \fIinteger\fR;
+ max-retry-time \fIinteger\fR;
+ min-retry-time \fIinteger\fR;
+ max-refresh-time \fIinteger\fR;
+ min-refresh-time \fIinteger\fR;
+ multi-master \fIboolean\fR;
+ sig-validity-interval \fIinteger\fR;
+
+ transfer-source ( \fIipv4_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+ transfer-source-v6 ( \fIipv6_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+
+ alt-transfer-source ( \fIipv4_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+ alt-transfer-source-v6 ( \fIipv6_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+ use-alt-transfer-source \fIboolean\fR;
+
+ zone-statistics \fIboolean\fR;
+ key-directory \fIquoted_string\fR;
+
+ allow-v6-synthesis { \fIaddress_match_element\fR; ... }; // obsolete
+ deallocate-on-exit \fIboolean\fR; // obsolete
+ fake-iquery \fIboolean\fR; // obsolete
+ fetch-glue \fIboolean\fR; // obsolete
+ has-old-clients \fIboolean\fR; // obsolete
+ maintain-ixfr-base \fIboolean\fR; // obsolete
+ max-ixfr-log-size \fIsize\fR; // obsolete
+ multiple-cnames \fIboolean\fR; // obsolete
+ named-xfer \fIquoted_string\fR; // obsolete
+ serial-queries \fIinteger\fR; // obsolete
+ treat-cr-as-space \fIboolean\fR; // obsolete
+ use-id-pool \fIboolean\fR; // obsolete
+};
+.sp
+.fi
+.SH "VIEW"
+.sp
+.nf
+view \fIstring\fR \fIoptional_class\fR {
+ match-clients { \fIaddress_match_element\fR; ... };
+ match-destinations { \fIaddress_match_element\fR; ... };
+ match-recursive-only \fIboolean\fR;
+
+ key \fIstring\fR {
+ algorithm \fIstring\fR;
+ secret \fIstring\fR;
+ };
+
+ zone \fIstring\fR \fIoptional_class\fR {
+ ...
+ };
+
+ server ( \fIipv4_address\fR | \fIipv6_address\fR ) {
+ ...
+ };
+
+ trusted-keys {
+ \fIstring\fR \fIinteger\fR \fIinteger\fR \fIinteger\fR \fIquoted_string\fR; ...
+ };
+
+ allow-recursion { \fIaddress_match_element\fR; ... };
+ sortlist { \fIaddress_match_element\fR; ... };
+ topology { \fIaddress_match_element\fR; ... }; // not implemented
+ auth-nxdomain \fIboolean\fR; // default changed
+ minimal-responses \fIboolean\fR;
+ recursion \fIboolean\fR;
+ rrset-order {
+ [ class \fIstring\fR ] [ type \fIstring\fR ]
+ [ name \fIquoted_string\fR ] \fIstring\fR \fIstring\fR; ...
+ };
+ provide-ixfr \fIboolean\fR;
+ request-ixfr \fIboolean\fR;
+ rfc2308-type1 \fIboolean\fR; // not yet implemented
+ additional-from-auth \fIboolean\fR;
+ additional-from-cache \fIboolean\fR;
+ query-source \fIquerysource4\fR;
+ query-source-v6 \fIquerysource6\fR;
+ cleaning-interval \fIinteger\fR;
+ min-roots \fIinteger\fR; // not implemented
+ lame-ttl \fIinteger\fR;
+ max-ncache-ttl \fIinteger\fR;
+ max-cache-ttl \fIinteger\fR;
+ transfer-format ( many-answers | one-answer );
+ max-cache-size \fIsize_no_default\fR;
+ check-names ( master | slave | response )
+ ( fail | warn | ignore );
+ cache-file \fIquoted_string\fR;
+ suppress-initial-notify \fIboolean\fR; // not yet implemented
+ preferred-glue \fIstring\fR;
+ dual-stack-servers [ port \fIinteger\fR ] {
+ ( \fIquoted_string\fR [port \fIinteger\fR] |
+ \fIipv4_address\fR [port \fIinteger\fR] |
+ \fIipv6_address\fR [port \fIinteger\fR] ); ...
+ };
+ edns-udp-size \fIinteger\fR;
+ root-delegation-only [ exclude { \fIquoted_string\fR; ... } ];
+ disable-algorithms \fIstring\fR { \fIstring\fR; ... };
+ dnssec-enable \fIboolean\fR;
+ dnssec-lookaside \fIstring\fR trust-anchor \fIstring\fR;
+
+ dnssec-must-be-secure \fIstring\fR \fIboolean\fR;
+ dialup \fIdialuptype\fR;
+ ixfr-from-differences \fIixfrdiff\fR;
+
+ allow-query { \fIaddress_match_element\fR; ... };
+ allow-transfer { \fIaddress_match_element\fR; ... };
+ allow-update-forwarding { \fIaddress_match_element\fR; ... };
+
+ notify \fInotifytype\fR;
+ notify-source ( \fIipv4_address\fR | * ) [ port ( \fIinteger\fR | * ) ];
+ notify-source-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ];
+ also-notify [ port \fIinteger\fR ] { ( \fIipv4_address\fR | \fIipv6_address\fR )
+ [ port \fIinteger\fR ]; ... };
+ allow-notify { \fIaddress_match_element\fR; ... };
+
+ forward ( first | only );
+ forwarders [ port \fIinteger\fR ] {
+ ( \fIipv4_address\fR | \fIipv6_address\fR ) [ port \fIinteger\fR ]; ...
+ };
+
+ max-journal-size \fIsize_no_default\fR;
+ max-transfer-time-in \fIinteger\fR;
+ max-transfer-time-out \fIinteger\fR;
+ max-transfer-idle-in \fIinteger\fR;
+ max-transfer-idle-out \fIinteger\fR;
+ max-retry-time \fIinteger\fR;
+ min-retry-time \fIinteger\fR;
+ max-refresh-time \fIinteger\fR;
+ min-refresh-time \fIinteger\fR;
+ multi-master \fIboolean\fR;
+ sig-validity-interval \fIinteger\fR;
+
+ transfer-source ( \fIipv4_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+ transfer-source-v6 ( \fIipv6_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+
+ alt-transfer-source ( \fIipv4_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+ alt-transfer-source-v6 ( \fIipv6_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+ use-alt-transfer-source \fIboolean\fR;
+
+ zone-statistics \fIboolean\fR;
+ key-directory \fIquoted_string\fR;
+
+ allow-v6-synthesis { \fIaddress_match_element\fR; ... }; // obsolete
+ fetch-glue \fIboolean\fR; // obsolete
+ maintain-ixfr-base \fIboolean\fR; // obsolete
+ max-ixfr-log-size \fIsize\fR; // obsolete
+};
+.sp
+.fi
+.SH "ZONE"
+.sp
+.nf
+zone \fIstring\fR \fIoptional_class\fR {
+ type ( master | slave | stub | hint |
+ forward | delegation-only );
+ file \fIquoted_string\fR;
+
+ masters [ port \fIinteger\fR ] {
+ ( \fImasters\fR |
+ \fIipv4_address\fR [port \fIinteger\fR] |
+ \fIipv6_address\fR [ port \fIinteger\fR ] ) [ key \fIstring\fR ]; ...
+ };
+
+ database \fIstring\fR;
+ delegation-only \fIboolean\fR;
+ check-names ( fail | warn | ignore );
+ dialup \fIdialuptype\fR;
+ ixfr-from-differences \fIboolean\fR;
+
+ allow-query { \fIaddress_match_element\fR; ... };
+ allow-transfer { \fIaddress_match_element\fR; ... };
+ allow-update { \fIaddress_match_element\fR; ... };
+ allow-update-forwarding { \fIaddress_match_element\fR; ... };
+ update-policy {
+ ( grant | deny ) \fIstring\fR
+ ( name | subdomain | wildcard | self ) \fIstring\fR
+ \fIrrtypelist\fR; ...
+ };
+
+ notify \fInotifytype\fR;
+ notify-source ( \fIipv4_address\fR | * ) [ port ( \fIinteger\fR | * ) ];
+ notify-source-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ];
+ also-notify [ port \fIinteger\fR ] { ( \fIipv4_address\fR | \fIipv6_address\fR )
+ [ port \fIinteger\fR ]; ... };
+ allow-notify { \fIaddress_match_element\fR; ... };
+
+ forward ( first | only );
+ forwarders [ port \fIinteger\fR ] {
+ ( \fIipv4_address\fR | \fIipv6_address\fR ) [ port \fIinteger\fR ]; ...
+ };
+
+ max-journal-size \fIsize_no_default\fR;
+ max-transfer-time-in \fIinteger\fR;
+ max-transfer-time-out \fIinteger\fR;
+ max-transfer-idle-in \fIinteger\fR;
+ max-transfer-idle-out \fIinteger\fR;
+ max-retry-time \fIinteger\fR;
+ min-retry-time \fIinteger\fR;
+ max-refresh-time \fIinteger\fR;
+ min-refresh-time \fIinteger\fR;
+ multi-master \fIboolean\fR;
+ sig-validity-interval \fIinteger\fR;
+
+ transfer-source ( \fIipv4_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+ transfer-source-v6 ( \fIipv6_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+
+ alt-transfer-source ( \fIipv4_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+ alt-transfer-source-v6 ( \fIipv6_address\fR | * )
+ [ port ( \fIinteger\fR | * ) ];
+ use-alt-transfer-source \fIboolean\fR;
+
+ zone-statistics \fIboolean\fR;
+ key-directory \fIquoted_string\fR;
+
+ ixfr-base \fIquoted_string\fR; // obsolete
+ ixfr-tmp-file \fIquoted_string\fR; // obsolete
+ maintain-ixfr-base \fIboolean\fR; // obsolete
+ max-ixfr-log-size \fIsize\fR; // obsolete
+ pubkey \fIinteger\fR \fIinteger\fR \fIinteger\fR \fIquoted_string\fR; // obsolete
+};
+.sp
+.fi
+.SH "FILES"
+.PP
+\fI/etc/named.conf\fR
+.SH "SEE ALSO"
+.PP
+\fBnamed\fR(8),
+\fBrndc\fR(8),
+\fBBIND 9 Adminstrators Reference Manual\fR.
diff --git a/usr.sbin/bind/bin/named/named.conf.docbook b/usr.sbin/bind/bin/named/named.conf.docbook
new file mode 100644
index 00000000000..51c8b9b0461
--- /dev/null
+++ b/usr.sbin/bind/bin/named/named.conf.docbook
@@ -0,0 +1,532 @@
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
+<!--
+ - Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ -
+ - Permission to use, copy, modify, and distribute this software for any
+ - purpose with or without fee is hereby granted, provided that the above
+ - copyright notice and this permission notice appear in all copies.
+ -
+ - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ - PERFORMANCE OF THIS SOFTWARE.
+-->
+
+<!-- $ISC: named.conf.docbook,v 1.1.4.1 2004/08/20 22:02:38 marka Exp $ -->
+
+<refentry>
+ <refentryinfo>
+ <date>Aug 13, 2004</date>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle><filename>named.conf</filename></refentrytitle>
+ <manvolnum>5</manvolnum>
+ <refmiscinfo>BIND9</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname><filename>named.conf</filename></refname>
+ <refpurpose>configuration file for named</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>named.conf</command>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>DESCRIPTION</title>
+ <para>
+ <filename>named.conf</filename> is the configuration file for
+ <command>named</command>. Statements are enclosed
+ in braces and terminated with a semi-colon. Clauses in
+ the statements are also semi-colon terminated. The usual
+ comment styles are supported:
+ </para>
+ <para>
+ C style: /* */
+ </para>
+ <para>
+ C++ style: // to end of line
+ </para>
+ <para>
+ Unix style: # to end of line
+ </para>
+ </refsect1>
+
+<refsect1>
+<title>ACL</title>
+<LITERALLAYOUT>
+acl <replaceable>string</replaceable> { <replaceable>address_match_element</replaceable>; ... };
+
+</LITERALLAYOUT>
+</refsect1>
+
+<refsect1>
+<title>KEY</title>
+<LITERALLAYOUT>
+key <replaceable>domain_name</replaceable> {
+ algorithm <replaceable>string</replaceable>;
+ secret <replaceable>string</replaceable>;
+};
+</LITERALLAYOUT>
+</refsect1>
+
+<refsect1>
+<title>MASTERS</title>
+<LITERALLAYOUT>
+masters <replaceable>string</replaceable> <optional> port <replaceable>integer</replaceable> </optional> {
+ ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
+ <replaceable>ipv6_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> ) <optional> key <replaceable>string</replaceable> </optional>; ...
+};
+</LITERALLAYOUT>
+</refsect1>
+
+<refsect1>
+<title>SERVER</title>
+<LITERALLAYOUT>
+server ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) {
+ bogus <replaceable>boolean</replaceable>;
+ edns <replaceable>boolean</replaceable>;
+ provide-ixfr <replaceable>boolean</replaceable>;
+ request-ixfr <replaceable>boolean</replaceable>;
+ keys <replaceable>server_key</replaceable>;
+ transfers <replaceable>integer</replaceable>;
+ transfer-format ( many-answers | one-answer );
+ transfer-source ( <replaceable>ipv4_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+
+ support-ixfr <replaceable>boolean</replaceable>; // obsolete
+};
+</LITERALLAYOUT>
+</refsect1>
+
+<refsect1>
+<title>TRUSTED-KEYS</title>
+<LITERALLAYOUT>
+trusted-keys {
+ <replaceable>domain_name</replaceable> <replaceable>flags</replaceable> <replaceable>protocol</replaceable> <replaceable>algorithm</replaceable> <replaceable>key</replaceable>; ...
+};
+</LITERALLAYOUT>
+</refsect1>
+
+<refsect1>
+<title>CONTROLS</title>
+<LITERALLAYOUT>
+controls {
+ inet ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>
+ allow { <replaceable>address_match_element</replaceable>; ... }
+ <optional> keys { <replaceable>string</replaceable>; ... } </optional>;
+ unix <replaceable>unsupported</replaceable>; // not implemented
+};
+</LITERALLAYOUT>
+</refsect1>
+
+<refsect1>
+<title>LOGGING</title>
+<LITERALLAYOUT>
+logging {
+ channel <replaceable>string</replaceable> {
+ file <replaceable>log_file</replaceable>;
+ syslog <replaceable>optional_facility</replaceable>;
+ null;
+ stderr;
+ severity <replaceable>log_severity</replaceable>;
+ print-time <replaceable>boolean</replaceable>;
+ print-severity <replaceable>boolean</replaceable>;
+ print-category <replaceable>boolean</replaceable>;
+ };
+ category <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
+};
+</LITERALLAYOUT>
+</refsect1>
+
+<refsect1>
+<title>LWRES</title>
+<LITERALLAYOUT>
+lwres {
+ listen-on <optional> port <replaceable>integer</replaceable> </optional> {
+ ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...
+ };
+ view <replaceable>string</replaceable> <replaceable>optional_class</replaceable>;
+ search { <replaceable>string</replaceable>; ... };
+ ndots <replaceable>integer</replaceable>;
+};
+</LITERALLAYOUT>
+</refsect1>
+
+<refsect1>
+<title>OPTIONS</title>
+<LITERALLAYOUT>
+options {
+ avoid-v4-udp-ports { <replaceable>port</replaceable>; ... };
+ avoid-v6-udp-ports { <replaceable>port</replaceable>; ... };
+ blackhole { <replaceable>address_match_element</replaceable>; ... };
+ coresize <replaceable>size</replaceable>;
+ datasize <replaceable>size</replaceable>;
+ directory <replaceable>quoted_string</replaceable>;
+ dump-file <replaceable>quoted_string</replaceable>;
+ files <replaceable>size</replaceable>;
+ heartbeat-interval <replaceable>integer</replaceable>;
+ host-statistics <replaceable>boolean</replaceable>; // not implemented
+ hostname ( <replaceable>quoted_string</replaceable> | none );
+ interface-interval <replaceable>integer</replaceable>;
+ listen-on <optional> port <replaceable>integer</replaceable> </optional> { <replaceable>address_match_element</replaceable>; ... };
+ listen-on-v6 <optional> port <replaceable>integer</replaceable> </optional> { <replaceable>address_match_element</replaceable>; ... };
+ match-mapped-addresses <replaceable>boolean</replaceable>;
+ memstatistics-file <replaceable>quoted_string</replaceable>;
+ pid-file ( <replaceable>quoted_string</replaceable> | none );
+ port <replaceable>integer</replaceable>;
+ querylog <replaceable>boolean</replaceable>;
+ recursing-file <replaceable>quoted_string</replaceable>;
+ random-device <replaceable>quoted_string</replaceable>;
+ recursive-clients <replaceable>integer</replaceable>;
+ serial-query-rate <replaceable>integer</replaceable>;
+ server-id ( <replaceable>quoted_string</replaceable> | none |;
+ stacksize <replaceable>size</replaceable>;
+ statistics-file <replaceable>quoted_string</replaceable>;
+ statistics-interval <replaceable>integer</replaceable>; // not yet implemented
+ tcp-clients <replaceable>integer</replaceable>;
+ tcp-listen-queue <replaceable>integer</replaceable>;
+ tkey-dhkey <replaceable>quoted_string</replaceable> <replaceable>integer</replaceable>;
+ tkey-gssapi-credential <replaceable>quoted_string</replaceable>;
+ tkey-domain <replaceable>quoted_string</replaceable>;
+ transfers-per-ns <replaceable>integer</replaceable>;
+ transfers-in <replaceable>integer</replaceable>;
+ transfers-out <replaceable>integer</replaceable>;
+ use-ixfr <replaceable>boolean</replaceable>;
+ version ( <replaceable>quoted_string</replaceable> | none );
+ allow-recursion { <replaceable>address_match_element</replaceable>; ... };
+ sortlist { <replaceable>address_match_element</replaceable>; ... };
+ topology { <replaceable>address_match_element</replaceable>; ... }; // not implemented
+ auth-nxdomain <replaceable>boolean</replaceable>; // default changed
+ minimal-responses <replaceable>boolean</replaceable>;
+ recursion <replaceable>boolean</replaceable>;
+ rrset-order {
+ <optional> class <replaceable>string</replaceable> </optional> <optional> type <replaceable>string</replaceable> </optional>
+ <optional> name <replaceable>quoted_string</replaceable> </optional> <replaceable>string</replaceable> <replaceable>string</replaceable>; ...
+ };
+ provide-ixfr <replaceable>boolean</replaceable>;
+ request-ixfr <replaceable>boolean</replaceable>;
+ rfc2308-type1 <replaceable>boolean</replaceable>; // not yet implemented
+ additional-from-auth <replaceable>boolean</replaceable>;
+ additional-from-cache <replaceable>boolean</replaceable>;
+ query-source <replaceable>querysource4</replaceable>;
+ query-source-v6 <replaceable>querysource6</replaceable>;
+ cleaning-interval <replaceable>integer</replaceable>;
+ min-roots <replaceable>integer</replaceable>; // not implemented
+ lame-ttl <replaceable>integer</replaceable>;
+ max-ncache-ttl <replaceable>integer</replaceable>;
+ max-cache-ttl <replaceable>integer</replaceable>;
+ transfer-format ( many-answers | one-answer );
+ max-cache-size <replaceable>size_no_default</replaceable>;
+ check-names ( master | slave | response )
+ ( fail | warn | ignore );
+ cache-file <replaceable>quoted_string</replaceable>;
+ suppress-initial-notify <replaceable>boolean</replaceable>; // not yet implemented
+ preferred-glue <replaceable>string</replaceable>;
+ dual-stack-servers <optional> port <replaceable>integer</replaceable> </optional> {
+ ( <replaceable>quoted_string</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
+ <replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
+ <replaceable>ipv6_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> ); ...
+ }
+ edns-udp-size <replaceable>integer</replaceable>;
+ root-delegation-only <optional> exclude { <replaceable>quoted_string</replaceable>; ... } </optional>;
+ disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
+ dnssec-enable <replaceable>boolean</replaceable>;
+ dnssec-lookaside <replaceable>string</replaceable> trust-anchor <replaceable>string</replaceable>;
+ dnssec-must-be-secure <replaceable>string</replaceable> <replaceable>boolean</replaceable>;
+
+ dialup <replaceable>dialuptype</replaceable>;
+ ixfr-from-differences <replaceable>ixfrdiff</replaceable>;
+
+ allow-query { <replaceable>address_match_element</replaceable>; ... };
+ allow-transfer { <replaceable>address_match_element</replaceable>; ... };
+ allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
+
+ notify <replaceable>notifytype</replaceable>;
+ notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
+ <optional> port <replaceable>integer</replaceable> </optional>; ... };
+ allow-notify { <replaceable>address_match_element</replaceable>; ... };
+
+ forward ( first | only );
+ forwarders <optional> port <replaceable>integer</replaceable> </optional> {
+ ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...
+ };
+
+ max-journal-size <replaceable>size_no_default</replaceable>;
+ max-transfer-time-in <replaceable>integer</replaceable>;
+ max-transfer-time-out <replaceable>integer</replaceable>;
+ max-transfer-idle-in <replaceable>integer</replaceable>;
+ max-transfer-idle-out <replaceable>integer</replaceable>;
+ max-retry-time <replaceable>integer</replaceable>;
+ min-retry-time <replaceable>integer</replaceable>;
+ max-refresh-time <replaceable>integer</replaceable>;
+ min-refresh-time <replaceable>integer</replaceable>;
+ multi-master <replaceable>boolean</replaceable>;
+ sig-validity-interval <replaceable>integer</replaceable>;
+
+ transfer-source ( <replaceable>ipv4_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+
+ alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ use-alt-transfer-source <replaceable>boolean</replaceable>;
+
+ zone-statistics <replaceable>boolean</replaceable>;
+ key-directory <replaceable>quoted_string</replaceable>;
+
+ allow-v6-synthesis { <replaceable>address_match_element</replaceable>; ... }; // obsolete
+ deallocate-on-exit <replaceable>boolean</replaceable>; // obsolete
+ fake-iquery <replaceable>boolean</replaceable>; // obsolete
+ fetch-glue <replaceable>boolean</replaceable>; // obsolete
+ has-old-clients <replaceable>boolean</replaceable>; // obsolete
+ maintain-ixfr-base <replaceable>boolean</replaceable>; // obsolete
+ max-ixfr-log-size <replaceable>size</replaceable>; // obsolete
+ multiple-cnames <replaceable>boolean</replaceable>; // obsolete
+ named-xfer <replaceable>quoted_string</replaceable>; // obsolete
+ serial-queries <replaceable>integer</replaceable>; // obsolete
+ treat-cr-as-space <replaceable>boolean</replaceable>; // obsolete
+ use-id-pool <replaceable>boolean</replaceable>; // obsolete
+};
+</LITERALLAYOUT>
+</refsect1>
+
+<refsect1>
+<title>VIEW</title>
+<LITERALLAYOUT>
+view <replaceable>string</replaceable> <replaceable>optional_class</replaceable> {
+ match-clients { <replaceable>address_match_element</replaceable>; ... };
+ match-destinations { <replaceable>address_match_element</replaceable>; ... };
+ match-recursive-only <replaceable>boolean</replaceable>;
+
+ key <replaceable>string</replaceable> {
+ algorithm <replaceable>string</replaceable>;
+ secret <replaceable>string</replaceable>;
+ };
+
+ zone <replaceable>string</replaceable> <replaceable>optional_class</replaceable> {
+ ...
+ };
+
+ server ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) {
+ ...
+ };
+
+ trusted-keys {
+ <replaceable>string</replaceable> <replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>quoted_string</replaceable>; ...
+ };
+
+ allow-recursion { <replaceable>address_match_element</replaceable>; ... };
+ sortlist { <replaceable>address_match_element</replaceable>; ... };
+ topology { <replaceable>address_match_element</replaceable>; ... }; // not implemented
+ auth-nxdomain <replaceable>boolean</replaceable>; // default changed
+ minimal-responses <replaceable>boolean</replaceable>;
+ recursion <replaceable>boolean</replaceable>;
+ rrset-order {
+ <optional> class <replaceable>string</replaceable> </optional> <optional> type <replaceable>string</replaceable> </optional>
+ <optional> name <replaceable>quoted_string</replaceable> </optional> <replaceable>string</replaceable> <replaceable>string</replaceable>; ...
+ };
+ provide-ixfr <replaceable>boolean</replaceable>;
+ request-ixfr <replaceable>boolean</replaceable>;
+ rfc2308-type1 <replaceable>boolean</replaceable>; // not yet implemented
+ additional-from-auth <replaceable>boolean</replaceable>;
+ additional-from-cache <replaceable>boolean</replaceable>;
+ query-source <replaceable>querysource4</replaceable>;
+ query-source-v6 <replaceable>querysource6</replaceable>;
+ cleaning-interval <replaceable>integer</replaceable>;
+ min-roots <replaceable>integer</replaceable>; // not implemented
+ lame-ttl <replaceable>integer</replaceable>;
+ max-ncache-ttl <replaceable>integer</replaceable>;
+ max-cache-ttl <replaceable>integer</replaceable>;
+ transfer-format ( many-answers | one-answer );
+ max-cache-size <replaceable>size_no_default</replaceable>;
+ check-names ( master | slave | response )
+ ( fail | warn | ignore );
+ cache-file <replaceable>quoted_string</replaceable>;
+ suppress-initial-notify <replaceable>boolean</replaceable>; // not yet implemented
+ preferred-glue <replaceable>string</replaceable>;
+ dual-stack-servers <optional> port <replaceable>integer</replaceable> </optional> {
+ ( <replaceable>quoted_string</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
+ <replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
+ <replaceable>ipv6_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> ); ...
+ };
+ edns-udp-size <replaceable>integer</replaceable>;
+ root-delegation-only <optional> exclude { <replaceable>quoted_string</replaceable>; ... } </optional>;
+ disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
+ dnssec-enable <replaceable>boolean</replaceable>;
+ dnssec-lookaside <replaceable>string</replaceable> trust-anchor <replaceable>string</replaceable>;
+
+ dnssec-must-be-secure <replaceable>string</replaceable> <replaceable>boolean</replaceable>;
+ dialup <replaceable>dialuptype</replaceable>;
+ ixfr-from-differences <replaceable>ixfrdiff</replaceable>;
+
+ allow-query { <replaceable>address_match_element</replaceable>; ... };
+ allow-transfer { <replaceable>address_match_element</replaceable>; ... };
+ allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
+
+ notify <replaceable>notifytype</replaceable>;
+ notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
+ <optional> port <replaceable>integer</replaceable> </optional>; ... };
+ allow-notify { <replaceable>address_match_element</replaceable>; ... };
+
+ forward ( first | only );
+ forwarders <optional> port <replaceable>integer</replaceable> </optional> {
+ ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...
+ };
+
+ max-journal-size <replaceable>size_no_default</replaceable>;
+ max-transfer-time-in <replaceable>integer</replaceable>;
+ max-transfer-time-out <replaceable>integer</replaceable>;
+ max-transfer-idle-in <replaceable>integer</replaceable>;
+ max-transfer-idle-out <replaceable>integer</replaceable>;
+ max-retry-time <replaceable>integer</replaceable>;
+ min-retry-time <replaceable>integer</replaceable>;
+ max-refresh-time <replaceable>integer</replaceable>;
+ min-refresh-time <replaceable>integer</replaceable>;
+ multi-master <replaceable>boolean</replaceable>;
+ sig-validity-interval <replaceable>integer</replaceable>;
+
+ transfer-source ( <replaceable>ipv4_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+
+ alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ use-alt-transfer-source <replaceable>boolean</replaceable>;
+
+ zone-statistics <replaceable>boolean</replaceable>;
+ key-directory <replaceable>quoted_string</replaceable>;
+
+ allow-v6-synthesis { <replaceable>address_match_element</replaceable>; ... }; // obsolete
+ fetch-glue <replaceable>boolean</replaceable>; // obsolete
+ maintain-ixfr-base <replaceable>boolean</replaceable>; // obsolete
+ max-ixfr-log-size <replaceable>size</replaceable>; // obsolete
+};
+</LITERALLAYOUT>
+</refsect1>
+
+<refsect1>
+<title>ZONE</title>
+<LITERALLAYOUT>
+zone <replaceable>string</replaceable> <replaceable>optional_class</replaceable> {
+ type ( master | slave | stub | hint |
+ forward | delegation-only );
+ file <replaceable>quoted_string</replaceable>;
+
+ masters <optional> port <replaceable>integer</replaceable> </optional> {
+ ( <replaceable>masters</replaceable> |
+ <replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
+ <replaceable>ipv6_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ...
+ };
+
+ database <replaceable>string</replaceable>;
+ delegation-only <replaceable>boolean</replaceable>;
+ check-names ( fail | warn | ignore );
+ dialup <replaceable>dialuptype</replaceable>;
+ ixfr-from-differences <replaceable>boolean</replaceable>;
+
+ allow-query { <replaceable>address_match_element</replaceable>; ... };
+ allow-transfer { <replaceable>address_match_element</replaceable>; ... };
+ allow-update { <replaceable>address_match_element</replaceable>; ... };
+ allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
+ update-policy {
+ ( grant | deny ) <replaceable>string</replaceable>
+ ( name | subdomain | wildcard | self ) <replaceable>string</replaceable>
+ <replaceable>rrtypelist</replaceable>; ...
+ };
+
+ notify <replaceable>notifytype</replaceable>;
+ notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
+ <optional> port <replaceable>integer</replaceable> </optional>; ... };
+ allow-notify { <replaceable>address_match_element</replaceable>; ... };
+
+ forward ( first | only );
+ forwarders <optional> port <replaceable>integer</replaceable> </optional> {
+ ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...
+ };
+
+ max-journal-size <replaceable>size_no_default</replaceable>;
+ max-transfer-time-in <replaceable>integer</replaceable>;
+ max-transfer-time-out <replaceable>integer</replaceable>;
+ max-transfer-idle-in <replaceable>integer</replaceable>;
+ max-transfer-idle-out <replaceable>integer</replaceable>;
+ max-retry-time <replaceable>integer</replaceable>;
+ min-retry-time <replaceable>integer</replaceable>;
+ max-refresh-time <replaceable>integer</replaceable>;
+ min-refresh-time <replaceable>integer</replaceable>;
+ multi-master <replaceable>boolean</replaceable>;
+ sig-validity-interval <replaceable>integer</replaceable>;
+
+ transfer-source ( <replaceable>ipv4_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+
+ alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
+ <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
+ use-alt-transfer-source <replaceable>boolean</replaceable>;
+
+ zone-statistics <replaceable>boolean</replaceable>;
+ key-directory <replaceable>quoted_string</replaceable>;
+
+ ixfr-base <replaceable>quoted_string</replaceable>; // obsolete
+ ixfr-tmp-file <replaceable>quoted_string</replaceable>; // obsolete
+ maintain-ixfr-base <replaceable>boolean</replaceable>; // obsolete
+ max-ixfr-log-size <replaceable>size</replaceable>; // obsolete
+ pubkey <replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>quoted_string</replaceable>; // obsolete
+};
+</LITERALLAYOUT>
+</refsect1>
+
+<refsect1>
+<title>FILES</title>
+<para>
+<filename>/etc/named.conf</filename>
+</para>
+</refsect1>
+
+<refsect1>
+<title>SEE ALSO</title>
+<para>
+<citerefentry>
+<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
+</citerefentry>,
+<citerefentry>
+<refentrytitle>rndc</refentrytitle><manvolnum>8</manvolnum>
+</citerefentry>,
+<citerefentry>
+<refentrytitle>BIND 9 Adminstrators Reference Manual</refentrytitle>
+</citerefentry>.
+</para>
+</refsect1>
+
+</refentry>
+<!--
+ - Local variables:
+ - mode: sgml
+ - End:
+-->
diff --git a/usr.sbin/bind/bin/named/named.conf.html b/usr.sbin/bind/bin/named/named.conf.html
new file mode 100644
index 00000000000..36b11de7609
--- /dev/null
+++ b/usr.sbin/bind/bin/named/named.conf.html
@@ -0,0 +1,1893 @@
+<!--
+ - Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ -
+ - Permission to use, copy, modify, and distribute this software for any
+ - purpose with or without fee is hereby granted, provided that the above
+ - copyright notice and this permission notice appear in all copies.
+ -
+ - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ - PERFORMANCE OF THIS SOFTWARE.
+-->
+
+<!-- $ISC: named.conf.html,v 1.1.4.3 2004/08/22 23:38:59 marka Exp $ -->
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>named.conf</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><H1
+><A
+NAME="AEN1"
+></A
+><TT
+CLASS="FILENAME"
+>named.conf</TT
+></H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN9"
+></A
+><H2
+>Name</H2
+><TT
+CLASS="FILENAME"
+>named.conf</TT
+>&nbsp;--&nbsp;configuration file for named</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN13"
+></A
+><H2
+>Synopsis</H2
+><P
+><B
+CLASS="COMMAND"
+>named.conf</B
+> </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN16"
+></A
+><H2
+>DESCRIPTION</H2
+><P
+> <TT
+CLASS="FILENAME"
+>named.conf</TT
+> is the configuration file for
+ <B
+CLASS="COMMAND"
+>named</B
+>. Statements are enclosed
+ in braces and terminated with a semi-colon. Clauses in
+ the statements are also semi-colon terminated. The usual
+ comment styles are supported:
+ </P
+><P
+> C style: /* */
+ </P
+><P
+> C++ style: // to end of line
+ </P
+><P
+> Unix style: # to end of line
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN24"
+></A
+><H2
+>ACL</H2
+><P
+CLASS="LITERALLAYOUT"
+>acl&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>&#13;</P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN29"
+></A
+><H2
+>KEY</H2
+><P
+CLASS="LITERALLAYOUT"
+>key&nbsp;<VAR
+CLASS="REPLACEABLE"
+>domain_name</VAR
+>&nbsp;{<br>
+ algorithm&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;<br>
+ secret&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;<br>
+};</P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN35"
+></A
+><H2
+>MASTERS</H2
+><P
+CLASS="LITERALLAYOUT"
+>masters&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{<br>
+ (&nbsp;<VAR
+CLASS="REPLACEABLE"
+>masters</VAR
+>&nbsp;|&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;[<SPAN
+CLASS="OPTIONAL"
+>port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+></SPAN
+>]&nbsp;|<br>
+ <VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;[<SPAN
+CLASS="OPTIONAL"
+>port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+></SPAN
+>]&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> key <VAR
+CLASS="REPLACEABLE"
+>string</VAR
+> </SPAN
+>];&nbsp;...<br>
+};</P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN50"
+></A
+><H2
+>SERVER</H2
+><P
+CLASS="LITERALLAYOUT"
+>server&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;)&nbsp;{<br>
+ bogus&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ edns&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ provide-ixfr&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ request-ixfr&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ keys&nbsp;<VAR
+CLASS="REPLACEABLE"
+>server_key</VAR
+>;<br>
+ transfers&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ transfer-format&nbsp;(&nbsp;many-answers&nbsp;|&nbsp;one-answer&nbsp;);<br>
+ transfer-source&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ transfer-source-v6&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+<br>
+ support-ixfr&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+};</P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN68"
+></A
+><H2
+>TRUSTED-KEYS</H2
+><P
+CLASS="LITERALLAYOUT"
+>trusted-keys&nbsp;{<br>
+ <VAR
+CLASS="REPLACEABLE"
+>domain_name</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>flags</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>protocol</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>algorithm</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>key</VAR
+>;&nbsp;...&nbsp;<br>
+};</P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN76"
+></A
+><H2
+>CONTROLS</H2
+><P
+CLASS="LITERALLAYOUT"
+>controls&nbsp;{<br>
+ inet&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>]<br>
+ allow&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;}<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> keys { <VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>; ... } </SPAN
+>];<br>
+ unix&nbsp;<VAR
+CLASS="REPLACEABLE"
+>unsupported</VAR
+>;&nbsp;//&nbsp;not&nbsp;implemented<br>
+};</P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN87"
+></A
+><H2
+>LOGGING</H2
+><P
+CLASS="LITERALLAYOUT"
+>logging&nbsp;{<br>
+ channel&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;{<br>
+ file&nbsp;<VAR
+CLASS="REPLACEABLE"
+>log_file</VAR
+>;<br>
+ syslog&nbsp;<VAR
+CLASS="REPLACEABLE"
+>optional_facility</VAR
+>;<br>
+ null;<br>
+ stderr;<br>
+ severity&nbsp;<VAR
+CLASS="REPLACEABLE"
+>log_severity</VAR
+>;<br>
+ print-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ print-severity&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ print-category&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ };<br>
+ category&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;&nbsp;...&nbsp;};<br>
+};</P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN99"
+></A
+><H2
+>LWRES</H2
+><P
+CLASS="LITERALLAYOUT"
+>lwres&nbsp;{<br>
+ listen-on&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{<br>
+ (&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>];&nbsp;...<br>
+ };<br>
+ view&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>optional_class</VAR
+>;<br>
+ search&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;&nbsp;...&nbsp;};<br>
+ ndots&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+};</P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN112"
+></A
+><H2
+>OPTIONS</H2
+><P
+CLASS="LITERALLAYOUT"
+>options&nbsp;{<br>
+ avoid-v4-udp-ports&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>port</VAR
+>;&nbsp;...&nbsp;};<br>
+ avoid-v6-udp-ports&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>port</VAR
+>;&nbsp;...&nbsp;};<br>
+ blackhole&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ coresize&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size</VAR
+>;<br>
+ datasize&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size</VAR
+>;<br>
+ directory&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+ dump-file&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+ files&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size</VAR
+>;<br>
+ heartbeat-interval&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ host-statistics&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;not&nbsp;implemented<br>
+ hostname&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>&nbsp;|&nbsp;none&nbsp;);<br>
+ interface-interval&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ listen-on&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ listen-on-v6&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ match-mapped-addresses&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ memstatistics-file&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+ pid-file&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>&nbsp;|&nbsp;none&nbsp;);<br>
+ port&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ querylog&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ recursing-file&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+ random-device&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+ recursive-clients&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ serial-query-rate&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ server-id&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>&nbsp;|&nbsp;none&nbsp;|;<br>
+ stacksize&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size</VAR
+>;<br>
+ statistics-file&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+ statistics-interval&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;&nbsp;//&nbsp;not&nbsp;yet&nbsp;implemented<br>
+ tcp-clients&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ tcp-listen-queue&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ tkey-dhkey&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ tkey-gssapi-credential&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+ tkey-domain&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+ transfers-per-ns&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ transfers-in&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ transfers-out&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ use-ixfr&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ version&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>&nbsp;|&nbsp;none&nbsp;);<br>
+ allow-recursion&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ sortlist&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ topology&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};&nbsp;//&nbsp;not&nbsp;implemented<br>
+ auth-nxdomain&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;default&nbsp;changed<br>
+ minimal-responses&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ recursion&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ rrset-order&nbsp;{<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> class <VAR
+CLASS="REPLACEABLE"
+>string</VAR
+> </SPAN
+>]&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> type <VAR
+CLASS="REPLACEABLE"
+>string</VAR
+> </SPAN
+>]<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> name <VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+> </SPAN
+>]&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;&nbsp;...<br>
+ };<br>
+ provide-ixfr&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ request-ixfr&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ rfc2308-type1&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;not&nbsp;yet&nbsp;implemented<br>
+ additional-from-auth&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ additional-from-cache&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ query-source&nbsp;<VAR
+CLASS="REPLACEABLE"
+>querysource4</VAR
+>;<br>
+ query-source-v6&nbsp;<VAR
+CLASS="REPLACEABLE"
+>querysource6</VAR
+>;<br>
+ cleaning-interval&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ min-roots&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;&nbsp;//&nbsp;not&nbsp;implemented<br>
+ lame-ttl&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-ncache-ttl&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-cache-ttl&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ transfer-format&nbsp;(&nbsp;many-answers&nbsp;|&nbsp;one-answer&nbsp;);<br>
+ max-cache-size&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size_no_default</VAR
+>;<br>
+ check-names&nbsp;(&nbsp;master&nbsp;|&nbsp;slave&nbsp;|&nbsp;response&nbsp;)<br>
+ (&nbsp;fail&nbsp;|&nbsp;warn&nbsp;|&nbsp;ignore&nbsp;);<br>
+ cache-file&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+ suppress-initial-notify&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;not&nbsp;yet&nbsp;implemented<br>
+ preferred-glue&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;<br>
+ dual-stack-servers&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{<br>
+ (&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>&nbsp;[<SPAN
+CLASS="OPTIONAL"
+>port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+></SPAN
+>]&nbsp;|<br>
+ <VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;[<SPAN
+CLASS="OPTIONAL"
+>port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+></SPAN
+>]&nbsp;|<br>
+ <VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;[<SPAN
+CLASS="OPTIONAL"
+>port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+></SPAN
+>]&nbsp;);&nbsp;...<br>
+ }<br>
+ edns-udp-size&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ root-delegation-only&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> exclude { <VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>; ... } </SPAN
+>];<br>
+ disable-algorithms&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;&nbsp;...&nbsp;};<br>
+ dnssec-enable&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ dnssec-lookaside&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;trust-anchor&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;<br>
+ dnssec-must-be-secure&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+<br>
+ dialup&nbsp;<VAR
+CLASS="REPLACEABLE"
+>dialuptype</VAR
+>;<br>
+ ixfr-from-differences&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ixfrdiff</VAR
+>;<br>
+<br>
+ allow-query&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ allow-transfer&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ allow-update-forwarding&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+<br>
+ notify&nbsp;<VAR
+CLASS="REPLACEABLE"
+>notifytype</VAR
+>;<br>
+ notify-source&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ notify-source-v6&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ also-notify&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>];&nbsp;...&nbsp;};<br>
+ allow-notify&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+<br>
+ forward&nbsp;(&nbsp;first&nbsp;|&nbsp;only&nbsp;);<br>
+ forwarders&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{<br>
+ (&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>];&nbsp;...<br>
+ };<br>
+<br>
+ max-journal-size&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size_no_default</VAR
+>;<br>
+ max-transfer-time-in&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-transfer-time-out&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-transfer-idle-in&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-transfer-idle-out&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-retry-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ min-retry-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-refresh-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ min-refresh-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ multi-master&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ sig-validity-interval&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+<br>
+ transfer-source&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ transfer-source-v6&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+<br>
+ alt-transfer-source&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ alt-transfer-source-v6&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ use-alt-transfer-source&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+<br>
+ zone-statistics&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ key-directory&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+<br>
+ allow-v6-synthesis&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};&nbsp;//&nbsp;obsolete<br>
+ deallocate-on-exit&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ fake-iquery&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ fetch-glue&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ has-old-clients&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ maintain-ixfr-base&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ max-ixfr-log-size&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ multiple-cnames&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ named-xfer&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ serial-queries&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ treat-cr-as-space&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ use-id-pool&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+};</P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN271"
+></A
+><H2
+>VIEW</H2
+><P
+CLASS="LITERALLAYOUT"
+>view&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>optional_class</VAR
+>&nbsp;{<br>
+ match-clients&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ match-destinations&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ match-recursive-only&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+<br>
+ key&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;{<br>
+ algorithm&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;<br>
+ secret&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;<br>
+ };<br>
+<br>
+ zone&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>optional_class</VAR
+>&nbsp;{<br>
+ ...<br>
+ };<br>
+<br>
+ server&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;)&nbsp;{<br>
+ ...<br>
+ };<br>
+<br>
+ trusted-keys&nbsp;{<br>
+ <VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;&nbsp;...<br>
+ };<br>
+<br>
+ allow-recursion&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ sortlist&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ topology&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};&nbsp;//&nbsp;not&nbsp;implemented<br>
+ auth-nxdomain&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;default&nbsp;changed<br>
+ minimal-responses&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ recursion&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ rrset-order&nbsp;{<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> class <VAR
+CLASS="REPLACEABLE"
+>string</VAR
+> </SPAN
+>]&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> type <VAR
+CLASS="REPLACEABLE"
+>string</VAR
+> </SPAN
+>]<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> name <VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+> </SPAN
+>]&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;&nbsp;...<br>
+ };<br>
+ provide-ixfr&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ request-ixfr&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ rfc2308-type1&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;not&nbsp;yet&nbsp;implemented<br>
+ additional-from-auth&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ additional-from-cache&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ query-source&nbsp;<VAR
+CLASS="REPLACEABLE"
+>querysource4</VAR
+>;<br>
+ query-source-v6&nbsp;<VAR
+CLASS="REPLACEABLE"
+>querysource6</VAR
+>;<br>
+ cleaning-interval&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ min-roots&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;&nbsp;//&nbsp;not&nbsp;implemented<br>
+ lame-ttl&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-ncache-ttl&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-cache-ttl&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ transfer-format&nbsp;(&nbsp;many-answers&nbsp;|&nbsp;one-answer&nbsp;);<br>
+ max-cache-size&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size_no_default</VAR
+>;<br>
+ check-names&nbsp;(&nbsp;master&nbsp;|&nbsp;slave&nbsp;|&nbsp;response&nbsp;)<br>
+ (&nbsp;fail&nbsp;|&nbsp;warn&nbsp;|&nbsp;ignore&nbsp;);<br>
+ cache-file&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+ suppress-initial-notify&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;not&nbsp;yet&nbsp;implemented<br>
+ preferred-glue&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;<br>
+ dual-stack-servers&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{<br>
+ (&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>&nbsp;[<SPAN
+CLASS="OPTIONAL"
+>port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+></SPAN
+>]&nbsp;|<br>
+ <VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;[<SPAN
+CLASS="OPTIONAL"
+>port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+></SPAN
+>]&nbsp;|<br>
+ <VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;[<SPAN
+CLASS="OPTIONAL"
+>port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+></SPAN
+>]&nbsp;);&nbsp;...<br>
+ };<br>
+ edns-udp-size&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ root-delegation-only&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> exclude { <VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>; ... } </SPAN
+>];<br>
+ disable-algorithms&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;&nbsp;...&nbsp;};<br>
+ dnssec-enable&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ dnssec-lookaside&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;trust-anchor&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;<br>
+<br>
+ dnssec-must-be-secure&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ dialup&nbsp;<VAR
+CLASS="REPLACEABLE"
+>dialuptype</VAR
+>;<br>
+ ixfr-from-differences&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ixfrdiff</VAR
+>;<br>
+<br>
+ allow-query&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ allow-transfer&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ allow-update-forwarding&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+<br>
+ notify&nbsp;<VAR
+CLASS="REPLACEABLE"
+>notifytype</VAR
+>;<br>
+ notify-source&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ notify-source-v6&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ also-notify&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>];&nbsp;...&nbsp;};<br>
+ allow-notify&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+<br>
+ forward&nbsp;(&nbsp;first&nbsp;|&nbsp;only&nbsp;);<br>
+ forwarders&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{<br>
+ (&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>];&nbsp;...<br>
+ };<br>
+<br>
+ max-journal-size&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size_no_default</VAR
+>;<br>
+ max-transfer-time-in&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-transfer-time-out&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-transfer-idle-in&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-transfer-idle-out&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-retry-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ min-retry-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-refresh-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ min-refresh-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ multi-master&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ sig-validity-interval&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+<br>
+ transfer-source&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ transfer-source-v6&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+<br>
+ alt-transfer-source&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ alt-transfer-source-v6&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ use-alt-transfer-source&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+<br>
+ zone-statistics&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ key-directory&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+<br>
+ allow-v6-synthesis&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};&nbsp;//&nbsp;obsolete<br>
+ fetch-glue&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ maintain-ixfr-base&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ max-ixfr-log-size&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+};</P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN397"
+></A
+><H2
+>ZONE</H2
+><P
+CLASS="LITERALLAYOUT"
+>zone&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>optional_class</VAR
+>&nbsp;{<br>
+ type&nbsp;(&nbsp;master&nbsp;|&nbsp;slave&nbsp;|&nbsp;stub&nbsp;|&nbsp;hint&nbsp;|<br>
+ forward&nbsp;|&nbsp;delegation-only&nbsp;);<br>
+ file&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+<br>
+ masters&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{<br>
+ (&nbsp;<VAR
+CLASS="REPLACEABLE"
+>masters</VAR
+>&nbsp;|<br>
+ <VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;[<SPAN
+CLASS="OPTIONAL"
+>port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+></SPAN
+>]&nbsp;|<br>
+ <VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> key <VAR
+CLASS="REPLACEABLE"
+>string</VAR
+> </SPAN
+>];&nbsp;...<br>
+ };<br>
+<br>
+ database&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+>;<br>
+ delegation-only&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ check-names&nbsp;(&nbsp;fail&nbsp;|&nbsp;warn&nbsp;|&nbsp;ignore&nbsp;);<br>
+ dialup&nbsp;<VAR
+CLASS="REPLACEABLE"
+>dialuptype</VAR
+>;<br>
+ ixfr-from-differences&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+<br>
+ allow-query&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ allow-transfer&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ allow-update&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ allow-update-forwarding&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+ update-policy&nbsp;{<br>
+ (&nbsp;grant&nbsp;|&nbsp;deny&nbsp;)&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+><br>
+ (&nbsp;name&nbsp;|&nbsp;subdomain&nbsp;|&nbsp;wildcard&nbsp;|&nbsp;self&nbsp;)&nbsp;<VAR
+CLASS="REPLACEABLE"
+>string</VAR
+><br>
+ <VAR
+CLASS="REPLACEABLE"
+>rrtypelist</VAR
+>;&nbsp;...<br>
+ };<br>
+<br>
+ notify&nbsp;<VAR
+CLASS="REPLACEABLE"
+>notifytype</VAR
+>;<br>
+ notify-source&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ notify-source-v6&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ also-notify&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>];&nbsp;...&nbsp;};<br>
+ allow-notify&nbsp;{&nbsp;<VAR
+CLASS="REPLACEABLE"
+>address_match_element</VAR
+>;&nbsp;...&nbsp;};<br>
+<br>
+ forward&nbsp;(&nbsp;first&nbsp;|&nbsp;only&nbsp;);<br>
+ forwarders&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>]&nbsp;{<br>
+ (&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;)&nbsp;[<SPAN
+CLASS="OPTIONAL"
+> port <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> </SPAN
+>];&nbsp;...<br>
+ };<br>
+<br>
+ max-journal-size&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size_no_default</VAR
+>;<br>
+ max-transfer-time-in&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-transfer-time-out&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-transfer-idle-in&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-transfer-idle-out&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-retry-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ min-retry-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ max-refresh-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ min-refresh-time&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+ multi-master&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ sig-validity-interval&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>;<br>
+<br>
+ transfer-source&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ transfer-source-v6&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+<br>
+ alt-transfer-source&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv4_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ alt-transfer-source-v6&nbsp;(&nbsp;<VAR
+CLASS="REPLACEABLE"
+>ipv6_address</VAR
+>&nbsp;|&nbsp;*&nbsp;)<br>
+ [<SPAN
+CLASS="OPTIONAL"
+> port ( <VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+> | * ) </SPAN
+>];<br>
+ use-alt-transfer-source&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+<br>
+ zone-statistics&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;<br>
+ key-directory&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;<br>
+<br>
+ ixfr-base&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ ixfr-tmp-file&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ maintain-ixfr-base&nbsp;<VAR
+CLASS="REPLACEABLE"
+>boolean</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ max-ixfr-log-size&nbsp;<VAR
+CLASS="REPLACEABLE"
+>size</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+ pubkey&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>integer</VAR
+>&nbsp;<VAR
+CLASS="REPLACEABLE"
+>quoted_string</VAR
+>;&nbsp;//&nbsp;obsolete<br>
+};</P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN479"
+></A
+><H2
+>FILES</H2
+><P
+><TT
+CLASS="FILENAME"
+>/etc/named.conf</TT
+></P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN483"
+></A
+><H2
+>SEE ALSO</H2
+><P
+><SPAN
+CLASS="CITEREFENTRY"
+><SPAN
+CLASS="REFENTRYTITLE"
+>named</SPAN
+>(8)</SPAN
+>,
+<SPAN
+CLASS="CITEREFENTRY"
+><SPAN
+CLASS="REFENTRYTITLE"
+>rndc</SPAN
+>(8)</SPAN
+>,
+<SPAN
+CLASS="CITEREFENTRY"
+><SPAN
+CLASS="REFENTRYTITLE"
+>BIND 9 Adminstrators Reference Manual</SPAN
+></SPAN
+>.</P
+></DIV
+></BODY
+></HTML
+>
diff --git a/usr.sbin/bind/bin/named/sortlist.c b/usr.sbin/bind/bin/named/sortlist.c
index c25c0b6774c..c1785784472 100644
--- a/usr.sbin/bind/bin/named/sortlist.c
+++ b/usr.sbin/bind/bin/named/sortlist.c
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: sortlist.c,v 1.5 2001/03/26 23:36:00 gson Exp $ */
+/* $ISC: sortlist.c,v 1.5.12.4 2004/03/08 04:04:19 marka Exp $ */
#include <config.h>
@@ -42,40 +42,58 @@ ns_sortlist_setup(dns_acl_t *acl, isc_netaddr_t *clientaddr, void **argp) {
* in the sortlist (see ARM).
*/
dns_aclelement_t *e = &acl->elements[i];
- dns_aclelement_t *matchelt = NULL;
- dns_acl_t *inner;
-
- if (e->type != dns_aclelementtype_nestedacl)
- goto dont_sort;
-
- inner = e->u.nestedacl;
-
- if (inner->length < 1 || inner->length > 2)
- goto dont_sort;
-
- if (inner->elements[0].negative)
- goto dont_sort;
+ dns_aclelement_t *try_elt;
+ dns_aclelement_t *order_elt = NULL;
+ dns_aclelement_t *matched_elt = NULL;
+
+ if (e->type == dns_aclelementtype_nestedacl) {
+ dns_acl_t *inner = e->u.nestedacl;
+
+ if (inner->length < 1 || inner->length > 2)
+ goto dont_sort;
+ if (inner->elements[0].negative)
+ goto dont_sort;
+ try_elt = &inner->elements[0];
+ if (inner->length == 2)
+ order_elt = &inner->elements[1];
+ } else {
+ /*
+ * BIND 8 allows bare elements at the top level
+ * as an undocumented feature.
+ */
+ try_elt = e;
+ }
- if (dns_aclelement_match(clientaddr, NULL,
- &inner->elements[0],
+ if (dns_aclelement_match(clientaddr, NULL, try_elt,
&ns_g_server->aclenv,
- &matchelt)) {
- if (inner->length == 2) {
- dns_aclelement_t *elt1 = &inner->elements[1];
- if (elt1->type == dns_aclelementtype_nestedacl)
- *argp = elt1->u.nestedacl;
- else if (elt1->type == dns_aclelementtype_localhost &&
- ns_g_server->aclenv.localhost != NULL)
+ &matched_elt)) {
+ if (order_elt != NULL) {
+ if (order_elt->type ==
+ dns_aclelementtype_nestedacl) {
+ *argp = order_elt->u.nestedacl;
+ return (NS_SORTLISTTYPE_2ELEMENT);
+ } else if (order_elt->type ==
+ dns_aclelementtype_localhost &&
+ ns_g_server->aclenv.localhost != NULL) {
*argp = ns_g_server->aclenv.localhost;
- else if (elt1->type == dns_aclelementtype_localnets &&
- ns_g_server->aclenv.localnets != NULL)
+ return (NS_SORTLISTTYPE_2ELEMENT);
+ } else if (order_elt->type ==
+ dns_aclelementtype_localnets &&
+ ns_g_server->aclenv.localnets != NULL) {
*argp = ns_g_server->aclenv.localnets;
- else
- goto dont_sort;
- return (NS_SORTLISTTYPE_2ELEMENT);
+ return (NS_SORTLISTTYPE_2ELEMENT);
+ } else {
+ /*
+ * BIND 8 allows a bare IP prefix as
+ * the 2nd element of a 2-element
+ * sortlist statement.
+ */
+ *argp = order_elt;
+ return (NS_SORTLISTTYPE_1ELEMENT);
+ }
} else {
- INSIST(matchelt != NULL);
- *argp = matchelt;
+ INSIST(matched_elt != NULL);
+ *argp = matched_elt;
return (NS_SORTLISTTYPE_1ELEMENT);
}
}
diff --git a/usr.sbin/bind/bin/named/tkeyconf.c b/usr.sbin/bind/bin/named/tkeyconf.c
index b5559150d94..fdbd377b763 100644
--- a/usr.sbin/bind/bin/named/tkeyconf.c
+++ b/usr.sbin/bind/bin/named/tkeyconf.c
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: tkeyconf.c,v 1.19 2001/05/06 02:20:29 mayer Exp $ */
+/* $ISC: tkeyconf.c,v 1.19.208.2 2004/06/11 00:30:51 marka Exp $ */
#include <config.h>
@@ -53,6 +53,7 @@ ns_tkeyctx_fromconfig(cfg_obj_t *options, isc_mem_t *mctx, isc_entropy_t *ectx,
dns_name_t *name;
isc_buffer_t b;
cfg_obj_t *obj;
+ int type;
result = dns_tkeyctx_create(mctx, ectx, &tctx);
if (result != ISC_R_SUCCESS)
@@ -69,9 +70,9 @@ ns_tkeyctx_fromconfig(cfg_obj_t *options, isc_mem_t *mctx, isc_entropy_t *ectx,
name = dns_fixedname_name(&fname);
RETERR(dns_name_fromtext(name, &b, dns_rootname,
ISC_FALSE, NULL));
+ type = DST_TYPE_PUBLIC|DST_TYPE_PRIVATE|DST_TYPE_KEY;
RETERR(dst_key_fromfile(name, (dns_keytag_t) n, DNS_KEYALG_DH,
- DST_TYPE_PUBLIC|DST_TYPE_PRIVATE,
- NULL, mctx, &tctx->dhkey));
+ type, NULL, mctx, &tctx->dhkey));
}
obj = NULL;
diff --git a/usr.sbin/bind/bin/named/tsigconf.c b/usr.sbin/bind/bin/named/tsigconf.c
index 9cf1ef18d6c..de4d69850f6 100644
--- a/usr.sbin/bind/bin/named/tsigconf.c
+++ b/usr.sbin/bind/bin/named/tsigconf.c
@@ -1,21 +1,21 @@
/*
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: tsigconf.c,v 1.21 2001/08/03 18:39:50 bwelling Exp $ */
+/* $ISC: tsigconf.c,v 1.21.208.4 2004/03/08 04:04:19 marka Exp $ */
#include <config.h>
diff --git a/usr.sbin/bind/bin/named/unix/Makefile.in b/usr.sbin/bind/bin/named/unix/Makefile.in
index b35aff629dc..8c5307beeb9 100644
--- a/usr.sbin/bind/bin/named/unix/Makefile.in
+++ b/usr.sbin/bind/bin/named/unix/Makefile.in
@@ -1,25 +1,25 @@
+# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
-# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
-# DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
-# INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
-# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
-# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
-# $ISC: Makefile.in,v 1.6 2001/01/09 21:40:37 bwelling Exp $
+# $ISC: Makefile.in,v 1.6.12.3 2004/03/08 09:04:15 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
-@BIND9_INCLUDES@
+@BIND9_MAKE_INCLUDES@
CINCLUDES = -I${srcdir}/include -I${srcdir}/../include \
${DNS_INCLUDES} ${ISC_INCLUDES}
diff --git a/usr.sbin/bind/bin/named/zoneconf.c b/usr.sbin/bind/bin/named/zoneconf.c
index 8e0ee8a46e1..ccca1487c43 100644
--- a/usr.sbin/bind/bin/named/zoneconf.c
+++ b/usr.sbin/bind/bin/named/zoneconf.c
@@ -1,26 +1,28 @@
/*
- * Copyright (C) 1999-2001 Internet Software Consortium.
+ * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
*/
-/* $ISC: zoneconf.c,v 1.87.2.4 2001/11/13 01:15:33 gson Exp $ */
+/* $ISC: zoneconf.c,v 1.87.2.4.10.13 2004/04/20 14:12:09 marka Exp $ */
#include <config.h>
#include <isc/buffer.h>
+#include <isc/file.h>
#include <isc/mem.h>
+#include <isc/print.h>
#include <isc/string.h> /* Required for HP/UX (and others?) */
#include <isc/util.h>
@@ -30,11 +32,13 @@
#include <dns/name.h>
#include <dns/rdatatype.h>
#include <dns/ssu.h>
+#include <dns/view.h>
#include <dns/zone.h>
#include <named/config.h>
#include <named/globals.h>
#include <named/log.h>
+#include <named/server.h>
#include <named/zoneconf.h>
/*
@@ -288,6 +292,21 @@ strtoargv(isc_mem_t *mctx, char *s, unsigned int *argcp, char ***argvp) {
return (strtoargvsub(mctx, s, argcp, argvp, 0));
}
+static void
+checknames(dns_zonetype_t ztype, cfg_obj_t **maps, cfg_obj_t **objp) {
+ const char *zone = NULL;
+ isc_result_t result;
+
+ switch (ztype) {
+ case dns_zone_slave: zone = "slave"; break;
+ case dns_zone_master: zone = "master"; break;
+ default:
+ INSIST(0);
+ }
+ result = ns_checknames_get(maps, zone, objp);
+ INSIST(result == ISC_R_SUCCESS);
+}
+
isc_result_t
ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
ns_aclconfctx_t *ac, dns_zone_t *zone)
@@ -313,6 +332,11 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
dns_dialuptype_t dialup = dns_dialuptype_no;
dns_zonetype_t ztype;
int i;
+ isc_int32_t journal_size;
+ isc_boolean_t multi;
+ isc_boolean_t alt;
+ dns_view_t *view;
+ isc_boolean_t check = ISC_FALSE, fail = ISC_FALSE;
i = 0;
if (zconfig != NULL) {
@@ -408,7 +432,7 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
obj = NULL;
result = ns_config_get(maps, "zone-statistics", &obj);
INSIST(result == ISC_R_SUCCESS);
- dns_zone_setstatistics(zone, cfg_obj_asboolean(obj));
+ RETERR(dns_zone_setstatistics(zone, cfg_obj_asboolean(obj)));
/*
* Configure master functionality. This applies
@@ -453,12 +477,14 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
obj = NULL;
result = ns_config_get(maps, "notify-source", &obj);
INSIST(result == ISC_R_SUCCESS);
- dns_zone_setnotifysrc4(zone, cfg_obj_assockaddr(obj));
+ RETERR(dns_zone_setnotifysrc4(zone, cfg_obj_assockaddr(obj)));
+ ns_add_reserved_dispatch(ns_g_server, cfg_obj_assockaddr(obj));
obj = NULL;
result = ns_config_get(maps, "notify-source-v6", &obj);
INSIST(result == ISC_R_SUCCESS);
- dns_zone_setnotifysrc6(zone, cfg_obj_assockaddr(obj));
+ RETERR(dns_zone_setnotifysrc6(zone, cfg_obj_assockaddr(obj)));
+ ns_add_reserved_dispatch(ns_g_server, cfg_obj_assockaddr(obj));
RETERR(configure_zone_acl(zconfig, vconfig, config,
"allow-transfer", ac, zone,
@@ -474,6 +500,50 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
result = ns_config_get(maps, "max-transfer-idle-out", &obj);
INSIST(result == ISC_R_SUCCESS);
dns_zone_setidleout(zone, cfg_obj_asuint32(obj) * 60);
+
+ obj = NULL;
+ result = ns_config_get(maps, "max-journal-size", &obj);
+ INSIST(result == ISC_R_SUCCESS);
+ dns_zone_setjournalsize(zone, -1);
+ if (cfg_obj_isstring(obj)) {
+ const char *str = cfg_obj_asstring(obj);
+ INSIST(strcasecmp(str, "unlimited") == 0);
+ journal_size = ISC_UINT32_MAX / 2;
+ } else {
+ isc_resourcevalue_t value;
+ value = cfg_obj_asuint64(obj);
+ if (value > ISC_UINT32_MAX / 2) {
+ cfg_obj_log(obj, ns_g_lctx,
+ ISC_LOG_ERROR,
+ "'max-journal-size "
+ "%" ISC_PRINT_QUADFORMAT "d' "
+ "is too large",
+ value);
+ RETERR(ISC_R_RANGE);
+ }
+ journal_size = (isc_uint32_t)value;
+ }
+ dns_zone_setjournalsize(zone, journal_size);
+
+ obj = NULL;
+ result = ns_config_get(maps, "ixfr-from-differences", &obj);
+ INSIST(result == ISC_R_SUCCESS);
+ dns_zone_setoption(zone, DNS_ZONEOPT_IXFRFROMDIFFS,
+ cfg_obj_asboolean(obj));
+
+ checknames(ztype, maps, &obj);
+ INSIST(obj != NULL);
+ if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
+ fail = ISC_FALSE;
+ check = ISC_TRUE;
+ } else if (strcasecmp(cfg_obj_asstring(obj), "fail") == 0) {
+ fail = check = ISC_TRUE;
+ } else if (strcasecmp(cfg_obj_asstring(obj), "ignore") == 0) {
+ fail = check = ISC_FALSE;
+ } else
+ INSIST(0);
+ dns_zone_setoption(zone, DNS_ZONEOPT_CHECKNAMES, check);
+ dns_zone_setoption(zone, DNS_ZONEOPT_CHECKNAMESFAIL, fail);
}
/*
@@ -502,6 +572,20 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
INSIST(result == ISC_R_SUCCESS);
dns_zone_setsigvalidityinterval(zone,
cfg_obj_asuint32(obj) * 86400);
+
+ obj = NULL;
+ result = ns_config_get(maps, "key-directory", &obj);
+ if (result == ISC_R_SUCCESS) {
+ filename = cfg_obj_asstring(obj);
+ if (!isc_file_isabsolute(filename)) {
+ cfg_obj_log(obj, ns_g_lctx, ISC_LOG_ERROR,
+ "key-directory '%s' "
+ "is not absolute", filename);
+ return (ISC_R_FAILURE);
+ }
+ RETERR(dns_zone_setkeydirectory(zone, filename));
+ }
+
} else if (ztype == dns_zone_slave) {
RETERR(configure_zone_acl(zconfig, vconfig, config,
"allow-update-forwarding", ac, zone,
@@ -531,6 +615,15 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
result = dns_zone_setmasters(zone, NULL, 0);
RETERR(result);
+ multi = ISC_FALSE;
+ if (count > 1) {
+ obj = NULL;
+ result = ns_config_get(maps, "multi-master", &obj);
+ INSIST(result == ISC_R_SUCCESS);
+ multi = cfg_obj_asboolean(obj);
+ }
+ dns_zone_setoption(zone, DNS_ZONEOPT_MULTIMASTER, multi);
+
obj = NULL;
result = ns_config_get(maps, "max-transfer-time-in", &obj);
INSIST(result == ISC_R_SUCCESS);
@@ -564,12 +657,40 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
obj = NULL;
result = ns_config_get(maps, "transfer-source", &obj);
INSIST(result == ISC_R_SUCCESS);
- dns_zone_setxfrsource4(zone, cfg_obj_assockaddr(obj));
+ RETERR(dns_zone_setxfrsource4(zone, cfg_obj_assockaddr(obj)));
+ ns_add_reserved_dispatch(ns_g_server, cfg_obj_assockaddr(obj));
obj = NULL;
result = ns_config_get(maps, "transfer-source-v6", &obj);
INSIST(result == ISC_R_SUCCESS);
- dns_zone_setxfrsource6(zone, cfg_obj_assockaddr(obj));
+ RETERR(dns_zone_setxfrsource6(zone, cfg_obj_assockaddr(obj)));
+ ns_add_reserved_dispatch(ns_g_server, cfg_obj_assockaddr(obj));
+
+ obj = NULL;
+ result = ns_config_get(maps, "alt-transfer-source", &obj);
+ INSIST(result == ISC_R_SUCCESS);
+ RETERR(dns_zone_setaltxfrsource4(zone, cfg_obj_assockaddr(obj)));
+
+ obj = NULL;
+ result = ns_config_get(maps, "alt-transfer-source-v6", &obj);
+ INSIST(result == ISC_R_SUCCESS);
+ RETERR(dns_zone_setaltxfrsource6(zone, cfg_obj_assockaddr(obj)));
+
+ obj = NULL;
+ (void)ns_config_get(maps, "use-alt-transfer-source", &obj);
+ if (obj == NULL) {
+ /*
+ * Default off when views are in use otherwise
+ * on for BIND 8 compatibility.
+ */
+ view = dns_zone_getview(zone);
+ if (view != NULL && strcmp(view->name, "_default") == 0)
+ alt = ISC_TRUE;
+ else
+ alt = ISC_FALSE;
+ } else
+ alt = cfg_obj_asboolean(obj);
+ dns_zone_setoption(zone, DNS_ZONEOPT_USEALTXFRSRC, alt);
break;