From 24c4e82fa45a23a3ca7c8b0263d8038ce5520792 Mon Sep 17 00:00:00 2001
From: Doug Barton
Date: Sun, 31 May 2009 01:26:43 +0000
Subject: [PATCH 1/6] Vendor import of BIND 9.6.1rc1
---
isc-config.sh.in | 149 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 149 insertions(+)
create mode 100644 isc-config.sh.in
diff --git a/isc-config.sh.in b/isc-config.sh.in
new file mode 100644
index 00000000000..0eafca7b25a
--- /dev/null
+++ b/isc-config.sh.in
@@ -0,0 +1,149 @@
+#!/bin/sh
+#
+# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
+#
+# Permission to use, copy, modify, and/or 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.
+
+# $Id: isc-config.sh.in,v 1.17 2007/06/19 23:46:59 tbox Exp $
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+exec_prefix_set=
+
+usage()
+{
+ cat << EOF
+Usage: isc-config [OPTIONS] [LIBRARIES]
+Options:
+ [--prefix[=DIR]]
+ [--exec-prefix[=DIR]]
+ [--version]
+ [--libs]
+ [--cflags]
+Libraries:
+ isc
+ isccc
+ isccfg
+ dns
+ lwres
+ bind9
+EOF
+ exit $1
+}
+
+if test $# -eq 0; then
+ usage 1 1>&2
+fi
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case "$1" in
+ --prefix=*)
+ prefix=$optarg
+ if test "x$exec_prefix_set" = x ; then
+ exec_prefix=$prefix
+ fi
+ ;;
+ --prefix)
+ echo_prefix=true
+ ;;
+ --exec-prefix=*)
+ exec_prefix=$optarg
+ ;;
+ --exec-prefix)
+ echo_exec_prefix=true
+ ;;
+ --version)
+ echo @BIND9_VERSION@
+ exit 0
+ ;;
+ --cflags)
+ echo_cflags=true
+ ;;
+ --libs)
+ echo_libs=true;
+ ;;
+ isc)
+ libisc=true;
+ ;;
+ isccc)
+ libisccc=true;
+ libisc=true;
+ ;;
+ isccfg)
+ libisccfg=true;
+ libisc=true;
+ ;;
+ dns)
+ libdns=true;
+ libisc=true;
+ ;;
+ lwres)
+ liblwres=true;
+ ;;
+ bind9)
+ libdns=true;
+ libisc=true;
+ libisccfg=true;
+ libbind9=true;
+ ;;
+ *)
+ usage 1 1>&2
+ esac
+ shift
+done
+
+if test x"$echo_prefix" = x"true" ; then
+ echo $prefix
+fi
+if test x"$echo_exec_prefix" = x"true" ; then
+ echo $exec_prefix
+fi
+if test x"$echo_cflags" = x"true"; then
+ includes="-I${exec_prefix}/include"
+ if test x"$libisc" = x"true"; then
+ includes="$includes @ALWAYS_DEFINES@ @STD_CINCLUDES@ @STD_CDEFINES@ @CCOPT@"
+ fi
+ echo $includes
+fi
+if test x"$echo_libs" = x"true"; then
+ libs=-L${exec_prefix}/lib
+ if test x"$liblwres" = x"true" ; then
+ libs="$libs -llwres"
+ fi
+ if test x"$libbind9" = x"true" ; then
+ libs="$libs -lbind9"
+ fi
+ if test x"$libdns" = x"true" ; then
+ libs="$libs -ldns @DNS_CRYPTO_LIBS@"
+ fi
+ if test x"$libisccfg" = x"true" ; then
+ libs="$libs -lisccfg"
+ fi
+ if test x"$libisccc" = x"true" ; then
+ libs="$libs -lisccc"
+ fi
+ if test x"$libisc" = x"true" ; then
+ libs="$libs -lisc"
+ needothers=true
+ fi
+ if test x"$needothers" = x"true" ; then
+ libs="$libs @CCOPT@ @LIBS@"
+ fi
+ echo $libs
+fi
From 5189501cf5d8095d3acbcce863286d9c5a2b0909 Mon Sep 17 00:00:00 2001
From: Doug Barton
Date: Sun, 31 May 2009 01:27:27 +0000
Subject: [PATCH 2/6] The isc-config.sh file is actually used in the configure
stage described in FreeBSD-Upgrade.
---
FREEBSD-Xlist | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/FREEBSD-Xlist b/FREEBSD-Xlist
index b5178e46d11..849934e4ba0 100644
--- a/FREEBSD-Xlist
+++ b/FREEBSD-Xlist
@@ -6,7 +6,9 @@ bind.keys
configure
contrib
docutil
-isc-config.*
+isc-config.sh.1
+isc-config.sh.docbook
+isc-config.sh.html
# Tests
bin/tests
From d17286e6f052f696d216c9316d2e90202a8bccef Mon Sep 17 00:00:00 2001
From: Doug Barton
Date: Sun, 31 May 2009 05:20:54 +0000
Subject: [PATCH 3/6] Update relative to the BIND 9.6.1rc1 import
---
FREEBSD-Upgrade | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/FREEBSD-Upgrade b/FREEBSD-Upgrade
index 2fc1d65aa43..44df5e6b85c 100644
--- a/FREEBSD-Upgrade
+++ b/FREEBSD-Upgrade
@@ -62,13 +62,14 @@
10) Generate and run configure:
+ NOTE: Disabling libxml and idn is temporary, adding support
+ for these features is planned.
+
aclocal ; autoheader ; autoconf
- cd lib/bind
- aclocal ; autoheader ; autoconf
- cd ../..
$ ./configure --prefix=/usr \
+ --without-libxml2 --without-idn \
--infodir=/usr/share/info --mandir=/usr/share/man \
- --enable-threads --enable-libbind --disable-ipv6 \
+ --enable-threads --disable-ipv6 \
--enable-getifaddrs --disable-linux-caps \
--with-openssl=/usr --with-randomdev=/dev/random
@@ -80,11 +81,8 @@
Path in src/contrib/bind9 Path in src/lib/bind
------------------------------------------------------------
- s=/usr/src/lib/bind
+ s=../../lib/bind
cp config.h ${s}/config.h
- cp lib/bind/config.h ${s}/bind/config.h
- cp lib/bind/port_after.h ${s}/bind/port_after.h
- cp lib/bind/port_before.h ${s}/bind/port_before.h
cp lib/isc/include/isc/platform.h ${s}/isc/isc/platform.h
cp lib/lwres/include/lwres/netdb.h ${s}/lwres/lwres/netdb.h
cp lib/lwres/include/lwres/platform.h ${s}/lwres/lwres/platform.h
@@ -102,7 +100,6 @@
FreeBSD directory ISC directory
========================================================
src/lib/bind bind9/lib
- src/lib/bind/bind bind9/lib/bind
src/lib/bind/bind9 bind9/lib/bind9
src/lib/bind/dns bind9/lib/dns
src/lib/bind/isc bind9/lib/isc
@@ -114,7 +111,9 @@
src/usr.bin/host bind9/bin/dig
src/usr.bin/nslookup bind9/bin/dig
src/usr.bin/nsupdate bind9/bin/nsupdate
+ src/usr.sbin/dnssec-dsfromkey bind9/bin/dnssec
src/usr.sbin/dnssec-keygen bind9/bin/dnssec
+ src/usr.sbin/dnssec-keyfromlabel bind9/bin/dnssec
src/usr.sbin/dnssec-signzone bind9/bin/dnssec
src/usr.sbin/named bind9/bin/named
src/usr.sbin/named-checkconf bind9/bin/check
From e940965658140f96aee41af15173e85edbcba309 Mon Sep 17 00:00:00 2001
From: Doug Barton
Date: Mon, 1 Jun 2009 20:14:05 +0000
Subject: [PATCH 4/6] Add a comment about the new dist-9.4 directory and using
it for 7-stable
---
FREEBSD-Upgrade | 1 +
1 file changed, 1 insertion(+)
diff --git a/FREEBSD-Upgrade b/FREEBSD-Upgrade
index 44df5e6b85c..643562359ed 100644
--- a/FREEBSD-Upgrade
+++ b/FREEBSD-Upgrade
@@ -10,6 +10,7 @@
svn co $REPO/vendor/bind9/dist
NOTE: For RELENG_6 (BIND 9.3.x) s/dist/dist-9.3/ throughout this file
+ For RELENG_7 (BIND 9.4.x) s/dist/dist-9.4/ throughout this file
3) Unpack the tarball in a suitable directory:
From 917f9272552f53051c2565455cf463703988e9b3 Mon Sep 17 00:00:00 2001
From: Doug Barton
Date: Mon, 1 Jun 2009 22:05:08 +0000
Subject: [PATCH 5/6] Update note about IDN and XML support, and combine it
with the note about IPv6 support
Fix alphebetization of the new dnssec-keyfromlabel directory
---
FREEBSD-Upgrade | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/FREEBSD-Upgrade b/FREEBSD-Upgrade
index 643562359ed..1da0e8cd449 100644
--- a/FREEBSD-Upgrade
+++ b/FREEBSD-Upgrade
@@ -63,9 +63,6 @@
10) Generate and run configure:
- NOTE: Disabling libxml and idn is temporary, adding support
- for these features is planned.
-
aclocal ; autoheader ; autoconf
$ ./configure --prefix=/usr \
--without-libxml2 --without-idn \
@@ -74,9 +71,10 @@
--enable-getifaddrs --disable-linux-caps \
--with-openssl=/usr --with-randomdev=/dev/random
- Note that we intentionally disable IPv6 support on the configure
- command line; src/lib/bind/config.mk will re-enable it at compile
- time if WITHOUT_INET6 is not defined.
+ NOTE: Disabling libxml, idn, and IPv6 is the default.
+ Knobs are provided for users to enabled the first 2, and
+ src/lib/bind/config.mk will re-enable IPv6 at compile
+ time if WITHOUT_INET6 is not defined.
11) Copy the following generated files to src/lib/bind:
@@ -113,8 +111,8 @@
src/usr.bin/nslookup bind9/bin/dig
src/usr.bin/nsupdate bind9/bin/nsupdate
src/usr.sbin/dnssec-dsfromkey bind9/bin/dnssec
- src/usr.sbin/dnssec-keygen bind9/bin/dnssec
src/usr.sbin/dnssec-keyfromlabel bind9/bin/dnssec
+ src/usr.sbin/dnssec-keygen bind9/bin/dnssec
src/usr.sbin/dnssec-signzone bind9/bin/dnssec
src/usr.sbin/named bind9/bin/named
src/usr.sbin/named-checkconf bind9/bin/check
From 53ae1d202dc8ab10c2a95d64232a5ce37efdec73 Mon Sep 17 00:00:00 2001
From: Doug Barton
Date: Thu, 25 Jun 2009 18:50:46 +0000
Subject: [PATCH 6/6] Vendor import of BIND 9.6.1
---
CHANGES | 19 ++
KNOWN-DEFECTS | 15 ++
bin/check/named-checkzone.c | 10 +-
bin/dnssec/dnssec-signzone.8 | 328 +++++++++------------------
bin/dnssec/dnssec-signzone.c | 2 +-
bin/dnssec/dnssec-signzone.docbook | 34 ++-
bin/dnssec/dnssec-signzone.html | 41 +++-
bin/dnssec/dnssectool.c | 6 +-
doc/arm/Bv9ARM-book.xml | 90 +++++---
doc/arm/Bv9ARM.ch06.html | 162 ++++++++-----
doc/arm/Bv9ARM.ch07.html | 14 +-
doc/arm/Bv9ARM.ch08.html | 18 +-
doc/arm/Bv9ARM.ch09.html | 180 +++++++--------
doc/arm/Bv9ARM.html | 42 ++--
doc/arm/man.dig.html | 20 +-
doc/arm/man.dnssec-dsfromkey.html | 16 +-
doc/arm/man.dnssec-keyfromlabel.html | 12 +-
doc/arm/man.dnssec-keygen.html | 14 +-
doc/arm/man.dnssec-signzone.html | 39 +++-
doc/arm/man.host.html | 10 +-
doc/arm/man.named-checkconf.html | 12 +-
doc/arm/man.named-checkzone.html | 12 +-
doc/arm/man.named.html | 16 +-
doc/arm/man.nsupdate.html | 14 +-
doc/arm/man.rndc-confgen.html | 12 +-
doc/arm/man.rndc.conf.html | 12 +-
doc/arm/man.rndc.html | 12 +-
lib/bind9/api | 2 +-
lib/bind9/check.c | 8 +-
lib/dns/api | 6 +-
lib/dns/dnssec.c | 4 +-
lib/dns/include/dns/dnssec.h | 4 +-
lib/dns/include/dns/keyvalues.h | 6 +-
lib/dns/nsec3.c | 46 +++-
lib/dns/resolver.c | 133 +++++++++--
version | 6 +-
36 files changed, 796 insertions(+), 581 deletions(-)
create mode 100644 KNOWN-DEFECTS
diff --git a/CHANGES b/CHANGES
index 4f55ca2aa0e..2fc7dff3687 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,23 @@
+ --- 9.6.1 released ---
+
+2607. [bug] named could incorrectly delete NSEC3 records for
+ empty nodes when processing a update request.
+ [RT #19749]
+
+2606. [bug] "delegation-only" was not being accepted in
+ delegation-only type zones. [RT #19717]
+
+2605. [bug] Accept DS responses from delegation only zones.
+ [RT # 19296]
+
+2603. [port] win32: handle .exe extension of named-checkzone and
+ named-comilezone argv[0] names under windows.
+ [RT #19767]
+
+2602. [port] win32: fix debugging command line build of libisccfg.
+ [RT #19767]
+
--- 9.6.1rc1 released ---
2599. [bug] Address rapid memory growth when validation fails.
diff --git a/KNOWN-DEFECTS b/KNOWN-DEFECTS
new file mode 100644
index 00000000000..83d71759740
--- /dev/null
+++ b/KNOWN-DEFECTS
@@ -0,0 +1,15 @@
+dnssec-signzone was designed so that it could sign a zone partially, using
+only a subset of the DNSSEC keys needed to produce a fully-signed zone.
+This permits a zone administrator, for example, to sign a zone with one
+key on one machine, move the resulting partially-signed zone to a second
+machine, and sign it again with a second key.
+
+An unfortunate side-effect of this flexibility is that dnssec-signzone
+does not check to make sure it's signing a zone with any valid keys at
+all. An attempt to sign a zone without any keys will appear to succeed,
+producing a "signed" zone with no signatures. There is no warning issued
+when a zone is not signed.
+
+This will be corrected in a future release. In the meantime, ISC
+recommends examining the output of dnssec-signzone to confirm that
+the zone is properly signed by all keys before using it.
diff --git a/bin/check/named-checkzone.c b/bin/check/named-checkzone.c
index e91cbeadc10..83b3bbe9acf 100644
--- a/bin/check/named-checkzone.c
+++ b/bin/check/named-checkzone.c
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named-checkzone.c,v 1.51.34.2 2009/02/16 23:47:15 tbox Exp $ */
+/* $Id: named-checkzone.c,v 1.51.34.3 2009/05/29 02:17:43 marka Exp $ */
/*! \file */
@@ -123,9 +123,13 @@ main(int argc, char **argv) {
*/
if (strncmp(prog_name, "lt-", 3) == 0)
prog_name += 3;
- if (strcmp(prog_name, "named-checkzone") == 0)
+
+#define PROGCMP(X) \
+ (strcasecmp(prog_name, X) == 0 || strcasecmp(prog_name, X ".exe") == 0)
+
+ if (PROGCMP("named-checkzone"))
progmode = progmode_check;
- else if (strcmp(prog_name, "named-compilezone") == 0)
+ else if (PROGCMP("named-compilezone"))
progmode = progmode_compile;
else
INSIST(0);
diff --git a/bin/dnssec/dnssec-signzone.8 b/bin/dnssec/dnssec-signzone.8
index ca0ed36d4c2..84e613f721b 100644
--- a/bin/dnssec/dnssec-signzone.8
+++ b/bin/dnssec/dnssec-signzone.8
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -13,275 +13,163 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
-.\" $Id: dnssec-signzone.8,v 1.47 2008/10/15 01:11:35 tbox Exp $
+.\" $Id: dnssec-signzone.8,v 1.47.44.4 2009/06/09 01:47:19 each Exp $
.\"
.hy 0
.ad l
-.\" Title: dnssec\-signzone
-.\" Author:
-.\" Generator: DocBook XSL Stylesheets v1.71.1
-.\" Date: June 30, 2000
-.\" Manual: BIND9
-.\" Source: BIND9
-.\"
-.TH "DNSSEC\-SIGNZONE" "8" "June 30, 2000" "BIND9" "BIND9"
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.SH "NAME"
-dnssec\-signzone \- DNSSEC zone signing tool
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "DNSSEC-SIGNZONE" 8 "June 08, 2009" "" ""
+.SH NAME
+dnssec-signzone \- DNSSEC zone signing tool
.SH "SYNOPSIS"
.HP 16
-\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkey\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-j\ \fR\fB\fIjitter\fR\fR] [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-t\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] [\fB\-3\ \fR\fB\fIsalt\fR\fR] [\fB\-H\ \fR\fB\fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...]
+\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fIclass\fR\fR] [\fB\-d\ \fIdirectory\fR\fR] [\fB\-e\ \fIend\-time\fR\fR] [\fB\-f\ \fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-k\ \fIkey\fR\fR] [\fB\-l\ \fIdomain\fR\fR] [\fB\-i\ \fIinterval\fR\fR] [\fB\-I\ \fIinput\-format\fR\fR] [\fB\-j\ \fIjitter\fR\fR] [\fB\-N\ \fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fIorigin\fR\fR] [\fB\-O\ \fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-r\ \fIrandomdev\fR\fR] [\fB\-s\ \fIstart\-time\fR\fR] [\fB\-t\fR] [\fB\-v\ \fIlevel\fR\fR] [\fB\-z\fR] [\fB\-3\ \fIsalt\fR\fR] [\fB\-H\ \fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...]
.SH "DESCRIPTION"
.PP
-\fBdnssec\-signzone\fR
-signs a zone. It generates NSEC and RRSIG records and produces a signed version of the zone. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a
-\fIkeyset\fR
-file for each child zone.
+\fBdnssec\-signzone\fR signs a zone\&. It generates NSEC and RRSIG records and produces a signed version of the zone\&. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a \fIkeyset\fR file for each child zone\&.
.SH "OPTIONS"
-.PP
+.TP
\-a
-.RS 4
-Verify all generated signatures.
-.RE
-.PP
+Verify all generated signatures\&.
+.TP
\-c \fIclass\fR
-.RS 4
-Specifies the DNS class of the zone.
-.RE
-.PP
+Specifies the DNS class of the zone\&.
+.TP
\-k \fIkey\fR
-.RS 4
-Treat specified key as a key signing key ignoring any key flags. This option may be specified multiple times.
-.RE
-.PP
+Treat specified key as a key signing key ignoring any key flags\&. This option may be specified multiple times\&.
+.TP
\-l \fIdomain\fR
-.RS 4
-Generate a DLV set in addition to the key (DNSKEY) and DS sets. The domain is appended to the name of the records.
-.RE
-.PP
+Generate a DLV set in addition to the key (DNSKEY) and DS sets\&. The domain is appended to the name of the records\&.
+.TP
\-d \fIdirectory\fR
-.RS 4
-Look for
-\fIkeyset\fR
-files in
-\fBdirectory\fR
-as the directory
-.RE
-.PP
+Look for \fIkeyset\fR files in \fBdirectory\fR as the directory
+.TP
\-g
-.RS 4
-Generate DS records for child zones from keyset files. Existing DS records will be removed.
-.RE
-.PP
+Generate DS records for child zones from keyset files\&. Existing DS records will be removed\&.
+.TP
\-s \fIstart\-time\fR
-.RS 4
-Specify the date and time when the generated RRSIG records become valid. This can be either an absolute or relative time. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000. A relative start time is indicated by +N, which is N seconds from the current time. If no
-\fBstart\-time\fR
-is specified, the current time minus 1 hour (to allow for clock skew) is used.
-.RE
-.PP
+Specify the date and time when the generated RRSIG records become valid\&. This can be either an absolute or relative time\&. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000\&. A relative start time is indicated by +N, which is N seconds from the current time\&. If no \fBstart\-time\fR is specified, the current time minus 1 hour (to allow for clock skew) is used\&.
+.TP
\-e \fIend\-time\fR
-.RS 4
-Specify the date and time when the generated RRSIG records expire. As with
-\fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation. A time relative to the start time is indicated with +N, which is N seconds from the start time. A time relative to the current time is indicated with now+N. If no
-\fBend\-time\fR
-is specified, 30 days from the start time is used as a default.
-.RE
-.PP
+Specify the date and time when the generated RRSIG records expire\&. As with \fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation\&. A time relative to the start time is indicated with +N, which is N seconds from the start time\&. A time relative to the current time is indicated with now+N\&. If no \fBend\-time\fR is specified, 30 days from the start time is used as a default\&.
+.TP
\-f \fIoutput\-file\fR
-.RS 4
-The name of the output file containing the signed zone. The default is to append
-\fI.signed\fR
-to the input filename.
-.RE
-.PP
+The name of the output file containing the signed zone\&. The default is to append \fI\&.signed\fR to the input filename\&.
+.TP
\-h
-.RS 4
-Prints a short summary of the options and arguments to
-\fBdnssec\-signzone\fR.
-.RE
-.PP
+Prints a short summary of the options and arguments to \fBdnssec\-signzone\fR\&.
+.TP
\-i \fIinterval\fR
-.RS 4
-When a previously\-signed zone is passed as input, records may be resigned. The
-\fBinterval\fR
-option specifies the cycle interval as an offset from the current time (in seconds). If a RRSIG record expires after the cycle interval, it is retained. Otherwise, it is considered to be expiring soon, and it will be replaced.
-.sp
-The default cycle interval is one quarter of the difference between the signature end and start times. So if neither
-\fBend\-time\fR
-or
-\fBstart\-time\fR
-are specified,
-\fBdnssec\-signzone\fR
-generates signatures that are valid for 30 days, with a cycle interval of 7.5 days. Therefore, if any existing RRSIG records are due to expire in less than 7.5 days, they would be replaced.
-.RE
-.PP
+When a previously\-signed zone is passed as input, records may be resigned\&. The \fBinterval\fR option specifies the cycle interval as an offset from the current time (in seconds)\&. If a RRSIG record expires after the cycle interval, it is retained\&. Otherwise, it is considered to be expiring soon, and it will be replaced\&.
+The default cycle interval is one quarter of the difference between the signature end and start times\&. So if neither \fBend\-time\fR or \fBstart\-time\fR are specified, \fBdnssec\-signzone\fR generates signatures that are valid for 30 days, with a cycle interval of 7\&.5 days\&. Therefore, if any existing RRSIG records are due to expire in less than 7\&.5 days, they would be replaced\&.
+.TP
\-I \fIinput\-format\fR
-.RS 4
-The format of the input zone file. Possible formats are
-\fB"text"\fR
-(default) and
-\fB"raw"\fR. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be signed directly. The use of this option does not make much sense for non\-dynamic zones.
-.RE
-.PP
+The format of the input zone file\&. Possible formats are \fB"text"\fR (default) and \fB"raw"\fR\&. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be signed directly\&. The use of this option does not make much sense for non\-dynamic zones\&.
+.TP
\-j \fIjitter\fR
-.RS 4
-When signing a zone with a fixed signature lifetime, all RRSIG records issued at the time of signing expires simultaneously. If the zone is incrementally signed, i.e. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time. The
-\fBjitter\fR
-option specifies a jitter window that will be used to randomize the signature expire time, thus spreading incremental signature regeneration over time.
-.sp
-Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i.e. if large numbers of RRSIGs don't expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time.
-.RE
-.PP
+When signing a zone with a fixed signature lifetime, all RRSIG records issued at the time of signing expires simultaneously\&. If the zone is incrementally signed, i\&.e\&. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time\&. The \fBjitter\fR option specifies a jitter window that will be used to randomize the signature expire time, thus spreading incremental signature regeneration over time\&.
+Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i\&.e\&. if large numbers of RRSIGs don't expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time\&.
+.TP
\-n \fIncpus\fR
-.RS 4
-Specifies the number of threads to use. By default, one thread is started for each detected CPU.
-.RE
-.PP
+Specifies the number of threads to use\&. By default, one thread is started for each detected CPU\&.
+.TP
\-N \fIsoa\-serial\-format\fR
-.RS 4
-The SOA serial number format of the signed zone. Possible formats are
+The SOA serial number format of the signed zone\&. Possible formats are \fB"keep"\fR (default), \fB"increment"\fR and \fB"unixtime"\fR\&.
+.RS
+.TP
\fB"keep"\fR
-(default),
+Do not modify the SOA serial number\&.
+.TP
\fB"increment"\fR
-and
-\fB"unixtime"\fR.
-.RS 4
-.PP
-\fB"keep"\fR
-.RS 4
-Do not modify the SOA serial number.
-.RE
-.PP
-\fB"increment"\fR
-.RS 4
-Increment the SOA serial number using RFC 1982 arithmetics.
-.RE
-.PP
+Increment the SOA serial number using RFC 1982 arithmetics\&.
+.TP
\fB"unixtime"\fR
-.RS 4
-Set the SOA serial number to the number of seconds since epoch.
+Set the SOA serial number to the number of seconds since epoch\&.
.RE
-.RE
-.RE
-.PP
+.IP
+.TP
\-o \fIorigin\fR
-.RS 4
-The zone origin. If not specified, the name of the zone file is assumed to be the origin.
-.RE
-.PP
+The zone origin\&. If not specified, the name of the zone file is assumed to be the origin\&.
+.TP
\-O \fIoutput\-format\fR
-.RS 4
-The format of the output file containing the signed zone. Possible formats are
-\fB"text"\fR
-(default) and
-\fB"raw"\fR.
-.RE
-.PP
+The format of the output file containing the signed zone\&. Possible formats are \fB"text"\fR (default) and \fB"raw"\fR\&.
+.TP
\-p
-.RS 4
-Use pseudo\-random data when signing the zone. This is faster, but less secure, than using real random data. This option may be useful when signing large zones or when the entropy source is limited.
-.RE
-.PP
+Use pseudo\-random data when signing the zone\&. This is faster, but less secure, than using real random data\&. This option may be useful when signing large zones or when the entropy source is limited\&.
+.TP
\-r \fIrandomdev\fR
-.RS 4
-Specifies the source of randomness. If the operating system does not provide a
-\fI/dev/random\fR
-or equivalent device, the default source of randomness is keyboard input.
-\fIrandomdev\fR
-specifies the name of a character device or file containing random data to be used instead of the default. The special value
-\fIkeyboard\fR
-indicates that keyboard input should be used.
-.RE
-.PP
+Specifies the source of randomness\&. If the operating system does not provide a \fI/dev/random\fR or equivalent device, the default source of randomness is keyboard input\&. \fIrandomdev\fR specifies the name of a character device or file containing random data to be used instead of the default\&. The special value \fIkeyboard\fR indicates that keyboard input should be used\&.
+.TP
\-t
-.RS 4
-Print statistics at completion.
-.RE
-.PP
+Print statistics at completion\&.
+.TP
\-v \fIlevel\fR
-.RS 4
-Sets the debugging level.
-.RE
-.PP
+Sets the debugging level\&.
+.TP
\-z
-.RS 4
-Ignore KSK flag on key when determining what to sign.
-.RE
-.PP
+Ignore KSK flag on key when determining what to sign\&.
+.TP
\-3 \fIsalt\fR
-.RS 4
-Generate a NSEC3 chain with the given hex encoded salt. A dash (\fIsalt\fR) can be used to indicate that no salt is to be used when generating the NSEC3 chain.
-.RE
-.PP
+Generate a NSEC3 chain with the given hex encoded salt\&. A dash (\fIsalt\fR) can be used to indicate that no salt is to be used when generating the NSEC3 chain\&.
+.TP
\-H \fIiterations\fR
-.RS 4
-When generating a NSEC3 chain use this many interations. The default is 100.
-.RE
-.PP
+When generating a NSEC3 chain use this many interations\&. The default is 100\&.
+.TP
\-A
-.RS 4
-When generating a NSEC3 chain set the OPTOUT flag on all NSEC3 records and do not generate NSEC3 records for insecure delegations.
-.RE
-.PP
+When generating a NSEC3 chain set the OPTOUT flag on all NSEC3 records and do not generate NSEC3 records for insecure delegations\&.
+.TP
zonefile
-.RS 4
-The file containing the zone to be signed.
-.RE
-.PP
+The file containing the zone to be signed\&.
+.TP
key
-.RS 4
-Specify which keys should be used to sign the zone. If no keys are specified, then the zone will be examined for DNSKEY records at the zone apex. If these are found and there are matching private keys, in the current directory, then these will be used for signing.
-.RE
+Specify which keys should be used to sign the zone\&. If no keys are specified, then the zone will be examined for DNSKEY records at the zone apex\&. If these are found and there are matching private keys, in the current directory, then these will be used for signing\&.
.SH "EXAMPLE"
.PP
-The following command signs the
-\fBexample.com\fR
-zone with the DSA key generated by
-\fBdnssec\-keygen\fR
-(Kexample.com.+003+17247). The zone's keys must be in the master file (\fIdb.example.com\fR). This invocation looks for
-\fIkeyset\fR
-files, in the current directory, so that DS records can be generated from them (\fB\-g\fR).
-.sp
-.RS 4
+The following command signs the \fBexample\&.com\fR zone with the DSA key generated by \fBdnssec\-keygen\fR (Kexample\&.com\&.+003+17247)\&. The zone's keys must be in the master file (\fIdb\&.example\&.com\fR)\&. This invocation looks for \fIkeyset\fR files, in the current directory, so that DS records can be generated from them (\fB\-g\fR)\&.
.nf
-% dnssec\-signzone \-g \-o example.com db.example.com \\
-Kexample.com.+003+17247
-db.example.com.signed
+% dnssec\-signzone \-g \-o example\&.com db\&.example\&.com \\
+Kexample\&.com\&.+003+17247
+db\&.example\&.com\&.signed
%
.fi
-.RE
.PP
-In the above example,
-\fBdnssec\-signzone\fR
-creates the file
-\fIdb.example.com.signed\fR. This file should be referenced in a zone statement in a
-\fInamed.conf\fR
-file.
+In the above example, \fBdnssec\-signzone\fR creates the file \fIdb\&.example\&.com\&.signed\fR\&. This file should be referenced in a zone statement in a \fInamed\&.conf\fR file\&.
.PP
-This example re\-signs a previously signed zone with default parameters. The private keys are assumed to be in the current directory.
-.sp
-.RS 4
+This example re\-signs a previously signed zone with default parameters\&. The private keys are assumed to be in the current directory\&.
.nf
-% cp db.example.com.signed db.example.com
-% dnssec\-signzone \-o example.com db.example.com
-db.example.com.signed
+% cp db\&.example\&.com\&.signed db\&.example\&.com
+% dnssec\-signzone \-o example\&.com db\&.example\&.com
+db\&.example\&.com\&.signed
%
.fi
-.RE
+.SH "KNOWN BUGS"
+.PP
+ \fBdnssec\-signzone\fR was designed so that it could sign a zone partially, using only a subset of the DNSSEC keys needed to produce a fully\-signed zone\&. This permits a zone administrator, for example, to sign a zone with one key on one machine, move the resulting partially\-signed zone to a second machine, and sign it again with a second key\&.
+.PP
+An unfortunate side\-effect of this flexibility is that \fBdnssec\-signzone\fR does not check to make sure it's signing a zone with any valid keys at all\&. An attempt to sign a zone without any keys will appear to succeed, producing a "signed" zone with no signatures\&. There is no warning issued when a zone is not fully signed\&.
+.PP
+This will be corrected in a future release\&. In the meantime, ISC recommends examining the output of \fBdnssec\-signzone\fR to confirm that the zone is properly signed by all keys before using it\&.
.SH "SEE ALSO"
.PP
-\fBdnssec\-keygen\fR(8),
-BIND 9 Administrator Reference Manual,
-RFC 4033.
+\fBdnssec\-keygen\fR(8), BIND 9 Administrator Reference Manual, RFC 4033\&.
.SH "AUTHOR"
.PP
-Internet Systems Consortium
-.SH "COPYRIGHT"
-Copyright \(co 2004\-2008 Internet Systems Consortium, Inc. ("ISC")
-.br
-Copyright \(co 2000\-2003 Internet Software Consortium.
-.br
+Internet Systems Consortium
diff --git a/bin/dnssec/dnssec-signzone.c b/bin/dnssec/dnssec-signzone.c
index 1da280f711f..2ef2e104902 100644
--- a/bin/dnssec/dnssec-signzone.c
+++ b/bin/dnssec/dnssec-signzone.c
@@ -29,7 +29,7 @@
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dnssec-signzone.c,v 1.209.12.3 2009/01/18 23:25:15 marka Exp $ */
+/* $Id: dnssec-signzone.c,v 1.209.12.8 2009/06/08 22:23:06 each Exp $ */
/*! \file */
diff --git a/bin/dnssec/dnssec-signzone.docbook b/bin/dnssec/dnssec-signzone.docbook
index 2f26ba4e155..7ed320ad575 100644
--- a/bin/dnssec/dnssec-signzone.docbook
+++ b/bin/dnssec/dnssec-signzone.docbook
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[]>
-
+
- June 30, 2000
+ June 08, 2009
@@ -42,6 +42,7 @@
2006
2007
2008
+ 2009
Internet Systems Consortium, Inc. ("ISC")
@@ -489,6 +490,33 @@ db.example.com.signed
%
+
+ KNOWN BUGS
+
+ dnssec-signzone was designed so that it could
+ sign a zone partially, using only a subset of the DNSSEC keys
+ needed to produce a fully-signed zone. This permits a zone
+ administrator, for example, to sign a zone with one key on one
+ machine, move the resulting partially-signed zone to a second
+ machine, and sign it again with a second key.
+
+
+ An unfortunate side-effect of this flexibility is that
+ dnssec-signzone does not check to make sure
+ it's signing a zone with any valid keys at all. An attempt to
+ sign a zone without any keys will appear to succeed, producing
+ a "signed" zone with no signatures. There is no warning issued
+ when a zone is not fully signed.
+
+
+
+ This will be corrected in a future release. In the meantime, ISC
+ recommends examining the output of dnssec-signzone
+ to confirm that the zone is properly signed by all keys before
+ using it.
+
+
+
SEE ALSO
diff --git a/bin/dnssec/dnssec-signzone.html b/bin/dnssec/dnssec-signzone.html
index 6548d845d52..5eb8626e643 100644
--- a/bin/dnssec/dnssec-signzone.html
+++ b/bin/dnssec/dnssec-signzone.html
@@ -1,5 +1,5 @@
-
+
dnssec-signzone
-
+
@@ -32,7 +32,7 @@
dnssec-signzone [-a] [-c class] [-d directory] [-e end-time] [-f output-file] [-g] [-h] [-k key] [-l domain] [-i interval] [-I input-format] [-j jitter] [-N soa-serial-format] [-o origin] [-O output-format] [-p] [-r randomdev] [-s start-time] [-t] [-v level] [-z] [-3 salt] [-H iterations] [-A] {zonefile} [key...]
-
DESCRIPTION
+
DESCRIPTION
dnssec-signzone
signs a zone. It generates
NSEC and RRSIG records and produces a signed version of the
@@ -43,7 +43,7 @@
-
EXAMPLE
+
EXAMPLE
The following command signs the example.com
zone with the DSA key generated by dnssec-keygen
@@ -287,14 +287,39 @@ db.example.com.signed
%
-
SEE ALSO
+
KNOWN BUGS
+
+ dnssec-signzone was designed so that it could
+ sign a zone partially, using only a subset of the DNSSEC keys
+ needed to produce a fully-signed zone. This permits a zone
+ administrator, for example, to sign a zone with one key on one
+ machine, move the resulting partially-signed zone to a second
+ machine, and sign it again with a second key.
+
+
+ An unfortunate side-effect of this flexibility is that
+ dnssec-signzone does not check to make sure
+ it's signing a zone with any valid keys at all. An attempt to
+ sign a zone without any keys will appear to succeed, producing
+ a "signed" zone with no signatures. There is no warning issued
+ when a zone is not fully signed.
+
+
+ This will be corrected in a future release. In the meantime, ISC
+ recommends examining the output of dnssec-signzone
+ to confirm that the zone is properly signed by all keys before
+ using it.
+
+
+
+
SEE ALSO
dnssec-keygen(8),
BIND 9 Administrator Reference Manual,
RFC 4033.
-
AUTHOR
+
AUTHOR
Internet Systems Consortium
diff --git a/bin/dnssec/dnssectool.c b/bin/dnssec/dnssectool.c
index e933a06d602..b89d76945b8 100644
--- a/bin/dnssec/dnssectool.c
+++ b/bin/dnssec/dnssectool.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dnssectool.c,v 1.45 2007/06/19 23:46:59 tbox Exp $ */
+/* $Id: dnssectool.c,v 1.45.334.4 2009/06/08 23:47:00 tbox Exp $ */
/*! \file */
@@ -222,7 +222,7 @@ setup_entropy(isc_mem_t *mctx, const char *randomfile, isc_entropy_t **ectx) {
int usekeyboard = ISC_ENTROPY_KEYBOARDMAYBE;
REQUIRE(ectx != NULL);
-
+
if (*ectx == NULL) {
result = isc_entropy_create(mctx, ectx);
if (result != ISC_R_SUCCESS)
diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml
index f3bfe0d29ff..0875e57ff09 100644
--- a/doc/arm/Bv9ARM-book.xml
+++ b/doc/arm/Bv9ARM-book.xml
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
-
+
BIND 9 Administrator Reference Manual
@@ -4333,16 +4333,16 @@ category notify { null; };
delegation-only
-
-
- Delegation only. Logs queries that have
- been forced to NXDOMAIN as the result of a
- delegation-only zone or
- a delegation-only in a
- hint or stub zone declaration.
-
-
-
+
+
+ Delegation only. Logs queries that have been
+ forced to NXDOMAIN as the result of a
+ delegation-only zone or a
+ delegation-only in a hint
+ or stub zone declaration.
+
+
+
edns-disabled
@@ -5116,17 +5116,45 @@ category notify { null; };
-
+
root-delegation-only
- Turn on enforcement of delegation-only in TLDs (top level domains) and root zones
- with an optional
- exclude list.
+ Turn on enforcement of delegation-only in TLDs
+ (top level domains) and root zones with an optional
+ exclude list.
+
+ DS queries are expected to be made to and be answered by
+ delegation only zones. Such queries and responses are
+ treated as a exception to delegation-only processing
+ and are not converted to NXDOMAIN responses provided
+ a CNAME is not discovered at the query name.
+
+
+ If a delegation only zone server also serves a child
+ zone it is not always possible to determine whether
+ a answer comes from the delegation only zone or the
+ child zone. SOA NS and DNSKEY records are apex
+ only records and a matching response that contains
+ these records or DS is treated as coming from a
+ child zone. RRSIG records are also examined to see
+ if they are signed by a child zone or not. The
+ authority section is also examined to see if there
+ is evidence that the answer is from the child zone.
+ Answers that are determined to be from a child zone
+ are not converted to NXDOMAIN responses. Despite
+ all these checks there is still a possibility of
+ false negatives when a child zone is being served.
+
+
+ Similarly false positives can arise from empty nodes
+ (no records at the name) in the delegation only zone
+ when the query type is not ANY.
+
- Note some TLDs are not delegation only (e.g. "DE", "LV", "US"
- and "MUSEUM").
+ Note some TLDs are not delegation only (e.g. "DE", "LV",
+ "US" and "MUSEUM"). This list is not exhaustive.
@@ -9027,20 +9055,22 @@ zone zone_name class
- This is used to enforce the delegation-only
- status of infrastructure zones (e.g. COM, NET, ORG).
- Any answer that
- is received without an explicit or implicit delegation
- in the authority
- section will be treated as NXDOMAIN. This does not
- apply to the zone
- apex. This should not be applied to leaf zones.
+ This is used to enforce the delegation-only
+ status of infrastructure zones (e.g. COM,
+ NET, ORG). Any answer that is received
+ without an explicit or implicit delegation
+ in the authority section will be treated
+ as NXDOMAIN. This does not apply to the
+ zone apex. This should not be applied to
+ leaf zones.
delegation-only has no
- effect on answers received
- from forwarders.
+ effect on answers received from forwarders.
+
+ See caveats in .
+
@@ -9299,9 +9329,11 @@ zone zone_name class
The flag only applies to hint and stub zones. If set
to yes, then the zone will also be
- treated as if it
- is also a delegation-only type zone.
+ treated as if it is also a delegation-only type zone.
+
+ See caveats in .
+
diff --git a/doc/arm/Bv9ARM.ch06.html b/doc/arm/Bv9ARM.ch06.html
index 10b7fd55580..46fd0dd1f6a 100644
--- a/doc/arm/Bv9ARM.ch06.html
+++ b/doc/arm/Bv9ARM.ch06.html
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
-
+
@@ -78,25 +78,25 @@
server Statement Definition and
Usage
statistics-channels Statement Grammar
-statistics-channels Statement Definition and
+statistics-channels Statement Definition and
Usage
-trusted-keys Statement Grammar
-trusted-keys Statement Definition
+trusted-keys Statement Grammar
+trusted-keys Statement Definition
and Usage
view Statement Grammar
-view Statement Definition and Usage
+view Statement Definition and Usage
zone
Statement Grammar
-zone Statement Definition and Usage
+zone Statement Definition and Usage
-Zone File
+Zone File
- Types of Resource Records and When to Use Them
-- Discussion of MX Records
+- Discussion of MX Records
- Setting TTLs
-- Inverse Mapping in IPv4
-- Other Zone File Directives
-- BIND Master File Extension: the $GENERATE Directive
+- Inverse Mapping in IPv4
+- Other Zone File Directives
+- BIND Master File Extension: the $GENERATE Directive
- Additional File Formats
BIND9 Statistics
@@ -1677,11 +1677,11 @@ category notify { null; };
- Delegation only. Logs queries that have
- been forced to NXDOMAIN as the result of a
- delegation-only zone or
- a delegation-only in a
- hint or stub zone declaration.
+ Delegation only. Logs queries that have been
+ forced to NXDOMAIN as the result of a
+ delegation-only zone or a
+ delegation-only in a hint
+ or stub zone declaration.
|
@@ -2367,16 +2367,46 @@ category notify { null; };
in the additional section of a query response.
The default is not to prefer any type (NONE).
-root-delegation-only
+
+root-delegation-only
+
- Turn on enforcement of delegation-only in TLDs (top level domains) and root zones
- with an optional
+ Turn on enforcement of delegation-only in TLDs
+ (top level domains) and root zones with an optional
exclude list.
- Note some TLDs are not delegation only (e.g. "DE", "LV", "US"
- and "MUSEUM").
+ DS queries are expected to be made to and be answered by
+ delegation only zones. Such queries and responses are
+ treated as a exception to delegation-only processing
+ and are not converted to NXDOMAIN responses provided
+ a CNAME is not discovered at the query name.
+
+
+ If a delegation only zone server also serves a child
+ zone it is not always possible to determine whether
+ a answer comes from the delegation only zone or the
+ child zone. SOA NS and DNSKEY records are apex
+ only records and a matching response that contains
+ these records or DS is treated as coming from a
+ child zone. RRSIG records are also examined to see
+ if they are signed by a child zone or not. The
+ authority section is also examined to see if there
+ is evidence that the answer is from the child zone.
+ Answers that are determined to be from a child zone
+ are not converted to NXDOMAIN responses. Despite
+ all these checks there is still a possibility of
+ false negatives when a child zone is being served.
+
+
+ Similarly false positives can arise from empty nodes
+ (no records at the name) in the delegation only zone
+ when the query type is not ANY.
+
+
+ Note some TLDs are not delegation only (e.g. "DE", "LV",
+ "US" and "MUSEUM"). This list is not exhaustive.
options {
@@ -3151,7 +3181,7 @@ options {
The forwarding facility can be used to create a large site-wide
cache on a few servers, reducing traffic over links to external
@@ -3195,7 +3225,7 @@ options {
Dual-stack servers are used as servers of last resort to work
around
@@ -3392,7 +3422,7 @@ options {
The interfaces and ports that the server will answer queries
from may be specified using the listen-on option. listen-on takes
@@ -3844,7 +3874,7 @@ avoid-v6-udp-ports {};
use-v4-udp-ports,
avoid-v4-udp-ports,
@@ -3886,7 +3916,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
-Operating System Resource Limits
+
Operating System Resource Limits
The server's usage of many system resources can be limited.
Scaled values are allowed when specifying resource limits. For
@@ -4048,7 +4078,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
- cleaning-interval
@@ -5026,7 +5056,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
-statistics-channels Statement Definition and
+statistics-channels Statement Definition and
Usage
The statistics-channels statement
@@ -5077,7 +5107,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
-trusted-keys Statement Grammar
+
trusted-keys Statement Grammar
trusted-keys {
string number number number string ;
[ string number number number string ; [...]]
@@ -5086,7 +5116,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
-trusted-keys Statement Definition
+trusted-keys Statement Definition
and Usage
The trusted-keys statement defines
@@ -5132,7 +5162,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
-view Statement Definition and Usage
+
view Statement Definition and Usage
The view statement is a powerful
feature
@@ -5398,10 +5428,10 @@ zone zone_name [
-zone Statement Definition and Usage
+
zone Statement Definition and Usage