Compare commits

..
78 Commits
Author SHA1 Message Date
Evan Hunt 687b7df8ae [rt46603] add release note 2017-11-30 11:34:00 -08:00
Evan Hunt 3300f4e21c [rt46603] fix some issues
- don't overwrite cacheacl if previously set
- ensure recursionacl inherits from queryacl
- also noticed a test for view _bind that didn't check its rdclass; fixed
2017-11-30 10:53:15 -08:00
Mukund Sivaraman 739a8fefee Add comments with questions 2017-11-30 21:09:49 +05:30
Evan Hunt 4d1a6934bc [rt46603] need to pass config when retrieving match-clients/match-destinations 2017-11-28 17:01:33 -08:00
Mark Andrews fc02461f0c allow-transfer not needed in view_clauses as the it comes in from zone_clauses 2017-11-18 07:45:23 +11:00
Evan Hunt 5914ec45d6 [rt46603] refactor and comment ACL configuration 2017-11-16 16:01:13 -08:00
Evan Hunt e808b8bbae [rt46603] check both builtin global config and options{} in configure_view_acl() 2017-11-16 14:27:38 -08:00
Mukund Sivaraman 6713aef0b0 Set allow-transfer ACL on view from the view config (and not only the static global config) 2017-11-16 14:20:55 +08:00
Mukund Sivaraman 4ff5ec5e42 Add system test 2017-11-16 13:53:26 +08:00
Mark Andrews bcce55197a whitespace 2017-11-14 14:48:41 +11:00
Tinderbox User 3bfc28a0d0 update copyright notice / whitespace 2017-11-13 23:45:33 +00:00
Tinderbox User 6f5cc4206d newcopyrights 2017-11-13 23:30:10 +00:00
Mark Andrews e2f9dcfd86 more DNS_NAME_INITABSOLUTE cases 2017-11-14 00:21:50 +11:00
Mark Andrews 31975d85de remove out of date comment 2017-11-14 00:18:20 +11:00
Mark Andrews 3d905e0533 4817. [cleanup] Use DNS_NAME_INITABSOLUTE and DNS_NAME_INITNONABSOLUTE.
[RT #45433]
2017-11-13 16:58:12 +11:00
Mark Andrews 3def40b01b 4816. [bug] Don't use a common array for storing EDNS options
in DiG as it could fill up. [RT #45611]
2017-11-13 16:10:35 +11:00
Mark Andrews 04934b28ea 4815. [bug] rbt_test.c:insert_and_delete needed to call
dns_rbt_addnode instead of dns_rbt_addname. [RT #46553]
2017-11-13 15:26:35 +11:00
Mark Andrews 8c1b8dd55d fix merge error 2017-11-13 13:06:12 +11:00
Mark Andrews 6bbbf12936 4814. [cleanup] Use AS_HELP_STRING for consistent help text. [RT #46521] 2017-11-13 11:36:45 +11:00
Mark Andrews 9eb5aa40aa set SAMPLEUPDATE under windows; test if SAMPLEUPDATE exists and only run tests if it does 2017-11-11 09:23:44 +11:00
Mark Andrews f581ac4726 allow more time for journal to sync 2017-11-10 18:18:04 +11:00
Mark Andrews c0e3e1fe44 4813. [bug] Address potential read after free errors from
query_synthnodata, query_synthwildcard and
                        query_synthnxdomain. [RT #46547]
2017-11-10 13:33:18 +11:00
Michał Kępień 312c84c73a [master] Minor improvements to code handling managed keys
4812.	[bug]		Minor improvements to stability and consistency of code
			handling managed keys. [RT #46468]
2017-11-09 15:18:39 +01:00
Mark Andrews b231ddc65d fix the IPv6 address length in compute_cookie. [RT #46538] 2017-11-09 23:59:20 +11:00
Tinderbox User 0cba7ca6af regen master 2017-11-09 01:07:39 +00:00
Evan Hunt f4b2356359 [master] remove extra comma 2017-11-08 09:31:25 -08:00
Tinderbox User a1aa42b9cd regenerate 2017-11-08 17:28:38 +00:00
Tinderbox User c999531fa4 regen master 2017-11-08 17:26:53 +00:00
Evan Hunt 00827f59d2 [master] revise incorrect release note 2017-11-08 09:18:29 -08:00
Mark Andrews e03e455cd5 whitespace 2017-11-08 23:30:46 +11:00
Mark Andrews a1a5145867 4811. [bug] Revert api changes to use <isc/buffer.h> inline
macros.  Provide a alternative mechanism to turn
                        on the use of inline macros when building BIND.
                        [RT #46520]
2017-11-08 23:28:10 +11:00
Michał Kępień 4034b098d8 [master] Prevent junk from being logged when using "also-notify { <ip> key <keyname>; };" 2017-11-08 09:21:23 +01:00
Michał Kępień 27bf48327c [master] Do not NOTIFY back the master view from slave views in notify system test
This prevents a Linux kernel bug discussed in RT #32355 from being
triggered and thus makes "checking notify to multiple views using tsig"
stable.
2017-11-08 09:21:16 +01:00
Mark Andrews c652213857 4810. [test] The chain system test failed if the IPv6 interfaces
were not configured. [RT #46508]
2017-11-08 10:17:03 +11:00
Evan Hunt 5b1e929b8b [master] Merge branch 'master' of ssh://repo.isc.org/proj/git/prod/bind9 2017-11-07 13:48:37 -08:00
Tinderbox User a41e41d6a4 regenerate 2017-11-07 21:48:23 +00:00
Tinderbox User 0e29543a3d regen master 2017-11-07 21:42:32 +00:00
Evan Hunt f13c1c09e9 [master] move release tag 2017-11-07 13:33:24 -08:00
Evan Hunt e3d9aafff0 [master] Check if -latomic is needed to handle 64-bit stdatomic.h types
4809.	[port]		Check at configure time whether -latomic is needed
			for stdatomic.h. [RT #46324]
2017-11-07 13:27:14 -08:00
Evan Hunt 23b81977fe [master] minor doc fixes 2017-11-07 13:23:41 -08:00
Tinderbox User 2a390b2537 regen master 2017-11-07 01:08:53 +00:00
Tinderbox User e6801bf89e update copyright notice / whitespace 2017-11-06 23:45:48 +00:00
Tinderbox User 3300f6aeda newcopyrights 2017-11-06 23:30:12 +00:00
Mark Andrews b819a478b7 4808. [bug] Properly test for zlib.h. [RT #46504] 2017-11-07 10:11:55 +11:00
Mukund SivaramanandEvan Hunt 7e1df5182c [master] isc_rng_randombytes()
4807.	[cleanup]	isc_rng_randombytes() returns a specified number of
			bytes from the PRNG; this is now used instead of
			calling isc_rng_random() multiple times. [RT #46230]
2017-11-06 10:44:37 -08:00
Tinderbox User 72ddd51e74 regen master 2017-11-03 01:08:09 +00:00
Evan Hunt c3d0ccdc8f [master] update logging categories in doc 2017-11-02 12:53:33 -07:00
Tinderbox User f305a705c4 regenerate 2017-11-02 18:59:07 +00:00
Tinderbox User 490c321e25 regen master 2017-11-02 18:58:45 +00:00
Evan Hunt e7b53943fe [master] copyrights 2017-11-02 11:50:43 -07:00
Evan Hunt 8d23105547 [master] prep 9.12.0b2 2017-11-02 11:50:07 -07:00
Evan Hunt 95dce4e68c [master] clarify doc on zone refresh and expiry 2017-11-01 23:06:20 -07:00
Evan Hunt 9bb007fd2d [master] "zoneload" logging category
4806.	[func]		Log messages related to loading of zones are now
			directed to the "zoneload" logging category.
			[RT #41640]
2017-11-01 22:48:12 -07:00
Evan Hunt 3b5718a8c9 [master] removed references to obsolete versions in documentation 2017-11-01 22:19:11 -07:00
Tinderbox User 40298d8bee regen master 2017-11-02 01:09:26 +00:00
Mark Andrews 92bbc9914c 4805. [bug] TCP4Active and TCP6Active weren't being updated
correctly. [RT #46454]
2017-11-02 10:42:42 +11:00
Evan Hunt 4359be18f4 [master] update secroots doc in rndc man page 2017-11-01 15:37:12 -07:00
Mark Andrews 0698ad8503 don't use the ERR macro as GCC 7 only does a partial static analysis which generates false positives for fallthrough. [RT #46115] 2017-11-01 19:11:48 +11:00
Tinderbox User 9b3fc207df regen master 2017-11-01 01:09:07 +00:00
Tinderbox User db15f78ad7 update copyright notice / whitespace 2017-10-31 23:45:54 +00:00
Mark Andrews ff30290b48 4804. [port] win32: access() does not work on directories as
required by POSIX.  Supply a alternative in
                        isc_file_isdirwritable. [RT #46394]
2017-11-01 09:29:24 +11:00
Evan Hunt 7bbb034952 [master] doc was incorrect about SIG(0) 2017-10-31 13:09:58 -07:00
Evan Hunt a51352c4a4 [master] typo 2017-10-31 13:02:41 -07:00
Michał Kępień 37039792cb [master] Replace FNR with NR in the awk script used by nextpart()
awk on Solaris does not support the FNR variable.  As nextpart() only
reads from one file, replace FNR with NR.
2017-10-31 14:57:52 +01:00
Michał Kępień 41b1a98545 [master] Copy nextpart() from conf.sh.in to conf.sh.win32 2017-10-31 12:03:04 +01:00
Michał Kępień dd61c4ad3e [master] Add placeholder 2017-10-31 07:54:56 +01:00
Tinderbox User 85bd975d3d update copyright notice / whitespace 2017-10-30 23:45:50 +00:00
Tinderbox User ee42f734d5 Merge branch 'master' of /proj/git/prod/bind9 2017-10-30 23:45:16 +00:00
Mark Andrews 6e02359034 tmp should be a (struct in_addr) not (struct in_addr *) 2017-10-31 10:35:07 +11:00
Tinderbox User 0ed0c4b1a5 newcopyrights 2017-10-30 23:30:10 +00:00
Michał Kępień facf811847 [master] Refactor mkeys system test
4802.	[test]		Refactor mkeys system test to make it quicker and more
			reliable. [RT #45293]
2017-10-30 09:41:24 +01:00
Tinderbox User 4ae8f28711 regen master 2017-10-30 01:08:21 +00:00
Tinderbox User 2658ebbcba update copyright notice / whitespace 2017-10-29 23:45:51 +00:00
Evan Hunt 45d4d62a0c [master] copyrights 2017-10-29 16:44:55 -07:00
Tinderbox User 63d83632d7 newcopyrights 2017-10-29 23:30:15 +00:00
Mark Andrews 40e1e659b6 add missing test number increment 2017-10-30 08:50:00 +11:00
Mark Andrews f5e1b555c5 4801. [func] 'dnssec-lookaside auto;' and 'dnssec-lookaside .
trust-anchor dlv.isc.org;' now elicit warnings rather
                        than being fatal configuration errors. [RT #46410]
2017-10-30 07:40:59 +11:00
Mark Andrews 4e2ba60f3c don't add copyright notices 2017-10-29 18:53:07 +11:00
132 changed files with 2078 additions and 1329 deletions
+58 -1
View File
@@ -1,3 +1,60 @@
4817. [cleanup] Use DNS_NAME_INITABSOLUTE and DNS_NAME_INITNONABSOLUTE.
[RT #45433]
4816. [bug] Don't use a common array for storing EDNS options
in DiG as it could fill up. [RT #45611]
4815. [bug] rbt_test.c:insert_and_delete needed to call
dns_rbt_addnode instead of dns_rbt_addname. [RT #46553]
4814. [cleanup] Use AS_HELP_STRING for consistent help text. [RT #46521]
4813. [bug] Address potential read after free errors from
query_synthnodata, query_synthwildcard and
query_synthnxdomain. [RT #46547]
4812. [bug] Minor improvements to stability and consistency of code
handling managed keys. [RT #46468]
4811. [bug] Revert api changes to use <isc/buffer.h> inline
macros. Provide a alternative mechanism to turn
on the use of inline macros when building BIND.
[RT #46520]
4810. [test] The chain system test failed if the IPv6 interfaces
were not configured. [RT #46508]
--- 9.12.0b2 released ---
4809. [port] Check at configure time whether -latomic is needed
for stdatomic.h. [RT #46324]
4808. [bug] Properly test for zlib.h. [RT #46504]
4807. [cleanup] isc_rng_randombytes() returns a specified number of
bytes from the PRNG; this is now used instead of
calling isc_rng_random() multiple times. [RT #46230]
4806. [func] Log messages related to loading of zones are now
directed to the "zoneload" logging category.
[RT #41640]
4805. [bug] TCP4Active and TCP6Active weren't being updated
correctly. [RT #46454]
4804. [port] win32: access() does not work on directories as
required by POSIX. Supply a alternative in
isc_file_isdirwritable. [RT #46394]
4803. [placeholder]
4802. [test] Refactor mkeys system test to make it quicker and more
reliable. [RT #45293]
4801. [func] 'dnssec-lookaside auto;' and 'dnssec-lookaside .
trust-anchor dlv.isc.org;' now elicit warnings rather
than being fatal configuration errors. [RT #46410]
4800. [bug] When processing delzone, write one zone config per
line to the NZF. [RT #46323]
@@ -200,7 +257,7 @@
- Removed DLV key from bind.keys
- No longer use ISC DLV by default in delv
- "dnssec-lookaside auto" and configuration of
"dnssec-lookaide" with dlv.isc.org as trust
"dnssec-lookaide" with dlv.isc.org as the trust
anchor are both now fatal errors.
[RT #46155]
+7 -3
View File
@@ -117,7 +117,11 @@ include:
* 'named-checkconf -l' lists zones found in named.conf.
* Added support for the EDNS Padding and Keepalive options.
* 'new-zones-directory' option sets the location where the configuration
data for zones added by rndc addzone is stored
data for zones added by rndc addzone is stored.
* The default key algorithm in rndc-confgen is now hmac-sha256.
* filter-aaaa-on-v4 and filter-aaaa-on-v6 options are now available by
default without a configure option.
* The obsolete isc-hmac-fixup command has been removed.
Building BIND
@@ -127,8 +131,8 @@ on many versions of Linux and UNIX, including RedHat, Fedora, Debian,
Ubuntu, SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris,
HP-UX, AIX, SCO OpenServer, and OpenWRT.
BIND is also available for Windows XP, 2003, 2008, and higher. See
win32utils/readme1st.txt for details on building for Windows systems.
BIND is also available for Windows 2008 and higher. See win32utils/
readme1st.txt for details on building for Windows systems.
To build on a UNIX or Linux system, use:
+8 -3
View File
@@ -129,7 +129,11 @@ include:
* `'named-checkconf -l'` lists zones found in `named.conf`.
* Added support for the EDNS Padding and Keepalive options.
* 'new-zones-directory' option sets the location where the configuration
data for zones added by rndc addzone is stored
data for zones added by rndc addzone is stored.
* The default key algorithm in `rndc-confgen` is now hmac-sha256.
* `filter-aaaa-on-v4` and `filter-aaaa-on-v6` options are now available
by default without a configure option.
* The obsolete `isc-hmac-fixup` command has been removed.
### <a name="build"/> Building BIND
@@ -139,8 +143,9 @@ many versions of Linux and UNIX, including RedHat, Fedora, Debian, Ubuntu,
SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris, HP-UX, AIX,
SCO OpenServer, and OpenWRT.
BIND is also available for Windows XP, 2003, 2008, and higher. See
`win32utils/readme1st.txt` for details on building for Windows systems.
BIND is also available for Windows 2008 and higher. See
`win32utils/readme1st.txt` for details on building for Windows
systems.
To build on a UNIX or Linux system, use:
+5
View File
@@ -469,6 +469,11 @@ Convert [do not convert] puny code on output\&. This requires IDN SUPPORT to hav
Ignore truncation in UDP responses instead of retrying with TCP\&. By default, TCP retries are performed\&.
.RE
.PP
\fB+[no]keepalive\fR
.RS 4
Send [or do not send] an EDNS Keepalive option\&.
.RE
.PP
\fB+[no]keepopen\fR
.RS 4
Keep the TCP socket open between queries and reuse it rather than creating a new TCP socket for each lookup\&. The default is
+2 -8
View File
@@ -414,14 +414,8 @@ isdotlocal(dns_message_t *msg) {
isc_result_t result;
static unsigned char local_ndata[] = { "\005local\0" };
static unsigned char local_offsets[] = { 0, 6 };
static dns_name_t local = {
DNS_NAME_MAGIC,
local_ndata, 7, 2,
DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE,
local_offsets, NULL,
{(void *)-1, (void *)-1},
{NULL, NULL}
};
static dns_name_t local =
DNS_NAME_INITABSOLUTE(local_ndata, local_offsets);
for (result = dns_message_firstname(msg, DNS_SECTION_QUESTION);
result == ISC_R_SUCCESS;
+9
View File
@@ -784,6 +784,15 @@
</listitem>
</varlistentry>
<varlistentry>
<term><option>+[no]keepalive</option></term>
<listitem>
<para>
Send [or do not send] an EDNS Keepalive option.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>+[no]keepopen</option></term>
<listitem>
+6
View File
@@ -628,6 +628,12 @@
with TCP. By default, TCP retries are performed.
</p>
</dd>
<dt><span class="term"><code class="option">+[no]keepalive</code></span></dt>
<dd>
<p>
Send [or do not send] an EDNS Keepalive option.
</p>
</dd>
<dt><span class="term"><code class="option">+[no]keepopen</code></span></dt>
<dd>
<p>
+65 -24
View File
@@ -655,6 +655,41 @@ make_empty_lookup(void) {
return (looknew);
}
#define EDNSOPT_OPTIONS 100U
static void
cloneopts(dig_lookup_t *looknew, dig_lookup_t *lookold) {
size_t len = sizeof(looknew->ednsopts[0]) * EDNSOPT_OPTIONS;
size_t i;
looknew->ednsopts = isc_mem_allocate(mctx, len);
if (looknew->ednsopts == NULL)
fatal("out of memory");
for (i = 0; i < EDNSOPT_OPTIONS; i++) {
looknew->ednsopts[i].code = 0;
looknew->ednsopts[i].length = 0;
looknew->ednsopts[i].value = NULL;
}
looknew->ednsoptscnt = 0;
if (lookold == NULL || lookold->ednsopts == NULL)
return;
for (i = 0; i < lookold->ednsoptscnt; i++) {
len = lookold->ednsopts[i].length;
if (len != 0) {
INSIST(lookold->ednsopts[i].value != NULL);
looknew->ednsopts[i].value =
isc_mem_allocate(mctx, len);
if (looknew->ednsopts[i].value == NULL)
fatal("out of memory");
memmove(looknew->ednsopts[i].value,
lookold->ednsopts[i].value, len);
}
looknew->ednsopts[i].code = lookold->ednsopts[i].code;
looknew->ednsopts[i].length = len;
}
looknew->ednsoptscnt = lookold->ednsoptscnt;
}
/*%
* Clone a lookup, perhaps copying the server list. This does not clone
* the query list, since it will be regenerated by the setup_lookup()
@@ -700,8 +735,12 @@ clone_lookup(dig_lookup_t *lookold, isc_boolean_t servers) {
looknew->seenbadcookie = lookold->seenbadcookie;
looknew->badcookie = lookold->badcookie;
looknew->cookie = lookold->cookie;
looknew->ednsopts = lookold->ednsopts;
looknew->ednsoptscnt = lookold->ednsoptscnt;
if (lookold->ednsopts != NULL) {
cloneopts(looknew, lookold);
} else {
looknew->ednsopts = NULL;
looknew->ednsoptscnt = 0;
}
looknew->ednsneg = lookold->ednsneg;
looknew->padding = lookold->padding;
looknew->mapped = lookold->mapped;
@@ -1317,13 +1356,6 @@ setup_libs(void) {
check_result(result, "isc_mutex_init");
}
/*
* Array of up to 100 options configured by +ednsopt
*/
#define EDNSOPT_OPTIONS 100U
static dns_ednsopt_t ednsopts[EDNSOPT_OPTIONS];
static unsigned char ednsoptscnt = 0;
typedef struct dig_ednsoptname {
isc_uint32_t code;
const char *name;
@@ -1355,7 +1387,7 @@ save_opt(dig_lookup_t *lookup, char *code, char *value) {
isc_boolean_t found = ISC_FALSE;
unsigned int i;
if (ednsoptscnt == EDNSOPT_OPTIONS)
if (lookup->ednsoptscnt >= EDNSOPT_OPTIONS)
fatal("too many ednsopts");
for (i = 0; i < N_EDNS_OPTNAMES; i++) {
@@ -1372,9 +1404,16 @@ save_opt(dig_lookup_t *lookup, char *code, char *value) {
fatal("bad edns code point: %s", code);
}
ednsopts[ednsoptscnt].code = num;
ednsopts[ednsoptscnt].length = 0;
ednsopts[ednsoptscnt].value = NULL;
if (lookup->ednsopts == NULL) {
cloneopts(lookup, NULL);
}
if (lookup->ednsopts[lookup->ednsoptscnt].value != NULL)
isc_mem_free(mctx, lookup->ednsopts[lookup->ednsoptscnt].value);
lookup->ednsopts[lookup->ednsoptscnt].code = num;
lookup->ednsopts[lookup->ednsoptscnt].length = 0;
lookup->ednsopts[lookup->ednsoptscnt].value = NULL;
if (value != NULL) {
char *buf;
@@ -1384,14 +1423,13 @@ save_opt(dig_lookup_t *lookup, char *code, char *value) {
isc_buffer_init(&b, buf, (unsigned int) strlen(value)/2 + 1);
result = isc_hex_decodestring(value, &b);
check_result(result, "isc_hex_decodestring");
ednsopts[ednsoptscnt].value = isc_buffer_base(&b);
ednsopts[ednsoptscnt].length = isc_buffer_usedlength(&b);
lookup->ednsopts[lookup->ednsoptscnt].value =
isc_buffer_base(&b);
lookup->ednsopts[lookup->ednsoptscnt].length =
isc_buffer_usedlength(&b);
}
if (lookup->ednsoptscnt == 0)
lookup->ednsopts = &ednsopts[ednsoptscnt];
lookup->ednsoptscnt++;
ednsoptscnt++;
}
/*%
@@ -1570,6 +1608,15 @@ destroy_lookup(dig_lookup_t *lookup) {
if (lookup->ecs_addr != NULL)
isc_mem_free(mctx, lookup->ecs_addr);
if (lookup->ednsopts != NULL) {
size_t i;
for (i = 0; i < EDNSOPT_OPTIONS; i++) {
if (lookup->ednsopts[i].value != NULL)
isc_mem_free(mctx, lookup->ednsopts[i].value);
}
isc_mem_free(mctx, lookup->ednsopts);
}
isc_mem_free(mctx, lookup);
}
@@ -4127,12 +4174,6 @@ destroy_libs(void) {
debug("Removing log context");
isc_log_destroy(&lctx);
while (ednsoptscnt > 0U) {
ednsoptscnt--;
if (ednsopts[ednsoptscnt].value != NULL)
isc_mem_free(mctx, ednsopts[ednsoptscnt].value);
}
debug("Destroy memory");
if (memdebugging != 0)
isc_mem_stats(mctx, stderr);
+2 -2
View File
@@ -62,11 +62,11 @@ may be preferable to direct use of
.RS 4
Selects the cryptographic algorithm\&. For DNSSEC keys, the value of
\fBalgorithm\fR
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. For TKEY and SIG(0) keys, the value must be DH (Diffie Hellman); specifying this value will automatically set the
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. For TKEY, the value must be DH (Diffie Hellman); specifying his value will automatically set the
\fB\-T KEY\fR
option as well\&.
.sp
TSIG keys can also by generated by setting the value to one of HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512\&. As with DH, specifying these values will automatically set
TSIG keys can also be generated by setting the value to one of HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512\&. As with DH, specifying these values will automatically set
\fB\-T KEY\fR\&. Note, however, that
\fBtsig\-keygen\fR
produces TSIG keys in a more useful format\&. These algorithms have been deprecated in
+4 -4
View File
@@ -122,12 +122,12 @@
of <option>algorithm</option> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. For
TKEY and SIG(0) keys, the value must be DH (Diffie Hellman);
specifying this value will automatically set the
<option>-T KEY</option> option as well.
TKEY, the value must be DH (Diffie Hellman); specifying
his value will automatically set the <option>-T KEY</option>
option as well.
</para>
<para>
TSIG keys can also by generated by setting the value to
TSIG keys can also be generated by setting the value to
one of HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256,
HMAC-SHA384, or HMAC-SHA512. As with DH, specifying these
values will automatically set <option>-T KEY</option>. Note,
+4 -4
View File
@@ -103,12 +103,12 @@
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. For
TKEY and SIG(0) keys, the value must be DH (Diffie Hellman);
specifying this value will automatically set the
<code class="option">-T KEY</code> option as well.
TKEY, the value must be DH (Diffie Hellman); specifying
his value will automatically set the <code class="option">-T KEY</code>
option as well.
</p>
<p>
TSIG keys can also by generated by setting the value to
TSIG keys can also be generated by setting the value to
one of HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256,
HMAC-SHA384, or HMAC-SHA512. As with DH, specifying these
values will automatically set <code class="option">-T KEY</code>. Note,
+155 -117
View File
@@ -154,12 +154,6 @@
#define EXCLBUFFERS 4096
#endif /* TUNE_LARGE */
#ifdef WIN32
#define DIR_PERM_OK W_OK
#else
#define DIR_PERM_OK W_OK|X_OK
#endif
#define MAX_TCP_TIMEOUT 65535
/*%
@@ -517,32 +511,44 @@ nzf_append(dns_view_t *view, const cfg_obj_t *zconfig);
*/
static isc_result_t
configure_view_acl(const cfg_obj_t *vconfig, const cfg_obj_t *config,
const char *aclname, const char *acltuplename,
cfg_aclconfctx_t *actx, isc_mem_t *mctx, dns_acl_t **aclp)
const cfg_obj_t *gconfig, const char *aclname,
const char *acltuplename, cfg_aclconfctx_t *actx,
isc_mem_t *mctx, dns_acl_t **aclp)
{
isc_result_t result;
const cfg_obj_t *maps[3];
const cfg_obj_t *maps[4];
const cfg_obj_t *aclobj = NULL;
int i = 0;
if (*aclp != NULL)
if (*aclp != NULL) {
dns_acl_detach(aclp);
if (vconfig != NULL)
}
if (vconfig != NULL) {
maps[i++] = cfg_tuple_get(vconfig, "options");
}
if (config != NULL) {
const cfg_obj_t *options = NULL;
(void)cfg_map_get(config, "options", &options);
if (options != NULL)
if (options != NULL) {
maps[i++] = options;
}
}
if (gconfig != NULL) {
const cfg_obj_t *options = NULL;
(void)cfg_map_get(gconfig, "options", &options);
if (options != NULL) {
maps[i++] = options;
}
}
maps[i] = NULL;
(void)named_config_get(maps, aclname, &aclobj);
if (aclobj == NULL)
if (aclobj == NULL) {
/*
* No value available. *aclp == NULL.
*/
return (ISC_R_SUCCESS);
}
if (acltuplename != NULL) {
/*
@@ -1059,7 +1065,7 @@ configure_view_dnsseckeys(dns_view_t *view, const cfg_obj_t *vconfig,
goto cleanup;
} else if (directory != NULL) {
if (access(directory, DIR_PERM_OK) != 0) {
if (!isc_file_isdirwritable(directory)) {
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
"managed-keys-directory '%s' "
@@ -3344,7 +3350,7 @@ create_empty_zone(dns_zone_t *zone, dns_name_t *name, dns_view_t *view,
viewname = "";
}
dns_name_format(name, namebuf, sizeof(namebuf));
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
isc_log_write(named_g_lctx, DNS_LOGCATEGORY_ZONELOAD,
NAMED_LOGMODULE_SERVER, ISC_LOG_INFO,
"automatic empty zone%s%s: %s",
sep, viewname, namebuf);
@@ -3712,13 +3718,9 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
CHECKM(named_config_getport(config, &port), "port");
dns_view_setdstport(view, port);
CHECK(configure_view_acl(vconfig, config, "allow-query", NULL, actx,
CHECK(configure_view_acl(vconfig, config, named_g_config,
"allow-query", NULL, actx,
named_g_mctx, &view->queryacl));
if (view->queryacl == NULL) {
CHECK(configure_view_acl(NULL, named_g_config, "allow-query",
NULL, actx, named_g_mctx,
&view->queryacl));
}
/*
* Make the list of response policy zone names for a view that
@@ -4601,11 +4603,16 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
/*
* Configure the "match-clients" and "match-destinations" ACL.
* (These are only meaningful at the view level, but 'config'
* must be passed so that named ACLs defined at the global level
* can be retrieved.)
*/
CHECK(configure_view_acl(vconfig, config, "match-clients", NULL, actx,
named_g_mctx, &view->matchclients));
CHECK(configure_view_acl(vconfig, config, "match-destinations", NULL,
actx, named_g_mctx, &view->matchdestinations));
CHECK(configure_view_acl(vconfig, config, NULL, "match-clients",
NULL, actx, named_g_mctx,
&view->matchclients));
CHECK(configure_view_acl(vconfig, config, NULL, "match-destinations",
NULL, actx, named_g_mctx,
&view->matchdestinations));
/*
* Configure the "match-recursive-only" option.
@@ -4674,70 +4681,85 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
INSIST(result == ISC_R_SUCCESS);
view->trust_anchor_telemetry = cfg_obj_asboolean(obj);
CHECK(configure_view_acl(vconfig, config, named_g_config,
"allow-query-cache-on", NULL, actx,
named_g_mctx, &view->cacheonacl));
/*
* Set "allow-query-cache", "allow-query-cache-on",
* "allow-recursion", and "allow-recursion-on" acls if
* configured in named.conf.
* Set "allow-query-cache", "allow-recursion", and
* "allow-recursion-on" acls if configured in named.conf.
* (Ignore the global defaults for now, because these ACLs
* can inherit from each other when only some of them set at
* the options/view level.)
*/
CHECK(configure_view_acl(vconfig, config, "allow-query-cache", NULL,
actx, named_g_mctx, &view->cacheacl));
CHECK(configure_view_acl(vconfig, config, "allow-query-cache-on", NULL,
actx, named_g_mctx, &view->cacheonacl));
if (view->cacheonacl == NULL)
CHECK(configure_view_acl(NULL, named_g_config,
"allow-query-cache-on", NULL, actx,
named_g_mctx, &view->cacheonacl));
if (strcmp(view->name, "_bind") != 0) {
CHECK(configure_view_acl(vconfig, config, "allow-recursion",
NULL, actx, named_g_mctx,
&view->recursionacl));
CHECK(configure_view_acl(vconfig, config, "allow-recursion-on",
NULL, actx, named_g_mctx,
&view->recursiononacl));
}
CHECK(configure_view_acl(vconfig, config, NULL, "allow-query-cache",
NULL, actx, named_g_mctx, &view->cacheacl));
/*
* "allow-query-cache" inherits from "allow-recursion" if set,
* otherwise from "allow-query" if set.
* "allow-recursion" inherits from "allow-query-cache" if set,
* otherwise from "allow-query" if set.
*/
if (view->cacheacl == NULL && view->recursionacl != NULL) {
dns_acl_attach(view->recursionacl, &view->cacheacl);
}
if (view->cacheacl == NULL && view->recursion) {
dns_acl_attach(view->queryacl, &view->cacheacl);
}
if (view->recursion &&
view->recursionacl == NULL && view->cacheacl != NULL)
if (strcmp(view->name, "_bind") != 0 &&
view->rdclass != dns_rdataclass_chaos)
{
dns_acl_attach(view->cacheacl, &view->recursionacl);
CHECK(configure_view_acl(vconfig, config, NULL,
"allow-recursion", NULL, actx,
named_g_mctx, &view->recursionacl));
CHECK(configure_view_acl(vconfig, config, NULL,
"allow-recursion-on", NULL, actx,
named_g_mctx, &view->recursiononacl));
}
/*
* Set default "allow-recursion", "allow-recursion-on" and
* "allow-query-cache" acls.
*/
if (view->recursionacl == NULL && view->recursion)
CHECK(configure_view_acl(NULL, named_g_config,
"allow-recursion", NULL,
actx, named_g_mctx,
&view->recursionacl));
if (view->recursiononacl == NULL && view->recursion)
CHECK(configure_view_acl(NULL, named_g_config,
"allow-recursion-on", NULL,
actx, named_g_mctx,
&view->recursiononacl));
if (view->cacheacl == NULL) {
if (view->recursion)
CHECK(configure_view_acl(NULL, named_g_config,
if (view->recursion) {
/*
* "allow-query-cache" inherits from "allow-recursion" if set,
* otherwise from "allow-query" if set.
* "allow-recursion" inherits from "allow-query-cache" if set,
* otherwise from "allow-query" if set.
*/
if (view->cacheacl == NULL) {
if (view->recursionacl != NULL) {
dns_acl_attach(view->recursionacl,
&view->cacheacl);
} else if (view->queryacl != NULL) {
dns_acl_attach(view->queryacl,
&view->cacheacl);
}
}
if (view->recursionacl == NULL) {
if (view->cacheacl != NULL) {
dns_acl_attach(view->cacheacl,
&view->recursionacl);
} else if (view->queryacl != NULL) {
dns_acl_attach(view->queryacl,
&view->recursionacl);
}
}
/*
* If any are still unset, we now get default "allow-recursion",
* "allow-recursion-on" and "allow-query-cache" ACLs from
* the global config.
*/
if (view->recursionacl == NULL) {
CHECK(configure_view_acl(NULL, NULL, named_g_config,
"allow-recursion", NULL,
actx, named_g_mctx,
&view->recursionacl));
}
if (view->recursiononacl == NULL) {
CHECK(configure_view_acl(NULL, NULL, named_g_config,
"allow-recursion-on", NULL,
actx, named_g_mctx,
&view->recursiononacl));
}
if (view->cacheacl == NULL) {
CHECK(configure_view_acl(NULL, NULL, named_g_config,
"allow-query-cache", NULL,
actx, named_g_mctx,
&view->cacheacl));
else
CHECK(dns_acl_none(mctx, &view->cacheacl));
}
} else if (view->cacheacl == NULL) {
/*
* We're not recursive; if "allow-query-cache" hasn't been
* set at the options/view level, set it to none.
*/
CHECK(dns_acl_none(mctx, &view->cacheacl));
}
/*
@@ -4745,14 +4767,14 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
* clients. This causes case not always to be preserved,
* and is needed by some broken clients.
*/
CHECK(configure_view_acl(vconfig, config, "no-case-compress", NULL,
actx, named_g_mctx, &view->nocasecompress));
CHECK(configure_view_acl(vconfig, config, named_g_config,
"no-case-compress", NULL, actx,
named_g_mctx, &view->nocasecompress));
/*
* Disable name compression completely, this is a tradeoff
* between CPU and network usage.
*/
obj = NULL;
result = named_config_get(maps, "message-compression", &obj);
INSIST(result == ISC_R_SUCCESS);
@@ -4761,8 +4783,9 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
/*
* Filter setting on addresses in the answer section.
*/
CHECK(configure_view_acl(vconfig, config, "deny-answer-addresses",
"acl", actx, named_g_mctx,
CHECK(configure_view_acl(vconfig, config, named_g_config,
"deny-answer-addresses", "acl",
actx, named_g_mctx,
&view->denyansweracl));
CHECK(configure_view_nametable(vconfig, config, "deny-answer-addresses",
"except-from", named_g_mctx,
@@ -4785,26 +4808,36 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
&view->sortlist));
/*
* Configure default allow-transfer, allow-notify, allow-update
* and allow-update-forwarding ACLs, if set, so they can be
* inherited by zones.
* Configure default allow-notify, allow-update
* and allow-update-forwarding ACLs, so they can be
* inherited by zones. (Note these cannot be set at
* options/view level.)
*/
if (view->notifyacl == NULL)
CHECK(configure_view_acl(NULL, named_g_config,
if (view->notifyacl == NULL) {
CHECK(configure_view_acl(vconfig, config, named_g_config,
"allow-notify", NULL, actx,
named_g_mctx, &view->notifyacl));
if (view->transferacl == NULL)
CHECK(configure_view_acl(NULL, named_g_config,
"allow-transfer", NULL, actx,
named_g_mctx, &view->transferacl));
if (view->updateacl == NULL)
CHECK(configure_view_acl(NULL, named_g_config,
}
if (view->updateacl == NULL) {
CHECK(configure_view_acl(NULL, NULL, named_g_config,
"allow-update", NULL, actx,
named_g_mctx, &view->updateacl));
if (view->upfwdacl == NULL)
CHECK(configure_view_acl(NULL, named_g_config,
}
if (view->upfwdacl == NULL) {
CHECK(configure_view_acl(NULL, NULL, named_g_config,
"allow-update-forwarding", NULL, actx,
named_g_mctx, &view->upfwdacl));
}
/*
* Configure default allow-transer ACL so it can be inherited
* by zones. (Note this *can* be set at options or view level.)
*/
if (view->transferacl == NULL) {
CHECK(configure_view_acl(vconfig, config, named_g_config,
"allow-transfer", NULL, actx,
named_g_mctx, &view->transferacl));
}
obj = NULL;
result = named_config_get(maps, "provide-ixfr", &obj);
@@ -4927,8 +4960,9 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
INSIST(0);
}
CHECK(configure_view_acl(vconfig, config, "filter-aaaa", NULL,
actx, named_g_mctx, &view->aaaa_acl));
CHECK(configure_view_acl(vconfig, config, named_g_config,
"filter-aaaa", NULL, actx,
named_g_mctx, &view->aaaa_acl));
obj = NULL;
result = named_config_get(maps, "prefetch", &obj);
@@ -4975,11 +5009,9 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
if (!strcasecmp(dom, "no")) {
result = ISC_R_NOTFOUND;
} else if (!strcasecmp(dom, "auto")) {
cfg_obj_log(obj, named_g_lctx, ISC_LOG_WARNING,
"WARNING: the DLV server at "
"'dlv.isc.org' is no longer "
"in service; dnssec-lookaside "
"ignored");
/*
* Warning logged by libbind9.
*/
result = ISC_R_NOTFOUND;
}
}
@@ -5005,11 +5037,9 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
CHECK(dns_name_fromstring(dlv, cfg_obj_asstring(obj),
DNS_NAME_DOWNCASE, NULL));
if (dns_name_equal(dlv, iscdlv)) {
cfg_obj_log(obj, named_g_lctx, ISC_LOG_WARNING,
"WARNING: the DLV server at "
"'dlv.isc.org' is no longer "
"in service; dnssec-lookaside "
"ignored");
/*
* Warning logged by libbind9.
*/
view->dlv = NULL;
} else {
view->dlv = dlv;
@@ -6184,7 +6214,7 @@ directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) {
"option 'directory' contains relative path '%s'",
directory);
if (access(directory, DIR_PERM_OK) != 0) {
if (!isc_file_isdirwritable(directory)) {
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
"directory '%s' is not writable",
@@ -7079,7 +7109,7 @@ setup_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
dir, isc_result_totext(result));
return (result);
}
if (access(dir, DIR_PERM_OK) != 0) {
if (!isc_file_isdirwritable(dir)) {
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
"new-zones-directory '%s' "
@@ -7857,7 +7887,11 @@ load_configuration(const char *filename, named_server_t *server,
isc_quota_soft(&server->sctx->recursionquota, softquota);
CHECK(configure_view_acl(NULL, config, "blackhole", NULL,
/*
* Set "blackhole". Only legal at options level; there is
* no default.
*/
CHECK(configure_view_acl(NULL, config, NULL, "blackhole", NULL,
named_g_aclconfctx, named_g_mctx,
&server->sctx->blackholeacl));
if (server->sctx->blackholeacl != NULL) {
@@ -7865,7 +7899,11 @@ load_configuration(const char *filename, named_server_t *server,
server->sctx->blackholeacl);
}
CHECK(configure_view_acl(NULL, config, "keep-response-order", NULL,
/*
* Set "blackhole". Only legal at options or global defaults level.
*/
CHECK(configure_view_acl(NULL, config, named_g_config,
"keep-response-order", NULL,
named_g_aclconfctx, named_g_mctx,
&server->sctx->keepresporder));
@@ -8520,7 +8558,7 @@ load_configuration(const char *filename, named_server_t *server,
/*
* Check that the working directory is writable.
*/
if (access(".", DIR_PERM_OK) != 0) {
if (!isc_file_isdirwritable(".")) {
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
"the working directory is not writable");
@@ -14465,10 +14503,10 @@ mkey_dumpzone(dns_view_t *view, isc_buffer_t **text) {
else if (revoked)
snprintf(buf, sizeof(buf),
"\n\ttrust revoked");
else if (kd.addhd < now)
else if (kd.addhd <= now)
snprintf(buf, sizeof(buf),
"\n\ttrusted since: %s", tbuf);
else if (kd.addhd >= now)
else if (kd.addhd > now)
snprintf(buf, sizeof(buf),
"\n\ttrust pending: %s", tbuf);
CHECK(putstr(text, buf));
+4 -1
View File
@@ -516,7 +516,10 @@ Status will report whether serving of stale answers is currently enabled, disabl
.PP
\fBsecroots \fR\fB[\-]\fR\fB \fR\fB[\fIview \&.\&.\&.\fR]\fR
.RS 4
Dump the server\*(Aqs security roots and negative trust anchors for the specified views\&. If no view is specified, all views are dumped\&.
Dump the security roots (i\&.e\&., trust anchors configured via
\fBtrusted\-keys\fR,
\fBmanaged\-keys\fR, or
\fBdnssec\-validation auto\fR) and negative trust anchors for the specified views\&. If no view is specified, all views are dumped\&. Security roots will indicate whether they are configured as trusted keys, managed keys, or initializing managed keys (managed keys that have not yet been updated by a successful key refresh query)\&.
.sp
If the first argument is "\-", then the output is returned via the
\fBrndc\fR
+15 -9
View File
@@ -774,9 +774,15 @@
<term><userinput>secroots <optional>-</optional> <optional><replaceable>view ...</replaceable></optional></userinput></term>
<listitem>
<para>
Dump the server's security roots and negative trust anchors
for the specified views. If no view is specified, all views
are dumped.
Dump the security roots (i.e., trust anchors
configured via <command>trusted-keys</command>,
<command>managed-keys</command>, or
<command>dnssec-validation auto</command>) and negative trust
anchors for the specified views. If no view is specified, all
views are dumped. Security roots will indicate whether
they are configured as trusted keys, managed keys, or
initializing managed keys (managed keys that have not yet
been updated by a successful key refresh query).
</para>
<para>
If the first argument is "-", then the output is
@@ -963,15 +969,15 @@
<listitem>
<para>
When called without arguments, display the current
values of the <command>tcp-initial-timeout</command>,
values of the <command>tcp-initial-timeout</command>,
<command>tcp-idle-timeout</command>,
<command>tcp-keepalive-timeout</command> and
<command>tcp-advertised-timeout</command> options.
When called with arguments, update these values. This
allows an administrator to make rapid adjustments when
under a denial of service attack. See the descriptions of
these options in the BIND 9 Administrator Reference Manual
for details of their use.
When called with arguments, update these values. This
allows an administrator to make rapid adjustments when
under a denial of service attack. See the descriptions of
these options in the BIND 9 Administrator Reference Manual
for details of their use.
</para>
</listitem>
</varlistentry>
+15 -9
View File
@@ -657,9 +657,15 @@
<dt><span class="term"><strong class="userinput"><code>secroots [<span class="optional">-</span>] [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
<dd>
<p>
Dump the server's security roots and negative trust anchors
for the specified views. If no view is specified, all views
are dumped.
Dump the security roots (i.e., trust anchors
configured via <span class="command"><strong>trusted-keys</strong></span>,
<span class="command"><strong>managed-keys</strong></span>, or
<span class="command"><strong>dnssec-validation auto</strong></span>) and negative trust
anchors for the specified views. If no view is specified, all
views are dumped. Security roots will indicate whether
they are configured as trusted keys, managed keys, or
initializing managed keys (managed keys that have not yet
been updated by a successful key refresh query).
</p>
<p>
If the first argument is "-", then the output is
@@ -822,15 +828,15 @@
<dd>
<p>
When called without arguments, display the current
values of the <span class="command"><strong>tcp-initial-timeout</strong></span>,
values of the <span class="command"><strong>tcp-initial-timeout</strong></span>,
<span class="command"><strong>tcp-idle-timeout</strong></span>,
<span class="command"><strong>tcp-keepalive-timeout</strong></span> and
<span class="command"><strong>tcp-advertised-timeout</strong></span> options.
When called with arguments, update these values. This
allows an administrator to make rapid adjustments when
under a denial of service attack. See the descriptions of
these options in the BIND 9 Administrator Reference Manual
for details of their use.
When called with arguments, update these values. This
allows an administrator to make rapid adjustments when
under a denial of service attack. See the descriptions of
these options in the BIND 9 Administrator Reference Manual
for details of their use.
</p>
</dd>
<dt><span class="term"><strong class="userinput"><code>thaw [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
+2
View File
@@ -15,3 +15,5 @@ rm -f ns2/example.db ns2/tsigzone.db ns2/example.db.jnl ns2/named.conf
rm -f */named.memstats
rm -f */named.run
rm -f ns*/named.lock
rm -f ns*/_default.nzf
rm -f ns*/_default.nzd*
+10
View File
@@ -0,0 +1,10 @@
$TTL 300 ; 5 minutes
@ IN SOA ns root (
2000082401 ; serial
1800 ; refresh (30 minutes)
1800 ; retry (30 minutes)
1814400 ; expire (3 weeks)
3600 ; minimum (1 hour)
)
NS ns
ns A 10.53.0.3
+22
View File
@@ -0,0 +1,22 @@
options {
query-source address 10.53.0.3;
notify-source 10.53.0.3;
transfer-source 10.53.0.3;
port 5300;
pid-file "named.pid";
listen-on { 10.53.0.3; };
listen-on-v6 { none; };
recursion no;
notify no;
allow-new-zones yes;
allow-transfer { none; };
};
controls {
inet 10.53.0.3 port 9953 allow { any; } keys { rndc_key; };
};
key rndc_key {
secret "1234abcd8765";
algorithm hmac-sha256;
};
+10
View File
@@ -0,0 +1,10 @@
$TTL 300 ; 5 minutes
@ IN SOA ns root (
2000082401 ; serial
1800 ; refresh (30 minutes)
1800 ; retry (30 minutes)
1814400 ; expire (3 weeks)
3600 ; minimum (1 hour)
)
NS ns
ns A 10.53.0.4
+10
View File
@@ -0,0 +1,10 @@
$TTL 300 ; 5 minutes
@ IN SOA ns root (
2000082401 ; serial
1800 ; refresh (30 minutes)
1800 ; retry (30 minutes)
1814400 ; expire (3 weeks)
3600 ; minimum (1 hour)
)
NS ns
ns A 10.53.0.4
+27
View File
@@ -0,0 +1,27 @@
options {
query-source address 10.53.0.4;
notify-source 10.53.0.4;
transfer-source 10.53.0.4;
port 5300;
pid-file "named.pid";
listen-on { 10.53.0.4; };
listen-on-v6 { none; };
recursion no;
notify no;
allow-new-zones yes;
allow-transfer { none; };
};
controls {
inet 10.53.0.4 port 9953 allow { any; } keys { rndc_key; };
};
key rndc_key {
secret "1234abcd8765";
algorithm hmac-sha256;
};
zone "existing" {
type master;
file "existing.db";
};
+60
View File
@@ -172,5 +172,65 @@ t=`expr $t + 1`
$DIG example. soa @10.53.0.2 +subnet="192.0.2.128/32" -p 5300 > dig.out.${t}
grep "CLIENT-SUBNET.*192.0.2.128/32/24" dig.out.${t} > /dev/null || { echo "I:test $t failed" ; status=1; }
# AXFR tests against ns3
echo "I:testing allow-transfer ACLs against ns3 (no existing zones)"
echo "I:calling addzone example.com on ns3"
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone 'example.com {type master; file "example.db"; }; '
sleep 1
t=`expr $t + 1`
ret=0
echo "I:checking AXFR of example.com from ns3 with ACL allow-transfer { none; }; (${t})"
$DIG @10.53.0.3 -p 5300 example.com axfr > dig.out.${t} 2>&1
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
[ $ret -eq 0 ] || echo "I:failed"
status=`expr $status + $ret`
echo "I:calling rndc reconfig"
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reconfig
sleep 1
t=`expr $t + 1`
ret=0
echo "I:re-checking AXFR of example.com from ns3 with ACL allow-transfer { none; }; (${t})"
$DIG @10.53.0.3 -p 5300 example.com axfr > dig.out.${t} 2>&1
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
[ $ret -eq 0 ] || echo "I:failed"
status=`expr $status + $ret`
# AXFR tests against ns4
echo "I:testing allow-transfer ACLs against ns4 (1 pre-existing zone)"
echo "I:calling addzone example.com on ns4"
$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 addzone 'example.com {type master; file "example.db"; }; '
sleep 1
t=`expr $t + 1`
ret=0
echo "I:checking AXFR of example.com from ns4 with ACL allow-transfer { none; }; (${t})"
$DIG @10.53.0.4 -p 5300 example.com axfr > dig.out.${t} 2>&1
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
[ $ret -eq 0 ] || echo "I:failed"
status=`expr $status + $ret`
echo "I:calling rndc reconfig"
$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 reconfig
sleep 1
t=`expr $t + 1`
ret=0
echo "I:re-checking AXFR of example.com from ns4 with ACL allow-transfer { none; }; (${t})"
$DIG @10.53.0.4 -p 5300 example.com axfr > dig.out.${t} 2>&1
grep "Transfer failed." dig.out.${t} >/dev/null 2>&1 || ret=1
[ $ret -eq 0 ] || echo "I:failed"
status=`expr $status + $ret`
echo "I:exit status: $status"
[ $status -eq 0 ] || exit 1
+19 -6
View File
@@ -254,7 +254,7 @@ def create_response(msg):
def sigterm(signum, frame):
print ("Shutting down now...")
os.remove('ans.pid')
running = 0
running = False
sys.exit(0)
############################################################################
@@ -270,8 +270,17 @@ sock = 5300
query4_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
query4_socket.bind((ip4, sock))
query6_socket = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
query6_socket.bind((ip6, sock))
havev6 = True
try:
query6_socket = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
try:
query6_socket.bind((ip6, sock))
except:
query6_socket.close()
havev6 = False
except:
havev6 = False
ctrl_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ctrl_socket.bind((ip4, sock + 1))
@@ -284,14 +293,18 @@ pid = os.getpid()
print (pid, file=f)
f.close()
running = 1
running = True
print ("Listening on %s port %d" % (ip4, sock))
print ("Listening on %s port %d" % (ip6, sock))
if havev6:
print ("Listening on %s port %d" % (ip6, sock))
print ("Control channel on %s port %d" % (ip4, sock + 1))
print ("Ctrl-c to quit")
input = [query4_socket, query6_socket, ctrl_socket]
if havev6:
input = [query4_socket, query6_socket, ctrl_socket]
else:
input = [query4_socket, ctrl_socket]
while running:
try:
@@ -0,0 +1,11 @@
/*
* Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
options {
dnssec-lookaside . trust-anchor dlv.example.com;
};
+26 -1
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2005, 2007, 2010-2016 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2005, 2007, 2010-2017 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -135,6 +135,7 @@ done
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: checking options allowed in inline-signing slaves ($n)"
ret=0
l=`$CHECKCONF bad-dnssec.conf 2>&1 | grep "dnssec-dnskey-kskonly.*requires inline" | wc -l`
@@ -327,5 +328,29 @@ diff good.zonelist checkconf.out$n > diff.out$n || ret=1
if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: check that 'dnssec-lookaside auto;' generates a warning ($n)"
ret=0
$CHECKCONF warn-dlv-auto.conf > checkconf.out$n 2>/dev/null || ret=1
grep "dnssec-lookaside 'auto' is no longer supported" checkconf.out$n > /dev/null || ret=1
if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: check that 'dnssec-lookaside . trust-anchor dlv.isc.org;' generates a warning ($n)"
ret=0
$CHECKCONF warn-dlv-dlv.isc.org.conf > checkconf.out$n 2>/dev/null || ret=1
grep "dlv.isc.org has been shut down" checkconf.out$n > /dev/null || ret=1
if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: check that 'dnssec-lookaside . trust-anchor dlv.example.com;' doesn't generates a warning ($n)"
ret=0
$CHECKCONF good-dlv-dlv.example.com.conf > checkconf.out$n 2>/dev/null || ret=1
[ -s checkconf.out$n ] && ret=1
if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
status=`expr $status + $ret`
echo "I:exit status: $status"
[ $status -eq 0 ] || exit 1
@@ -1,8 +1,2 @@
; Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
;
; This Source Code Form is subject to the terms of the Mozilla Public
; License, v. 2.0. If a copy of the MPL was not distributed with this
; file, You can obtain one at http://mozilla.org/MPL/2.0/.
prep.example. IN DS 65482 8 1 F3673708FBADDEC3EB55933E2E393ACE85EAC2BB
prep.example. IN DS 65482 8 2 51A7C97AAC42803DA515D1CAFEE28031A5018F6345F12F4B6C1B6D20 02B59820
+13
View File
@@ -186,6 +186,19 @@ else
}
fi
#
# Useful functions in test scripts
#
# nextpart: read everything that's been appended to a file since the
# last time 'nextpart' was called.
nextpart () {
[ -f $1.prev ] || echo "0" > $1.prev
prev=`cat $1.prev`
awk "NR > $prev "'{ print }
END { print NR > "/dev/stderr" }' $1 2> $1.prev
}
#
# Export command paths
#
+16
View File
@@ -58,6 +58,8 @@ MDIG=$TOP/Build/$VSCONF/mdig@EXEEXT@
NZD2NZF=$TOP/Build/$VSCONF/named-nzd2nzf@EXEEXT@
FSTRM_CAPTURE=@FSTRM_CAPTURE@
FEATURETEST=$TOP/Build/$VSCONF/feature-test@EXEEXT@
SAMPLEUPDATE=$TOP/Build/$VSCONF/update@EXEEXT@
# to port WIRETEST=$TOP/Build/$VSCONF/wire_test@EXEEXT@
# this is given as argument to native WIN32 executables
@@ -176,6 +178,19 @@ echoinfo () {
printf "${COLOR_INFO}%s${COLOR_NONE}\n" "$*"
}
#
# Useful functions in test scripts
#
# nextpart: read everything that's been appended to a file since the
# last time 'nextpart' was called.
nextpart () {
[ -f $1.prev ] || echo "0" > $1.prev
prev=`cat $1.prev`
awk "NR > $prev "'{ print }
END { print NR > "/dev/stderr" }' $1 2> $1.prev
}
#
# Export command paths
#
@@ -211,6 +226,7 @@ export RANDFILE
export RESOLVE
export RNDC
export RRCHECKER
export SAMPLEUPDATE
export SIGNER
export SUBDIRS
export TESTSOCK6
+1 -1
View File
@@ -11,7 +11,7 @@ rm -f dsset-. ns1/dsset-.
rm -f ns*/named.lock
rm -f */managed-keys.bind* */named.secroots
rm -f */managed*.conf ns1/managed.key ns1/managed.key.id
rm -f */named.memstats */named.run
rm -f */named.memstats */named.run */named.run.prev
rm -f dig.out* delv.out* rndc.out* signer.out*
rm -f ns1/named.secroots ns1/root.db.signed* ns1/root.db.tmp
rm -f ns1/named.conf
+2 -2
View File
@@ -1,10 +1,10 @@
; Copyright (C) 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
; Copyright (C) 2015-2017 Internet Systems Consortium, Inc. ("ISC")
;
; This Source Code Form is subject to the terms of the Mozilla Public
; License, v. 2.0. If a copy of the MPL was not distributed with this
; file, You can obtain one at http://mozilla.org/MPL/2.0/.
$TTL 2
$TTL 20
. IN SOA gson.nominum.com. a.root.servers.nil. (
2000042100 ; serial
600 ; refresh
+1 -1
View File
@@ -1 +1 @@
-m record,size,mctx -T clienttest -c named.conf -d 99 -X named.lock -g -T mkeytimers=2/20/40 -T tat=1
-m record,size,mctx -T clienttest -c named.conf -d 99 -X named.lock -g -T mkeytimers=5/10/20 -T tat=1
+1 -1
View File
@@ -1 +1 @@
-m record,size,mctx -T clienttest -c named.conf -d 99 -X named.lock -g -T mkeytimers=2/20/40 -T tat=1
-m record,size,mctx -T clienttest -c named.conf -d 99 -X named.lock -g -T mkeytimers=5/10/20
+2 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2015-2017 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -23,6 +23,7 @@ options {
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "managed.conf";
trust-anchor-telemetry no;
};
key rndc_key {
+207 -109
View File
@@ -9,6 +9,78 @@
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
wait_for_log() {
msg=$1
file=$2
for i in 1 2 3 4 5 6 7 8 9 10; do
nextpart "$file" | grep "$msg" > /dev/null && return
sleep 1
done
echo "I: exceeded time limit waiting for '$msg' in $file"
ret=1
}
mkeys_reconfig_on() {
nsidx=$1
nextpart ns${nsidx}/named.run > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.${nsidx} -p 9953 reconfig . | sed "s/^/I: ns${nsidx} /"
wait_for_log "running" ns${nsidx}/named.run
}
mkeys_reload_on() {
nsidx=$1
nextpart ns${nsidx}/named.run > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.${nsidx} -p 9953 reload . | sed "s/^/I: ns${nsidx} /"
wait_for_log "loaded serial" ns${nsidx}/named.run
}
mkeys_loadkeys_on() {
nsidx=$1
nextpart ns${nsidx}/named.run > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.${nsidx} -p 9953 loadkeys . | sed "s/^/I: ns${nsidx} /"
wait_for_log "next key event" ns${nsidx}/named.run
}
mkeys_refresh_on() {
nsidx=$1
nextpart ns${nsidx}/named.run > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.${nsidx} -p 9953 managed-keys refresh | sed "s/^/I: ns${nsidx} /"
wait_for_log "Returned from key fetch in keyfetch_done()" ns${nsidx}/named.run
}
mkeys_sync_on() {
# No race with mkeys_refresh_on() is possible as even if the latter
# returns immediately after the expected log message is written, the
# managed-keys zone is already locked and the command below calls
# dns_zone_flush(), which also attempts to take that zone's lock
nsidx=$1
nextpart ns${nsidx}/named.run > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.${nsidx} -p 9953 managed-keys sync | sed "s/^/I: ns${nsidx} /"
wait_for_log "dump_done" ns${nsidx}/named.run
}
mkeys_status_on() {
# No race with mkeys_refresh_on() is possible as even if the latter
# returns immediately after the expected log message is written, the
# managed-keys zone is already locked and the command below calls
# mkey_status(), which in turn calls dns_zone_getrefreshkeytime(),
# which also attempts to take that zone's lock
nsidx=$1
$RNDC -c ../common/rndc.conf -s 10.53.0.${nsidx} -p 9953 managed-keys status
}
mkeys_flush_on() {
nsidx=$1
nextpart ns${nsidx}/named.run > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.${nsidx} -p 9953 flush | sed "s/^/I: ns${nsidx} /"
wait_for_log "flushing caches in all views succeeded" ns${nsidx}/named.run
}
mkeys_secroots_on() {
nsidx=$1
$RNDC -c ../common/rndc.conf -s 10.53.0.${nsidx} -p 9953 secroots | sed "s/^/I: ns${nsidx} /"
}
status=0
n=1
@@ -58,11 +130,9 @@ n=`expr $n + 1`
echo "I: check new trust anchor can be added ($n)"
ret=0
standby1=`$KEYGEN -a rsasha256 -qfk -r $RANDFILE -K ns1 .`
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 loadkeys . | sed 's/^/I: ns1 /'
sleep 5
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys sync | sed 's/^/I: ns2 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
mkeys_loadkeys_on 1
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
# there should be two keys listed now
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 2 ] || ret=1
@@ -81,10 +151,8 @@ status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: check new trust anchor can't be added with bad initial key ($n)"
ret=0
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 managed-keys refresh | sed 's/^/I: ns3 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 managed-keys sync | sed 's/^/I: ns3 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 managed-keys status > rndc.out.$n 2>&1
mkeys_refresh_on 3
mkeys_status_on 3 > rndc.out.$n 2>&1
# there should be one key listed now
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 1 ] || ret=1
@@ -100,14 +168,17 @@ status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: remove untrusted standby key, check timer restarts ($n)"
ret=0
$SETTIME -D now -K ns1 $standby1 > /dev/null
mkeys_sync_on 2
t1=`grep "trust pending" ns2/managed-keys.bind`
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 loadkeys . | sed 's/^/I: ns1 /'
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys sync | sed 's/^/I: ns2 /'
$SETTIME -D now -K ns1 $standby1 > /dev/null
mkeys_loadkeys_on 1
# Less than a second may have passed since the last time ns2 received a
# ./DNSKEY response from ns1. Ensure keys are refreshed at a different
# timestamp to prevent false negatives caused by the acceptance timer getting
# reset to the same timestamp.
sleep 1
mkeys_refresh_on 2
mkeys_sync_on 2
t2=`grep "trust pending" ns2/managed-keys.bind`
# trust pending date must be different
[ -n "$t2" ] || ret=1
@@ -121,12 +192,15 @@ echo "I: restore untrusted standby key, revoke original key ($n)"
t1=$t2
$SETTIME -D none -K ns1 $standby1 > /dev/null
$SETTIME -R now -K ns1 `cat ns1/managed.key` > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 loadkeys . | sed 's/^/I: ns1 /'
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
mkeys_loadkeys_on 1
# Less than a second may have passed since the last time ns2 received a
# ./DNSKEY response from ns1. Ensure keys are refreshed at a different
# timestamp to prevent false negatives caused by the acceptance timer getting
# reset to the same timestamp.
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys sync | sed 's/^/I: ns2 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
mkeys_refresh_on 2
mkeys_sync_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
# two keys listed
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 2 ] || ret=1
@@ -153,10 +227,14 @@ n=`expr $n + 1`
ret=0
echo "I: refresh managed-keys, ensure same result ($n)"
t1=$t2
sleep 2
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys sync | sed 's/^/I: ns2 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
# Less than a second may have passed since the last time ns2 received a
# ./DNSKEY response from ns1. Ensure keys are refreshed at a different
# timestamp to prevent false negatives caused by the acceptance timer getting
# reset to the same timestamp.
sleep 1
mkeys_refresh_on 2
mkeys_sync_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
# two keys listed
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 2 ] || ret=1
@@ -184,15 +262,17 @@ ret=0
echo "I: restore revoked key, ensure same result ($n)"
t1=$t2
$SETTIME -R none -D now -K ns1 `cat ns1/managed.key` > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 loadkeys . | sed 's/^/I: ns1 /'
sleep 3
mkeys_loadkeys_on 1
$SETTIME -D none -K ns1 `cat ns1/managed.key` > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 loadkeys . | sed 's/^/I: ns1 /'
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
mkeys_loadkeys_on 1
# Less than a second may have passed since the last time ns2 received a
# ./DNSKEY response from ns1. Ensure keys are refreshed at a different
# timestamp to prevent false negatives caused by the acceptance timer getting
# reset to the same timestamp.
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys sync | sed 's/^/I: ns2 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
mkeys_refresh_on 2
mkeys_sync_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
# two keys listed
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 2 ] || ret=1
@@ -229,14 +309,14 @@ managed-keys {
};
EOF
' > ns2/managed.conf
nextpart ns2/named.run > /dev/null
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns2
n=`expr $n + 1`
echo "I: check that no key from bind.keys is marked as an initializing key ($n)"
ret=0
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 secroots | sed 's/^/I: ns2 /'
sleep 1
wait_for_log "Returned from key fetch in keyfetch_done()" ns2/named.run
mkeys_secroots_on 2
grep '; initializing' ns2/named.secroots > /dev/null 2>&1 && ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
@@ -245,14 +325,14 @@ echo "I: reinitialize trust anchors, revert to one key in bind.keys"
$PERL $SYSTEMTESTTOP/stop.pl --use-rndc . ns2
rm -f ns2/managed-keys.bind*
mv ns2/managed1.conf ns2/managed.conf
nextpart ns2/named.run > /dev/null
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns2
n=`expr $n + 1`
echo "I: check that standby key is now trusted ($n)"
ret=0
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys sync | sed 's/^/I: ns2 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
wait_for_log "Returned from key fetch in keyfetch_done()" ns2/named.run
mkeys_status_on 2 > rndc.out.$n 2>&1
# two keys listed
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 2 ] || ret=1
@@ -270,12 +350,9 @@ echo "I: revoke original key, add new standby ($n)"
ret=0
standby2=`$KEYGEN -a rsasha256 -qfk -r $RANDFILE -K ns1 .`
$SETTIME -R now -K ns1 `cat ns1/managed.key` > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 loadkeys . | sed 's/^/I: ns1 /'
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys sync | sed 's/^/I: ns2 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
mkeys_loadkeys_on 1
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
# three keys listed
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 3 ] || ret=1
@@ -304,11 +381,9 @@ n=`expr $n + 1`
echo "I: revoke standby before it is trusted ($n)"
ret=0
standby3=`$KEYGEN -a rsasha256 -qfk -r $RANDFILE -K ns1 .`
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 loadkeys . | sed 's/^/I: ns1 /'
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.a.$n 2>&1
mkeys_loadkeys_on 1
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.a.$n 2>&1
# four keys listed
count=`grep -c "keyid: " rndc.out.a.$n`
[ "$count" -eq 4 ] || { echo "keyid: count ($count) != 4"; ret=1; }
@@ -319,11 +394,9 @@ count=`grep -c "trust revoked" rndc.out.a.$n`
count=`grep -c "trust pending" rndc.out.a.$n`
[ "$count" -eq 2 ] || { echo "trust pending count ($count) != 2"; ret=1; }
$SETTIME -R now -K ns1 $standby3 > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 loadkeys . | sed 's/^/I: ns1 /'
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.b.$n 2>&1
mkeys_loadkeys_on 1
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.b.$n 2>&1
# now three keys listed
count=`grep -c "keyid: " rndc.out.b.$n`
[ "$count" -eq 3 ] || { echo "keyid: count ($count) != 3"; ret=1; }
@@ -334,18 +407,16 @@ count=`grep -c "trust revoked" rndc.out.b.$n`
count=`grep -c "trust pending" rndc.out.b.$n`
[ "$count" -eq 1 ] || { echo "trust pending count ($count) != 1"; ret=1; }
$SETTIME -D now -K ns1 $standby3 > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 loadkeys . | sed 's/^/I: ns1 /'
mkeys_loadkeys_on 1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: wait 30 seconds for key add/remove holddowns to expire ($n)"
echo "I: wait 20 seconds for key add/remove holddowns to expire ($n)"
ret=0
sleep 30
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys sync | sed 's/^/I: ns2 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
sleep 20
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
# two keys listed
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 2 ] || ret=1
@@ -367,12 +438,9 @@ ret=0
$SETTIME -D now -K ns1 `cat ns1/managed.key` > /dev/null
$SETTIME -R now -K ns1 $standby1 > /dev/null
$SETTIME -R now -K ns1 $standby2 > /dev/null
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 loadkeys . | sed 's/^/I: ns1 /'
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys sync | sed 's/^/I: ns2 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
mkeys_loadkeys_on 1
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
# two keys listed
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 2 ] || ret=1
@@ -394,8 +462,10 @@ status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: check for insecure response ($n)"
ret=0
mkeys_refresh_on 2
$DIG $DIGOPTS +noauth example. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns2.test$n > /dev/null && ret=1
grep "example..*.RRSIG..*TXT" dig.out.ns2.test$n > /dev/null || ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
@@ -407,16 +477,18 @@ $SETTIME -D now -K ns1 $standby2 > /dev/null
$SIGNER -Sg -K ns1 -N unixtime -r $RANDFILE -o . ns1/root.db > /dev/null 2>&-
cp ns1/named2.conf ns1/named.conf
rm -f ns1/root.db.signed.jnl
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reconfig
mkeys_reconfig_on 1
echo "I: reinitialize trust anchors"
$PERL $SYSTEMTESTTOP/stop.pl --use-rndc . ns2
rm -f ns2/managed-keys.bind*
nextpart ns2/named.run > /dev/null
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns2
n=`expr $n + 1`
echo "I: check positive validation ($n)"
ret=0
wait_for_log "Returned from key fetch in keyfetch_done()" ns2/named.run
$DIG $DIGOPTS +noauth example. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns2.test$n > /dev/null || ret=1
grep "example..*.RRSIG..*TXT" dig.out.ns2.test$n > /dev/null || ret=1
@@ -430,17 +502,25 @@ orig=`cat ns1/managed.key`
keyid=`cat ns1/managed.key.id`
revoked=`$REVOKE -K ns1 $orig`
rkeyid=`expr $revoked : 'ns1/K\.+00.+0*\([1-9]*[0-9]*[0-9]\)'`
rm -f ns1/root.db.signed.jnl
# We need to activate at least one valid DNSKEY to prevent dnssec-signzone from
# failing. Alternatively, we could use -P to disable post-sign verification,
# but we actually do want post-sign verification to happen to ensure the zone
# is correct before we break it on purpose.
$SETTIME -R none -D none -K ns1 $standby1 > /dev/null
$SIGNER -Sg -K ns1 -N unixtime -r $RANDFILE -O full -o . -f signer.out.$n ns1/root.db > /dev/null 2>&-
cp -f ns1/root.db.signed ns1/root.db.tmp
BADSIG="SVn2tLDzpNX2rxR4xRceiCsiTqcWNKh7NQ0EQfCrVzp9WEmLw60sQ5kP xGk4FS/xSKfh89hO2O/H20Bzp0lMdtr2tKy8IMdU/mBZxQf2PXhUWRkg V2buVBKugTiOPTJSnaqYCN3rSfV1o7NtC1VNHKKK/D5g6bpDehdn5Gaq kpBhN+MSCCh9OZP2IT20luS1ARXxLlvuSVXJ3JYuuhTsQXUbX/SQpNoB Lo6ahCE55szJnmAxZEbb2KOVnSlZRA6ZBHDhdtO0S4OkvcmTutvcVV+7 w53CbKdaXhirvHIh0mZXmYk2PbPLDY7PU9wSH40UiWPOB9f00wwn6hUe uEQ1Qg=="
sed -e "/ $rkeyid \./s, \. .*$, . $BADSIG," signer.out.$n > ns1/root.db.signed
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload . | sed 's/^/I: ns1 /'
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
# Less than a second may have passed since ns1 was started. If we call
# dnssec-signzone immediately, ns1/root.db.signed will not be reloaded by the
# subsequent "rndc reload ." call on platforms which do not set the
# "nanoseconds" field of isc_time_t, due to zone load time being seemingly
# equal to master file modification time.
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys sync | sed 's/^/I: ns2 /'
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
sed -e "/ $rkeyid \./s, \. .*$, . $BADSIG," signer.out.$n > ns1/root.db.signed
mkeys_reload_on 1
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
# one key listed
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 1 ] || { echo "'keyid:' count ($count) != 1"; ret=1; }
@@ -461,6 +541,7 @@ status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: check validation fails with bad DNSKEY rrset ($n)"
ret=0
mkeys_flush_on 2
$DIG $DIGOPTS +noauth example. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "status: SERVFAIL" dig.out.ns2.test$n > /dev/null || ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
@@ -470,17 +551,18 @@ n=`expr $n + 1`
echo "I: restore DNSKEY rrset, check validation succeeds again ($n)"
ret=0
rm -f ${revoked}.key ${revoked}.private
rm -f ns1/root.db.signed.jnl
$SETTIME -D none -R none -K ns1 `cat ns1/managed.key` > /dev/null
$SETTIME -D now -K ns1 $standby1 > /dev/null
$SETTIME -D now -K ns1 $standby2 > /dev/null
# Less than a second may have passed since ns1 was started. If we call
# dnssec-signzone immediately, ns1/root.db.signed will not be reloaded by the
# subsequent "rndc reload ." call on platforms which do not set the
# "nanoseconds" field of isc_time_t, due to zone load time being seemingly
# equal to master file modification time.
sleep 1
$SIGNER -Sg -K ns1 -N unixtime -r $RANDFILE -o . ns1/root.db > /dev/null 2>&-
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload . | sed 's/^/I: ns1 /'
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 flush | sed 's/^/I: ns1 /'
mkeys_reload_on 1
mkeys_flush_on 2
$DIG $DIGOPTS +noauth example. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns2.test$n > /dev/null || ret=1
grep "example..*.RRSIG..*TXT" dig.out.ns2.test$n > /dev/null || ret=1
@@ -489,15 +571,24 @@ status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: reset the root server with no keys, check for minimal update ($n)"
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
ret=0
# Refresh keys first to prevent previous checks from influencing this one.
# Note that we might still get occasional false negatives on some really slow
# machines, when $t1 equals $t2 due to the time elapsed between "rndc
# managed-keys status" calls being equal to the normal active refresh period
# (as calculated per rules listed in RFC 5011 section 2.3) minus an "hour" (as
# set using -T mkeytimers).
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
t1=`grep 'next refresh:' rndc.out.$n`
$PERL $SYSTEMTESTTOP/stop.pl --use-rndc . ns1
rm -f ns1/root.db.signed.jnl
cp ns1/root.db ns1/root.db.signed
nextpart ns1/named.run > /dev/null
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns1
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
wait_for_log "loaded serial" ns1/named.run
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
# one key listed
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 1 ] || ret=1
@@ -519,14 +610,23 @@ status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: reset the root server with no signatures, check for minimal update ($n)"
t2=$t1
ret=0
# Refresh keys first to prevent previous checks from influencing this one
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
t1=`grep 'next refresh:' rndc.out.$n`
$PERL $SYSTEMTESTTOP/stop.pl --use-rndc . ns1
rm -f ns1/root.db.signed.jnl
cat ns1/K*.key >> ns1/root.db.signed
nextpart ns1/named.run > /dev/null
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns1
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
wait_for_log "loaded serial" ns1/named.run
# Less than a second may have passed since the last time ns2 received a
# ./DNSKEY response from ns1. Ensure keys are refreshed at a different
# timestamp to prevent minimal update from resetting it to the same timestamp.
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
# one key listed
count=`grep -c "keyid: " rndc.out.$n`
[ "$count" -eq 1 ] || ret=1
@@ -548,13 +648,12 @@ status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: restore root server, check validation succeeds again ($n)"
ret=0
rm -f ns1/root.db.signed.jnl
$SIGNER -Sg -K ns1 -N unixtime -r $RANDFILE -o . ns1/root.db > /dev/null 2>&-
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload . | sed 's/^/I: ns1 /'
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys refresh | sed 's/^/I: ns2 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
mkeys_reload_on 1
mkeys_refresh_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
$DIG $DIGOPTS +noauth example. @10.53.0.2 txt > dig.out.ns2.test$n || ret=1
grep "flags:.*ad.*QUERY" dig.out.ns2.test$n > /dev/null || ret=1
grep "example..*.RRSIG..*TXT" dig.out.ns2.test$n > /dev/null || ret=1
@@ -579,12 +678,10 @@ n=`expr $n + 1`
echo "I: check 'rndc-managed-keys destroy' ($n)"
ret=0
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys destroy | sed 's/^/I: ns2 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
mkeys_status_on 2 > rndc.out.$n 2>&1
grep "no views with managed keys" rndc.out.$n > /dev/null || ret=1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reconfig | sed 's/^/I: ns2 /'
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 managed-keys status > rndc.out.$n 2>&1
mkeys_reconfig_on 2
mkeys_status_on 2 > rndc.out.$n 2>&1
grep "name: \." rndc.out.$n > /dev/null || ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
@@ -604,7 +701,7 @@ status=`expr $status + $ret`
n=`expr $n + 1`
echo "I: check initialization fails if managed-keys can't be created ($n)"
ret=0
$RNDC -c ../common/rndc.conf -s 10.53.0.4 -p 9953 secroots | sed 's/^/I: ns4 /'
mkeys_secroots_on 4
grep '; initializing managed' ns4/named.secroots > /dev/null 2>&1 || ret=1
grep '; managed' ns4/named.secroots > /dev/null 2>&1 && ret=1
grep '; trusted' ns4/named.secroots > /dev/null 2>&1 && ret=1
@@ -621,8 +718,9 @@ ret=0
# key refresh failure instead of just a few seconds, in order to prevent races
# between the next scheduled key refresh time and startup time of restarted ns5.
$PERL $SYSTEMTESTTOP/stop.pl --use-rndc . ns5
nextpart ns5/named.run > /dev/null
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns5
sleep 2
wait_for_log "Returned from key fetch in keyfetch_done()" ns5/named.run
# ns5/named.run will contain logs from both the old instance and the new
# instance. In order for the test to pass, both must attempt a fetch.
count=`grep -c "Creating key fetch" ns5/named.run`
@@ -635,14 +733,14 @@ echo "I: check key refreshes are resumed after root servers become available ($n
ret=0
$PERL $SYSTEMTESTTOP/stop.pl --use-rndc . ns5
# Prevent previous check from affecting this one
rm -f ns2/managed-keys.bind*
rm -f ns5/managed-keys.bind*
# named2.args adds "-T mkeytimers=2/20/40" to named1.args as we need to wait for
# an "hour" until keys are refreshed again after initial failure
cp ns5/named2.args ns5/named.args
nextpart ns5/named.run > /dev/null
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns5
sleep 2
$RNDC -c ../common/rndc.conf -s 10.53.0.5 -p 9953 secroots | sed 's/^/I: ns4 /'
sleep 1
wait_for_log "Returned from key fetch in keyfetch_done()" ns5/named.run
mkeys_secroots_on 5
grep '; initializing managed' ns5/named.secroots > /dev/null 2>&1 || ret=1
# ns1 should still REFUSE queries from ns5, so resolving should be impossible
$DIG $DIGOPTS +noauth example. @10.53.0.5 txt > dig.out.ns5.a.test$n || ret=1
@@ -652,10 +750,10 @@ grep "status: SERVFAIL" dig.out.ns5.a.test$n > /dev/null || ret=1
# Allow queries from ns5 to ns1
cp ns1/named3.conf ns1/named.conf
rm -f ns1/root.db.signed.jnl
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reconfig
sleep 3
$RNDC -c ../common/rndc.conf -s 10.53.0.5 -p 9953 secroots | sed 's/^/I: ns4 /'
sleep 1
mkeys_reconfig_on 1
nextpart ns5/named.run > /dev/null
wait_for_log "Returned from key fetch in keyfetch_done()" ns5/named.run
mkeys_secroots_on 5
grep '; managed' ns5/named.secroots > /dev/null 2>&1 || ret=1
# ns1 should not longer REFUSE queries from ns5, so managed keys should be
# correctly refreshed and resolving should succeed
+2
View File
@@ -53,6 +53,7 @@ view "b" {
type slave;
masters { 10.53.0.5 key "a"; };
file "x21.bk-b";
notify no;
};
};
@@ -62,5 +63,6 @@ view "c" {
type slave;
masters { 10.53.0.5 key "a"; };
file "x21.bk-c";
notify no;
};
};
+70 -60
View File
@@ -278,7 +278,7 @@ sleep 10
if
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns1
then
echo "I:restarted server ns1"
echo "I:restarted server ns1"
else
echo "I:could not restart server ns1"
exit 1
@@ -709,8 +709,12 @@ size=`$PERL -e 'use File::stat; my $sb = stat(@ARGV[0]); printf("%s\n", $sb->siz
[ "$size" -gt 6000 ] || ret=1
sleep 1
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 sync maxjournal.test
sleep 1
for i in 1 2 3 4 5 6
do
sleep 1
size=`$PERL -e 'use File::stat; my $sb = stat(@ARGV[0]); printf("%s\n", $sb->size);' ns1/maxjournal.db.jnl`
[ "$size" -lt 5000 ] && break
done
size=`$PERL -e 'use File::stat; my $sb = stat(@ARGV[0]); printf("%s\n", $sb->size);' ns1/maxjournal.db.jnl`
[ "$size" -lt 5000 ] || ret=1
[ $ret = 0 ] || { echo I:failed; status=1; }
@@ -885,75 +889,81 @@ grep "address family not supported" nsupdate.out-$n > /dev/null 2>&1 || ret=1
#
# Add client library tests here
#
n=`expr $n + 1`
ret=0
echo "I:check that dns_client_update handles prerequisite NXDOMAIN failure ($n)"
$SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "nxdomain exists.sample" \
if test unset != "${SAMPLEUPDATE:-unset}" -a -x "${SAMPLEUPDATE}"
then
n=`expr $n + 1`
ret=0
echo "I:check that dns_client_update handles prerequisite NXDOMAIN failure ($n)"
$SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "nxdomain exists.sample" \
add "nxdomain-exists.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1
$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "nxdomain exists.sample" \
$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "nxdomain exists.sample" \
add "check-nxdomain-exists.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1
$DIG +tcp @10.53.0.1 -p 5300 a nxdomain-exists.sample > dig.out.ns1.test$n
$DIG +tcp @10.53.0.2 -p 5300 a nxdomain-exists.sample > dig.out.ns2.test$n
$DIG +tcp @10.53.0.2 -p 5300 a check-nxdomain-exists.sample > check.out.ns2.test$n
grep "update failed: YXDOMAIN" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
[ $ret = 0 ] || { echo I:failed; status=1; }
$DIG +tcp @10.53.0.1 -p 5300 a nxdomain-exists.sample > dig.out.ns1.test$n
$DIG +tcp @10.53.0.2 -p 5300 a nxdomain-exists.sample > dig.out.ns2.test$n
$DIG +tcp @10.53.0.2 -p 5300 a check-nxdomain-exists.sample > check.out.ns2.test$n
grep "update failed: YXDOMAIN" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
[ $ret = 0 ] || { echo I:failed; status=1; }
n=`expr $n + 1`
ret=0
echo "I:check that dns_client_update handles prerequisite YXDOMAIN failure ($n)"
$SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "yxdomain nxdomain.sample" \
n=`expr $n + 1`
ret=0
echo "I:check that dns_client_update handles prerequisite YXDOMAIN failure ($n)"
$SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "yxdomain nxdomain.sample" \
add "yxdomain-nxdomain.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1
$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "yxdomain nxdomain.sample" \
$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "yxdomain nxdomain.sample" \
add "check-yxdomain-nxdomain.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1
$DIG +tcp @10.53.0.1 -p 5300 a nxdomain-exists.sample > dig.out.ns1.test$n
$DIG +tcp @10.53.0.2 -p 5300 a nxdomain-exists.sample > dig.out.ns2.test$n
$DIG +tcp @10.53.0.2 -p 5300 a check-nxdomain-exists.sample > check.out.ns2.test$n
grep "update failed: NXDOMAIN" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
[ $ret = 0 ] || { echo I:failed; status=1; }
$DIG +tcp @10.53.0.1 -p 5300 a nxdomain-exists.sample > dig.out.ns1.test$n
$DIG +tcp @10.53.0.2 -p 5300 a nxdomain-exists.sample > dig.out.ns2.test$n
$DIG +tcp @10.53.0.2 -p 5300 a check-nxdomain-exists.sample > check.out.ns2.test$n
grep "update failed: NXDOMAIN" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
[ $ret = 0 ] || { echo I:failed; status=1; }
n=`expr $n + 1`
ret=0
echo "I:check that dns_client_update handles prerequisite NXRRSET failure ($n)"
$SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \
n=`expr $n + 1`
ret=0
echo "I:check that dns_client_update handles prerequisite NXRRSET failure ($n)"
$SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \
add "nxrrset-exists.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1
$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \
$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \
add "check-nxrrset-exists.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1
$DIG +tcp @10.53.0.1 -p 5300 a nxrrset-exists.sample > dig.out.ns1.test$n
$DIG +tcp @10.53.0.2 -p 5300 a nxrrset-exists.sample > dig.out.ns2.test$n
$DIG +tcp @10.53.0.2 -p 5300 a check-nxrrset-exists.sample > check.out.ns2.test$n
grep "update failed: YXRRSET" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
[ $ret = 0 ] || { echo I:failed; status=1; }
$DIG +tcp @10.53.0.1 -p 5300 a nxrrset-exists.sample > dig.out.ns1.test$n
$DIG +tcp @10.53.0.2 -p 5300 a nxrrset-exists.sample > dig.out.ns2.test$n
$DIG +tcp @10.53.0.2 -p 5300 a check-nxrrset-exists.sample > check.out.ns2.test$n
grep "update failed: YXRRSET" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
[ $ret = 0 ] || { echo I:failed; status=1; }
n=`expr $n + 1`
ret=0
echo "I:check that dns_client_update handles prerequisite YXRRSET failure ($n)"
$SAMPLEUPDATE -s -P 5300 -a 10.53.0.1 -a 10.53.0.2 \
n=`expr $n + 1`
ret=0
echo "I:check that dns_client_update handles prerequisite YXRRSET failure ($n)"
$SAMPLEUPDATE -s -P 5300 -a 10.53.0.1 -a 10.53.0.2 \
-p "yxrrset no-txt.sample TXT" \
add "yxrrset-nxrrset.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1
$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "yxrrset no-txt.sample TXT" \
$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "yxrrset no-txt.sample TXT" \
add "check-yxrrset-nxrrset.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1
$DIG +tcp @10.53.0.1 -p 5300 a yxrrset-nxrrset.sample > dig.out.ns1.test$n
$DIG +tcp @10.53.0.2 -p 5300 a yxrrset-nxrrset.sample > dig.out.ns2.test$n
$DIG +tcp @10.53.0.2 -p 5300 a check-yxrrset-nxrrset.sample > check.out.ns2.test$n
grep "update failed: NXRRSET" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
grep "2nd update failed: NXRRSET" update.out.test$n > /dev/null || ret=1
[ $ret = 0 ] || { echo I:failed; status=1; }
$DIG +tcp @10.53.0.1 -p 5300 a yxrrset-nxrrset.sample > dig.out.ns1.test$n
$DIG +tcp @10.53.0.2 -p 5300 a yxrrset-nxrrset.sample > dig.out.ns2.test$n
$DIG +tcp @10.53.0.2 -p 5300 a check-yxrrset-nxrrset.sample > check.out.ns2.test$n
grep "update failed: NXRRSET" update.out.test$n > /dev/null || ret=1
grep "update succeeded" update.out.check$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1
grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1
grep "2nd update failed: NXRRSET" update.out.test$n > /dev/null || ret=1
[ $ret = 0 ] || { echo I:failed; status=1; }
fi
#
# End client library tests here
+7 -1
View File
@@ -14,4 +14,10 @@ $SHELL clean.sh
cp ns2/named1.conf ns2/named.conf
mkdir ns2/nope
chmod 555 ns2/nope
if [ 1 = "${CYGWIN:-0}" ]
then
setfacl -s user::r-x,group::r-x,other::r-x ns2/nope
else
chmod 555 ns2/nope
fi
-9
View File
@@ -16,15 +16,6 @@ rm -f dig.out.*
DIGOPTS="+tcp +noadd +nosea +nostat +nocmd -p 5300"
# read everything that's been appended to a file since the last time
# 'nextpart' was called.
nextpart () {
[ -f $1.prev ] || echo "0" > $1.prev
prev=`cat $1.prev`
awk "FNR > $prev "'{ print }
END { print NR > "/dev/stderr" }' $1 2> $1.prev
}
echo "I:checking DNSSEC SERVFAIL is cached ($n)"
ret=0
$DIG $DIGOPTS +dnssec foo.example. a @10.53.0.5 > dig.out.ns5.test$n || ret=1
+3
View File
@@ -535,6 +535,9 @@ int sigwait(const unsigned int *set, int *sig);
/* Define to the sockaddr length type used by getnameinfo(3). */
#undef IRS_GETNAMEINFO_SOCKLEN_T
/* Define if you want to use inline buffers */
#undef ISC_BUFFER_USEINLINE
/* Define to allow building of objects for dlopen(). */
#undef ISC_DLZ_DLOPEN
Vendored
+228 -170
View File
@@ -980,6 +980,7 @@ with_gnu_ld
with_sysroot
enable_libtool_lock
enable_libbind
enable_buffer_useinline
enable_warn_shadow
enable_warn_error
enable_developer
@@ -1685,11 +1686,14 @@ Optional Features:
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-libbind deprecated
--enable-warn-shadow turn on -Wshadow when compiling
--enable-warn-error turn on -Werror when compiling
--enable-libbind deprecated
--enable-buffer-useinline
define ISC_BUFFER_USEINLINE when compiling
[default=yes]
--enable-warn-shadow turn on -Wshadow when compiling
--enable-warn-error turn on -Werror when compiling
--enable-developer enable developer build settings
--enable-afl enable American Fuzzy Lop test harness [default=no]
--enable-afl enable American Fuzzy Lop test harness [default=no]
--enable-seccomp enable support for libseccomp system call filtering
[default=no]
--enable-kqueue use BSD kqueue when available [default=yes]
@@ -1701,26 +1705,27 @@ Optional Features:
check OpenSSL version [default=yes]
--enable-openssl-hash use OpenSSL for hash functions [default=yes]
--enable-crypto-rand use the crypto provider for random [default=yes]
--enable-largefile 64-bit file support
--enable-largefile 64-bit file support
--enable-backtrace log stack backtrace on abort [default=yes]
--enable-symtable use internal symbol table for backtrace
[all|minimal(default)|none]
--enable-ipv6 use IPv6 default=autodetect
[all|minimal(default)|none]
--enable-ipv6 use IPv6 [default=autodetect]
--disable-tcp-fastopen disable TCP Fast Open support [default=autodetect]
--enable-getifaddrs enable the use of getifaddrs() [yes|no].
--disable-isc-spnego use SPNEGO from GSSAPI library
--disable-chroot disable chroot
--disable-linux-caps disable linux capabilities
--enable-atomic enable machine specific atomic operations
[default=autodetect]
--disable-linux-caps disable linux capabilities
--enable-atomic enable machine specific atomic operations
[default=autodetect]
--enable-fixed-rrset enable fixed rrset ordering [default=no]
--disable-rpz-nsip disable rpz nsip rules [default=enabled]
--disable-rpz-nsdname disable rpz nsdname rules [default=enabled]
--enable-dnsrps-dl DNS Response Policy Service delayed link [default=$librpz_dl]
--disable-rpz-nsip disable rpz nsip rules [default=enabled]
--disable-rpz-nsdname disable rpz nsdname rules [default=enabled]
--enable-dnsrps-dl DNS Response Policy Service delayed link
[default=$librpz_dl]
--enable-dnsrps enable DNS Response Policy Service API
--enable-dnstap enable dnstap support (requires fstrm, protobuf-c)
--enable-querytrace enable very verbose query trace logging [default=no]
--enable-full-report report values of all configure options
--enable-full-report report values of all configure options
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -1734,54 +1739,60 @@ Optional Packages:
--with-python-install-dir=PATH
installation directory for Python modules
--with-geoip=PATH Build with GeoIP support (yes|no|path)
--with-gssapi=[PATH|[/path/]krb5-config] Specify path for system-supplied GSSAPI [default=yes]
--with-gssapi=PATH|/path/krb5-config
Specify path for system-supplied GSSAPI
[default=yes]
--with-randomdev=PATH Specify path for random device
--with-locktype=ARG Specify mutex lock type (adaptive or standard)
--with-libtool use GNU libtool
--with-openssl=PATH Build with OpenSSL yes|no|path.
(Crypto is required for DNSSEC)
--with-pkcs11=PATH Build with PKCS11 support yes|no|path
(PATH is for the PKCS11 provider)
--with-openssl=PATH Build with OpenSSL [yes|no|path]. (Crypto is
required for DNSSEC)
--with-pkcs11=PATH Build with PKCS11 support [yes|no|path] (PATH is for
the PKCS11 provider)
--with-ecdsa Crypto ECDSA
--with-gost Crypto GOST yes|no|raw|asn1.
--with-eddsa Crypto EDDSA yes|all|no.
--with-gost Crypto GOST [yes|no|raw|asn1].
--with-eddsa Crypto EDDSA [yes|all|no].
--with-aes Crypto AES
--with-cc-alg=ALG choose the algorithm for Client Cookie [aes|sha1|sha256]
--with-lmdb=PATH build with LMDB library yes|no|path
--with-libxml2=PATH build with libxml2 library yes|no|path
--with-libjson=PATH build with libjson0 library yes|no|path
--with-cc-alg=ALG choose the algorithm for Client Cookie
[aes|sha1|sha256]
--with-lmdb=PATH build with LMDB library [yes|no|path]
--with-libxml2=PATH build with libxml2 library [yes|no|path]
--with-libjson=PATH build with libjson0 library [yes|no|path]
--with-zlib=PATH build with zlib for HTTP compression [default=yes]
--with-purify=PATH use Rational purify
--with-gperftools-profiler use gperftools CPU profiler
--with-kame=PATH use Kame IPv6 default path /usr/local/v6
--with-readline=LIBSPEC specify readline library default auto
--with-gperftools-profiler
use gperftools CPU profiler
--with-kame=PATH use Kame IPv6 [default path /usr/local/v6]
--with-readline=LIBSPEC specify readline library [default auto]
--with-dnsrps-libname DNSRPS provider library name (librpz.so)
--with-dnsrps-dir path to DNSRPS provider library
--with-dnsrps-libname DNSRPS provider library name (librpz.so)
--with-dnsrps-dir path to DNSRPS provider library
--with-protobuf-c=path Path where protobuf-c is installed, for dnstap
--with-libfstrm=path Path where libfstrm is installed, for dnstap
--with-docbook-xsl=PATH specify path for Docbook-XSL stylesheets
--with-idn=MPREFIX enable IDN support using idnkit default PREFIX
--with-libiconv=IPREFIX GNU libiconv are in IPREFIX default PREFIX
--with-iconv=LIBSPEC specify iconv library default -liconv
--with-idn=MPREFIX enable IDN support using idnkit [default PREFIX]
--with-libiconv=IPREFIX GNU libiconv are in IPREFIX [default PREFIX]
--with-iconv=LIBSPEC specify iconv library [default -liconv]
--with-idnlib=ARG specify libidnkit
--with-atf=ARG support Automated Test Framework
--with-atf support Automated Test Framework
--with-tuning=ARG Specify server tuning (large or default)
--with-dlopen=ARG support dynamically loadable DLZ drivers
--with-dlz-postgres=PATH Build with Postgres DLZ driver yes|no|path.
(Required to use Postgres with DLZ)
--with-dlz-mysql=PATH Build with MySQL DLZ driver yes|no|path.
(Required to use MySQL with DLZ)
--with-dlz-bdb=PATH Build with Berkeley DB DLZ driver yes|no|path.
(Required to use Berkeley DB with DLZ)
--with-dlz-filesystem=ARG Build with filesystem DLZ driver yes|no.
(Required to use file system driver with DLZ)
--with-dlz-ldap=PATH Build with LDAP DLZ driver yes|no|path.
(Required to use LDAP with DLZ)
--with-dlz-odbc=PATH Build with ODBC DLZ driver yes|no|path.
(Required to use ODBC with DLZ)
--with-dlz-stub=ARG Build with stub DLZ driver yes|no.
(Required to use stub driver with DLZ)
--with-dlz-postgres=PATH
Build with Postgres DLZ driver [yes|no|path].
(Required to use Postgres with DLZ)
--with-dlz-mysql=PATH Build with MySQL DLZ driver [yes|no|path]. (Required
to use MySQL with DLZ)
--with-dlz-bdb=PATH Build with Berkeley DB DLZ driver [yes|no|path].
(Required to use Berkeley DB with DLZ)
--with-dlz-filesystem=ARG
Build with filesystem DLZ driver [yes|no]. (Required
to use file system driver with DLZ)
--with-dlz-ldap=PATH Build with LDAP DLZ driver [yes|no|path]. (Required
to use LDAP with DLZ)
--with-dlz-odbc=PATH Build with ODBC DLZ driver [yes|no|path]. (Required
to use ODBC with DLZ)
--with-dlz-stub=ARG Build with stub DLZ driver [yes|no]. (Required to
use stub driver with DLZ)
--with-make-clean run "make clean" at end of configure [yes|no]
Some influential environment variables:
@@ -11444,6 +11455,20 @@ It is available from http://www.isc.org as a separate download." "$LINENO" 5
;;
esac
# Check whether --enable-buffer_useinline was given.
if test "${enable_buffer_useinline+set}" = set; then :
enableval=$enable_buffer_useinline; if test yes = "${enable}"
then
$as_echo "#define ISC_BUFFER_USEINLINE 1" >>confdefs.h
fi
else
$as_echo "#define ISC_BUFFER_USEINLINE 1" >>confdefs.h
fi
# Check whether --enable-warn_shadow was given.
if test "${enable_warn_shadow+set}" = set; then :
enableval=$enable_warn_shadow;
@@ -11925,24 +11950,24 @@ $as_echo_n "checking python2 version >= 2.7 or python3 version >= 3.2... " >&6;
if ${PYTHON:-false} -c "$testminvers"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
$as_echo "found" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
$as_echo "not found" >&6; }
unset ac_cv_path_PYTHON
unset PYTHON
continue
unset ac_cv_path_PYTHON
unset PYTHON
continue
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking python module 'argparse'" >&5
$as_echo_n "checking python module 'argparse'... " >&6; }
if ${PYTHON:-false} -c "$testargparse"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
$as_echo "found" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
$as_echo "not found" >&6; }
unset ac_cv_path_PYTHON
unset PYTHON
continue
unset ac_cv_path_PYTHON
unset PYTHON
continue
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking python module 'ply'" >&5
@@ -11951,11 +11976,11 @@ $as_echo_n "checking python module 'ply'... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
$as_echo "found" >&6; }
break
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
$as_echo "not found" >&6; }
unset ac_cv_path_PYTHON
unset PYTHON
unset ac_cv_path_PYTHON
unset PYTHON
fi
done
if test "X$PYTHON" != "X"
@@ -13382,12 +13407,12 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
$as_echo "#define HAVE_UNAME 1" >>confdefs.h
$as_echo "#define HAVE_UNAME 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: uname is not correctly supported" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: uname is not correctly supported" >&5
$as_echo "$as_me: WARNING: uname is not correctly supported" >&2;}
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
@@ -15447,12 +15472,12 @@ else
fi
case "$locktype" in
adaptive)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_MUTEX_ADAPTIVE_NP" >&5
case "$locktype" in
adaptive)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_MUTEX_ADAPTIVE_NP" >&5
$as_echo_n "checking for PTHREAD_MUTEX_ADAPTIVE_NP... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef _GNU_SOURCE
@@ -15481,15 +15506,15 @@ else
$as_echo "using standard lock type" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
;;
standard)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using standard lock type" >&5
;;
standard)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using standard lock type" >&5
$as_echo "using standard lock type" >&6; }
;;
*)
as_fn_error $? "You must specify \"adaptive\" or \"standard\" for --with-locktype." "$LINENO" 5
;;
esac
;;
*)
as_fn_error $? "You must specify \"adaptive\" or \"standard\" for --with-locktype." "$LINENO" 5
;;
esac
for ac_header in sched.h
do :
@@ -15968,7 +15993,7 @@ If you do not want OpenSSL, use --without-openssl" "$LINENO" 5
*)
if test "yes" = "$want_native_pkcs11"
then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
$as_echo "" >&6; }
as_fn_error $? "OpenSSL and native PKCS11 cannot be used together." "$LINENO" 5
fi
@@ -16492,7 +16517,7 @@ $as_echo_n "checking for OpenSSL AES support... " >&6; }
if test "$cross_compiling" = yes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using --with-aes" >&5
$as_echo "using --with-aes" >&6; }
# Expect cross-compiling with a modern OpenSSL
# Expect cross-compiling with a modern OpenSSL
have_aes="evp"
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -17239,8 +17264,8 @@ then
$as_echo "#define HAVE_LMDB 1" >>confdefs.h
NZD_TOOLS="nzd"
NZDSRCS='${NZDSRCS}'
NZDTARGETS='${NZDTARGETS}'
NZDSRCS='${NZDSRCS}'
NZDTARGETS='${NZDTARGETS}'
fi
@@ -17508,7 +17533,7 @@ case "$with_zlib" in
done
;;
*)
if test -f "${with_zlib}/zlib.h"
if test -f "${with_zlib}/include/zlib.h"
then
zlib_cflags="-I${with_zlib}/include"
LIBS="$LIBS -L${with_zlib}/lib"
@@ -19371,11 +19396,11 @@ else
#include <stdio.h>
main() {
size_t j = 0;
char buf[100];
buf[0] = 0;
sprintf(buf, "%zu", j);
exit(strcmp(buf, "0") != 0);
size_t j = 0;
char buf[100];
buf[0] = 0;
sprintf(buf, "%zu", j);
exit(strcmp(buf, "0") != 0);
}
_ACEOF
@@ -19387,9 +19412,9 @@ else
$as_echo "no" >&6; }
ISC_PRINT_OBJS="print.$O"
ISC_PRINT_SRCS="print.c"
ISC_PLATFORM_NEEDPRINTF='#define ISC_PLATFORM_NEEDPRINTF 1'
ISC_PLATFORM_NEEDFPRINTF='#define ISC_PLATFORM_NEEDFPRINTF 1'
ISC_PLATFORM_NEEDFSRINTF='#define ISC_PLATFORM_NEEDSPRINTF 1'
ISC_PLATFORM_NEEDPRINTF='#define ISC_PLATFORM_NEEDPRINTF 1'
ISC_PLATFORM_NEEDFPRINTF='#define ISC_PLATFORM_NEEDFPRINTF 1'
ISC_PLATFORM_NEEDFSRINTF='#define ISC_PLATFORM_NEEDSPRINTF 1'
ISC_PLATFORM_NEEDVSNPRINTF="#define ISC_PLATFORM_NEEDVSNPRINTF 1"
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
@@ -19718,11 +19743,11 @@ _ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
ISC_PLATFORM_HAVESTATNSEC="#define ISC_PLATFORM_HAVESTATNSEC 1"
ISC_PLATFORM_HAVESTATNSEC="#define ISC_PLATFORM_HAVESTATNSEC 1"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
ISC_PLATFORM_HAVESTATNSEC="#undef ISC_PLATFORM_HAVESTATNSEC"
ISC_PLATFORM_HAVESTATNSEC="#undef ISC_PLATFORM_HAVESTATNSEC"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
@@ -20129,6 +20154,7 @@ done
#
# Machine architecture dependent features
#
have_stdatomic=no
for ac_header in stdatomic.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "stdatomic.h" "ac_cv_header_stdatomic_h" "$ac_includes_default"
@@ -20136,9 +20162,11 @@ if test "x$ac_cv_header_stdatomic_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_STDATOMIC_H 1
_ACEOF
ISC_PLATFORM_HAVESTDATOMIC="#define ISC_PLATFORM_HAVESTDATOMIC 1"
have_stdatomic=yes
ISC_PLATFORM_HAVESTDATOMIC="#define ISC_PLATFORM_HAVESTDATOMIC 1"
else
ISC_PLATFORM_HAVESTDATOMIC="#undef ISC_PLATFORM_HAVESTDATOMIC"
have_stdatomic=no
ISC_PLATFORM_HAVESTDATOMIC="#undef ISC_PLATFORM_HAVESTDATOMIC"
fi
done
@@ -20219,12 +20247,42 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
esac
;;
no)
have_stdatomic=no
ISC_PLATFORM_HAVESTDATOMIC="#undef ISC_PLATFORM_HAVESTDATOMIC"
use_atomic=no
arch=noatomic
;;
esac
if test "X$have_stdatomic" = "Xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -latomic is needed to use 64-bit stdatomic.h primitives" >&5
$as_echo_n "checking if -latomic is needed to use 64-bit stdatomic.h primitives... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdatomic.h>
int
main ()
{
atomic_int_fast64_t val = 0; atomic_fetch_add_explicit(&val, 1, memory_order_relaxed);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
ISC_ATOMIC_LIBS=""
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
ISC_ATOMIC_LIBS="-latomic"
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS="$LIBS $ISC_ATOMIC_LIBS"
fi
ISC_PLATFORM_USEOSFASM="#undef ISC_PLATFORM_USEOSFASM"
@@ -20474,7 +20532,7 @@ int
main ()
{
return (__builtin_expect(1, 1) ? 1 : 0);
return (__builtin_expect(1, 1) ? 1 : 0);
;
return 0;
@@ -20482,14 +20540,14 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
have_builtin_expect=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
have_builtin_expect=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
have_builtin_expect=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
have_builtin_expect=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
@@ -20513,7 +20571,7 @@ int
main ()
{
return (__builtin_clz(0xff) == 24 ? 1 : 0);
return (__builtin_clz(0xff) == 24 ? 1 : 0);
;
return 0;
@@ -20521,14 +20579,14 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
have_builtin_clz=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
have_builtin_clz=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
have_builtin_clz=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
have_builtin_clz=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
@@ -20930,9 +20988,9 @@ else
fi
if test "x$enable_dnsrps" != "xno"; then
if test "x$dnsrps_avail" != "xyes"; then
as_fn_error $? "dlopen and librpz.so needed for DNSRPS" "$LINENO" 5
fi
if test "x$dnsrps_avail" != "xyes"; then
as_fn_error $? "dlopen and librpz.so needed for DNSRPS" "$LINENO" 5
fi
if test "x$dnsrps_lib_open" = "x0"; then
as_fn_error $? "dlopen and librpz.so needed for DNSRPS" "$LINENO" 5
fi
@@ -22200,7 +22258,7 @@ if test "no" != "$atf"; then
$as_echo "#define ATF_TEST 1" >>confdefs.h
STD_CINCLUDES="$STD_CINCLUDES -I$atf/include"
STD_CDEFINES="$STD_CDEFINES -DNS_HOOKS_ENABLE=1"
STD_CDEFINES="$STD_CDEFINES -DNS_HOOKS_ENABLE=1"
ATFBIN="$atf/bin"
ATFLIBS="-L$atf/lib -latf-c"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exp in -lm" >&5
@@ -26145,9 +26203,9 @@ yes)
then
if test "yes" = "$silent"
then
make clean > /dev/null
else
make clean
make clean > /dev/null
else
make clean
fi
fi
;;
@@ -26165,84 +26223,84 @@ report() {
echo "-------------------------------------------------------------------------------"
echo "Optional features enabled:"
if $use_threads; then
echo " Multiprocessing support (--enable-threads)"
if test "yes" = "$enable_full_report" -o "standard" = "$locktype"; then
echo " Mutex lock type: $locktype"
fi
echo " Multiprocessing support (--enable-threads)"
if test "yes" = "$enable_full_report" -o "standard" = "$locktype"; then
echo " Mutex lock type: $locktype"
fi
fi
test "large" = "$use_tuning" && echo " Large-system tuning (--with-tuning)"
test "no" = "$use_dnstap" || \
echo " Allow 'dnstap' packet logging (--enable-dnstap)"
echo " Allow 'dnstap' packet logging (--enable-dnstap)"
test "no" = "$use_geoip" || echo " GeoIP access control (--with-geoip)"
test "no" = "$use_gssapi" || echo " GSS-API (--with-gssapi)"
if test "yes" = "$enable_full_report" -o "aes" != "$with_cc_alg"; then
echo " Algorithm: $with_cc_alg"
echo " Algorithm: $with_cc_alg"
fi
# these lines are only printed if run with --enable-full-report
if test "yes" = "$enable_full_report"; then
test "no" = "$enable_ipv6" -o "no" = "$found_ipv6" || \
echo " IPv6 support (--enable-ipv6)"
test "X$CRYPTO" = "X" -o "yes" = "$want_native_pkcs11" || \
echo " OpenSSL cryptography/DNSSEC (--with-openssl)"
test "no" = "$want_crypto_rand" || \
echo " Crypto provider entropy source (--enable-crypto-rand)"
test "X$PYTHON" = "X" || echo " Python tools (--with-python)"
test "X$XMLSTATS" = "X" || echo " XML statistics (--with-libxml2)"
test "X$JSONSTATS" = "X" || echo " JSON statistics (--with-libjson)"
test "X$ZLIB" = "X" || echo " HTTP zlib compression (--with-zlib)"
test "X$NZD_TOOLS" = "X" || echo " LMDB database to store configuration for 'addzone' zones (--with-lmdb)"
test "no" = "$enable_ipv6" -o "no" = "$found_ipv6" || \
echo " IPv6 support (--enable-ipv6)"
test "X$CRYPTO" = "X" -o "yes" = "$want_native_pkcs11" || \
echo " OpenSSL cryptography/DNSSEC (--with-openssl)"
test "no" = "$want_crypto_rand" || \
echo " Crypto provider entropy source (--enable-crypto-rand)"
test "X$PYTHON" = "X" || echo " Python tools (--with-python)"
test "X$XMLSTATS" = "X" || echo " XML statistics (--with-libxml2)"
test "X$JSONSTATS" = "X" || echo " JSON statistics (--with-libjson)"
test "X$ZLIB" = "X" || echo " HTTP zlib compression (--with-zlib)"
test "X$NZD_TOOLS" = "X" || echo " LMDB database to store configuration for 'addzone' zones (--with-lmdb)"
fi
if test "no" != "$use_pkcs11"; then
if test "yes" = "$want_native_pkcs11"; then
echo " Native PKCS#11/Cryptoki support (--enable-native-pkcs11)"
else
echo " PKCS#11/Cryptoki support using OpenSSL (--with-pkcs11)"
fi
echo " Provider library: $PKCS11_PROVIDER"
if test "yes" = "$want_native_pkcs11"; then
echo " Native PKCS#11/Cryptoki support (--enable-native-pkcs11)"
else
echo " PKCS#11/Cryptoki support using OpenSSL (--with-pkcs11)"
fi
echo " Provider library: $PKCS11_PROVIDER"
fi
if test "yes" = "$OPENSSL_GOST" -o "yes" = "$PKCS11_GOST"; then
echo " GOST algorithm support (encoding: $gosttype) (--with-gost)"
echo " GOST algorithm support (encoding: $gosttype) (--with-gost)"
fi
test "yes" = "$OPENSSL_ECDSA" -o "$PKCS11_ECDSA" && \
echo " ECDSA algorithm support (--with-ecdsa)"
echo " ECDSA algorithm support (--with-ecdsa)"
test "yes" = "$OPENSSL_ED25519" -o "$PKCS11_ED25519" && \
echo " EDDSA algorithm support (--with-eddsa)"
echo " EDDSA algorithm support (--with-eddsa)"
test "yes" = "$enable_dnsrps" && \
echo " DNS Response Policy Service interface (--enable-dnsrps)"
echo " DNS Response Policy Service interface (--enable-dnsrps)"
test "yes" = "$enable_fixed" && \
echo " Allow 'fixed' rrset-order (--enable-fixed-rrset)"
echo " Allow 'fixed' rrset-order (--enable-fixed-rrset)"
test "yes" = "$enable_seccomp" && \
echo " Use libseccomp system call filtering (--enable-seccomp)"
echo " Use libseccomp system call filtering (--enable-seccomp)"
test "yes" = "$want_backtrace" && \
echo " Print backtrace on crash (--enable-backtrace)"
echo " Print backtrace on crash (--enable-backtrace)"
test "minimal" = "$want_symtable" && \
echo " Use symbol table for backtrace, named only (--enable-symtable)"
echo " Use symbol table for backtrace, named only (--enable-symtable)"
test "yes" = "$want_symtable" -o "all" = "$want_symtable" && \
echo " Use symbol table for backtrace, all binaries (--enable-symtable=all)"
echo " Use symbol table for backtrace, all binaries (--enable-symtable=all)"
test "no" = "$use_libtool" || echo " Use GNU libtool (--with-libtool)"
test "yes" = "$want_querytrace" && \
echo " Very verbose query trace logging (--enable-querytrace)"
echo " Very verbose query trace logging (--enable-querytrace)"
test "no" = "$atf" || echo " Automated Testing Framework (--with-atf)"
echo " Cryptographic library for DNSSEC: $CRYPTOLIB"
echo " Dynamically loadable zone (DLZ) drivers:"
test "no" = "$use_dlz_bdb" || \
echo " Berkeley DB (--with-dlz-bdb)"
echo " Berkeley DB (--with-dlz-bdb)"
test "no" = "$use_dlz_ldap" || \
echo " LDAP (--with-dlz-ldap)"
echo " LDAP (--with-dlz-ldap)"
test "no" = "$use_dlz_mysql" || \
echo " MySQL (--with-dlz-mysql)"
echo " MySQL (--with-dlz-mysql)"
test "no" = "$use_dlz_odbc" || \
echo " ODBC (--with-dlz-odbc)"
echo " ODBC (--with-dlz-odbc)"
test "no" = "$use_dlz_postgres" || \
echo " Postgres (--with-dlz-postgres)"
echo " Postgres (--with-dlz-postgres)"
test "no" = "$use_dlz_filesystem" || \
echo " Filesystem (--with-dlz-filesystem)"
echo " Filesystem (--with-dlz-filesystem)"
test "no" = "$use_dlz_stub" || \
echo " Stub (--with-dlz-stub)"
echo " Stub (--with-dlz-stub)"
test "$use_dlz_bdb $use_dlz_ldap $use_dlz_mysql $use_dlz_odbc $use_dlz_postgres $use_dlz_filesystem $use_dlz_stub" = "no no no no no no no" && echo " None"
echo "-------------------------------------------------------------------------------"
@@ -26250,43 +26308,43 @@ report() {
echo "Features disabled or unavailable on this platform:"
$use_threads || echo " Multiprocessing support (--enable-threads)"
test "no" = "$enable_ipv6" -o "no" = "$found_ipv6" && \
echo " IPv6 support (--enable-ipv6)"
echo " IPv6 support (--enable-ipv6)"
test "large" = "$use_tuning" || echo " Large-system tuning (--with-tuning)"
test "no" = "$use_dnstap" && \
echo " Allow 'dnstap' packet logging (--enable-dnstap)"
echo " Allow 'dnstap' packet logging (--enable-dnstap)"
test "no" = "$use_geoip" && echo " GeoIP access control (--with-geoip)"
test "no" = "$use_gssapi" && echo " GSS-API (--with-gssapi)"
test "no" = "$enable_dnsrps" && \
echo " DNS Response Policy Service interface (--enable-dnsrps)"
echo " DNS Response Policy Service interface (--enable-dnsrps)"
test "yes" = "$enable_fixed" || \
echo " Allow 'fixed' rrset-order (--enable-fixed-rrset)"
echo " Allow 'fixed' rrset-order (--enable-fixed-rrset)"
if test "X$CRYPTO" = "X" -o "yes" = "$want_native_pkcs11"
then
echo " OpenSSL cryptography/DNSSEC (--with-openssl)"
echo " OpenSSL cryptography/DNSSEC (--with-openssl)"
elif test "no" = "$use_pkcs11"; then
echo " PKCS#11/Cryptoki support (--with-pkcs11)"
echo " PKCS#11/Cryptoki support (--with-pkcs11)"
fi
test "yes" = "$want_native_pkcs11" ||
echo " Native PKCS#11/Cryptoki support (--enable-native-pkcs11)"
echo " Native PKCS#11/Cryptoki support (--enable-native-pkcs11)"
test "X$CRYPTO" = "X" -o "yes" = "$OPENSSL_GOST" -o "yes" = "$PKCS11_GOST" || \
echo " GOST algorithm support (--with-gost)"
echo " GOST algorithm support (--with-gost)"
test "X$CRYPTO" = "X" -o "yes" = "$OPENSSL_ECDSA" -o "yes" = "$PKCS11_ECDSA" || \
echo " ECDSA algorithm support (--with-ecdsa)"
echo " ECDSA algorithm support (--with-ecdsa)"
test "X$CRYPTO" = "X" -o "yes" = "$OPENSSL_ED25519" -o "yes" = "$PKCS11_ED25519" || \
echo " EDDSA algorithm support (--with-eddsa)"
echo " EDDSA algorithm support (--with-eddsa)"
test "yes" = "$want_crypto_rand" || \
echo " Crypto provider entropy source (--enable-crypto-rand)"
echo " Crypto provider entropy source (--enable-crypto-rand)"
test "yes" = "$enable_seccomp" || \
echo " Use libseccomp system call filtering (--enable-seccomp)"
echo " Use libseccomp system call filtering (--enable-seccomp)"
test "yes" = "$want_backtrace" || \
echo " Print backtrace on crash (--enable-backtrace)"
echo " Print backtrace on crash (--enable-backtrace)"
test "yes" = "$want_querytrace" || \
echo " Very verbose query trace logging (--enable-querytrace)"
echo " Very verbose query trace logging (--enable-querytrace)"
test "yes" = "$use_libtool" || echo " Use GNU libtool (--with-libtool)"
test "no" = "$atf" && echo " Automated Testing Framework (--with-atf)"
@@ -26305,20 +26363,20 @@ report() {
if test "X$ac_unrecognized_opts" != "X"; then
echo
echo "Unrecognized options:"
echo " $ac_unrecognized_opts"
echo
echo "Unrecognized options:"
echo " $ac_unrecognized_opts"
fi
if test "yes" != "$enable_full_report"; then
echo "-------------------------------------------------------------------------------"
echo "For more detail, use --enable-full-report."
echo "-------------------------------------------------------------------------------"
echo "For more detail, use --enable-full-report."
fi
echo "==============================================================================="
}
if test "yes" != "$silent"; then
report
report
fi
if test "X$CRYPTO" = "X"; then
+330 -246
View File
File diff suppressed because it is too large Load Diff
+21 -14
View File
@@ -57,8 +57,9 @@ AC_DEFUN(DLZ_ADD_DRIVER, [
AC_MSG_CHECKING(for Postgres DLZ driver)
AC_ARG_WITH(dlz_postgres,
[ --with-dlz-postgres[=PATH] Build with Postgres DLZ driver [yes|no|path].
(Required to use Postgres with DLZ)],
AS_HELP_STRING([--with-dlz-postgres[=PATH]],
[Build with Postgres DLZ driver [yes|no|path].
(Required to use Postgres with DLZ)]),
use_dlz_postgres="$withval", use_dlz_postgres="no")
if test "$use_dlz_postgres" != "no"
@@ -126,8 +127,9 @@ esac
AC_MSG_CHECKING(for MySQL DLZ driver)
AC_ARG_WITH(dlz_mysql,
[ --with-dlz-mysql[=PATH] Build with MySQL DLZ driver [yes|no|path].
(Required to use MySQL with DLZ)],
AS_HELP_STRING([--with-dlz-mysql[=PATH]],
[Build with MySQL DLZ driver [yes|no|path].
(Required to use MySQL with DLZ)]),
use_dlz_mysql="$withval", use_dlz_mysql="no")
AC_CHECK_PROGS(MYSQL_CONFIG, mysql_config)
@@ -232,8 +234,9 @@ esac
AC_MSG_CHECKING(for Berkeley DB DLZ driver...)
AC_ARG_WITH(dlz_bdb,
[ --with-dlz-bdb[=PATH] Build with Berkeley DB DLZ driver [yes|no|path].
(Required to use Berkeley DB with DLZ)],
AS_HELP_STRING([--with-dlz-bdb[=PATH]],
[Build with Berkeley DB DLZ driver [yes|no|path].
(Required to use Berkeley DB with DLZ)]),
use_dlz_bdb="$withval", use_dlz_bdb="no")
case "$use_dlz_bdb" in
@@ -356,8 +359,9 @@ esac
AC_MSG_CHECKING(for file system DLZ driver)
AC_ARG_WITH(dlz_filesystem,
[ --with-dlz-filesystem[=ARG] Build with filesystem DLZ driver [yes|no].
(Required to use file system driver with DLZ)],
AS_HELP_STRING([--with-dlz-filesystem[=ARG]],
[Build with filesystem DLZ driver [yes|no].
(Required to use file system driver with DLZ)]),
use_dlz_filesystem="$withval", use_dlz_filesystem="no")
case "$use_dlz_filesystem" in
@@ -378,8 +382,9 @@ esac
AC_MSG_CHECKING(for LDAP DLZ driver)
AC_ARG_WITH(dlz_ldap,
[ --with-dlz-ldap[=PATH] Build with LDAP DLZ driver [yes|no|path].
(Required to use LDAP with DLZ)],
AS_HELP_STRING([--with-dlz-ldap[=PATH]],
[Build with LDAP DLZ driver [yes|no|path].
(Required to use LDAP with DLZ)]),
use_dlz_ldap="$withval", use_dlz_ldap="no")
if test "$use_dlz_ldap" = "yes"
@@ -424,8 +429,9 @@ esac
AC_MSG_CHECKING(for ODBC DLZ driver)
AC_ARG_WITH(dlz_odbc,
[ --with-dlz-odbc[=PATH] Build with ODBC DLZ driver [yes|no|path].
(Required to use ODBC with DLZ)],
AS_HELP_STRING([--with-dlz-odbc[=PATH]],
[Build with ODBC DLZ driver [yes|no|path].
(Required to use ODBC with DLZ)]),
use_dlz_odbc="$withval", use_dlz_odbc="no")
if test "$use_dlz_odbc" = "yes"
@@ -481,8 +487,9 @@ esac
AC_MSG_CHECKING(for stub DLZ driver)
AC_ARG_WITH(dlz_stub,
[ --with-dlz-stub[=ARG] Build with stub DLZ driver [yes|no].
(Required to use stub driver with DLZ)],
AS_HELP_STRING([--with-dlz-stub[=ARG]],
[Build with stub DLZ driver [yes|no].
(Required to use stub driver with DLZ)]),
use_dlz_stub="$withval", use_dlz_stub="no")
case "$use_dlz_stub" in
+1 -1
View File
@@ -43,7 +43,7 @@ sub printstatus ($) {
my $a = shift;
if ($a->{removehd} ne "19700101000000") {
printf " untrusted and to be removed at %s\n", ext8601 $a->{removehd};
} elsif ($a->{addhd} lt $now) {
} elsif ($a->{addhd} le $now) {
printf " trusted\n";
} else {
printf " waiting for %s\n", ext8601 $a->{addhd};
+35 -23
View File
@@ -397,14 +397,31 @@
<para>
The other authoritative servers, the <emphasis>slave</emphasis>
servers (also known as <emphasis>secondary</emphasis> servers)
load
the zone contents from another server using a replication process
known as a <emphasis>zone transfer</emphasis>. Typically the data
are
transferred directly from the primary master, but it is also
possible
to transfer it from another slave. In other words, a slave server
may itself act as a master to a subordinate slave server.
load the zone contents from another server using a replication
process known as a <emphasis>zone transfer</emphasis>.
Typically the data are transferred directly from the primary
master, but it is also possible to transfer it from another
slave. In other words, a slave server may itself act as a
master to a subordinate slave server.
</para>
<para>
Periodically, the slave server must send a refresh query to
determine whether the zone contents have been updated. This
is done by sending a query for the zone's SOA record and
checking whether the SERIAL field has been updated; if so,
a new transfer request is initiated. The timing of these
refresh queries is controlled by the SOA REFRESH and RETRY
fields, but can be overrridden with the
<command>max-refresh-time</command>,
<command>min-refresh-time</command>,
<command>max-retry-time</command>, and
<command>min-retry-time</command> options.
</para>
<para>
If the zone data cannot be updated within the time specified
by the SOA EXPIRE option (up to a hard-coded maximum of
24 weeks) then the slave zone expires and will no longer
respond to queries.
</para>
</section>
@@ -2340,8 +2357,6 @@ options {
<para>
The logged error reads "insecurity proof failed" and
"got insecure response; parent indicates it should be secure".
(Prior to BIND 9.7, the logged error was "not insecure".
This referred to the zone, not the response.)
</para>
</note>
</section>
@@ -9385,21 +9400,18 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
<listitem>
<para>
These options control the server's behavior on refreshing a
zone
(querying for SOA changes) or retrying failed transfers.
Usually the SOA values for the zone are used, but these
values
are set by the master, giving slave server administrators
little
control over their contents.
zone (querying for SOA changes) or retrying failed
transfers. Usually the SOA values for the zone are used,
up to a hard-coded maximum expiry of 24 weeks. However,
these values are set by the master, giving slave server
administrators little control over their contents.
</para>
<para>
These options allow the administrator to set a minimum and
maximum refresh and retry time in seconds per-zone,
per-view, or globally.
These options are valid for slave and stub zones,
and clamp the SOA refresh and retry times to the specified
values.
per-view, or globally. These options are valid for
slave and stub zones, and clamp the SOA refresh and
retry times to the specified values.
</para>
<para>
The following defaults apply.
@@ -11428,8 +11440,8 @@ example.com CNAME rpz-tcp-only.
A <command>managed-keys</command> statement contains a list of
the keys to be managed, along with information about how the
keys are to be initialized for the first time. The only
initialization method currently supported (as of
<acronym>BIND</acronym> 9.7.0) is <literal>initial-key</literal>.
initialization method currently supported is
<literal>initial-key</literal>.
This means the <command>managed-keys</command> statement must
contain a copy of the initializing key. (Future releases may
allow keys to be initialized by other methods, eliminating this
+26 -9
View File
@@ -436,14 +436,31 @@
<p>
The other authoritative servers, the <span class="emphasis"><em>slave</em></span>
servers (also known as <span class="emphasis"><em>secondary</em></span> servers)
load
the zone contents from another server using a replication process
known as a <span class="emphasis"><em>zone transfer</em></span>. Typically the data
are
transferred directly from the primary master, but it is also
possible
to transfer it from another slave. In other words, a slave server
may itself act as a master to a subordinate slave server.
load the zone contents from another server using a replication
process known as a <span class="emphasis"><em>zone transfer</em></span>.
Typically the data are transferred directly from the primary
master, but it is also possible to transfer it from another
slave. In other words, a slave server may itself act as a
master to a subordinate slave server.
</p>
<p>
Periodically, the slave server must send a refresh query to
determine whether the zone contents have been updated. This
is done by sending a query for the zone's SOA record and
checking whether the SERIAL field has been updated; if so,
a new transfer request is initiated. The timing of these
refresh queries is controlled by the SOA REFRESH and RETRY
fields, but can be overrridden with the
<span class="command"><strong>max-refresh-time</strong></span>,
<span class="command"><strong>min-refresh-time</strong></span>,
<span class="command"><strong>max-retry-time</strong></span>, and
<span class="command"><strong>min-retry-time</strong></span> options.
</p>
<p>
If the zone data cannot be updated within the time specified
by the SOA EXPIRE option (up to a hard-coded maximum of
24 weeks) then the slave zone expires and will no longer
respond to queries.
</p>
</div>
@@ -599,6 +616,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -146,6 +146,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -759,6 +759,6 @@ controls {
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+34 -37
View File
@@ -60,19 +60,19 @@
</dl></dd>
<dt><span class="section"><a href="Bv9ARM.ch04.html#dnssec.dynamic.zones">DNSSEC, Dynamic Zones, and Automatic Signing</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.3">Converting from insecure to secure</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.8">Dynamic DNS update method</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.16">Fully automatic zone signing</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.25">Private-type records</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.32">DNSKEY rollovers</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.34">Dynamic DNS update method</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.39">Automatic key rollovers</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.41">NSEC3PARAM rollovers via UPDATE</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.43">Converting from NSEC to NSEC3</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.45">Converting from NSEC3 to NSEC</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.47">Converting from secure to insecure</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.51">Periodic re-signing</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.53">NSEC3 and OPTOUT</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.2">Converting from insecure to secure</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.7">Dynamic DNS update method</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.15">Fully automatic zone signing</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.24">Private-type records</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.31">DNSKEY rollovers</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.33">Dynamic DNS update method</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.38">Automatic key rollovers</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.40">NSEC3PARAM rollovers via UPDATE</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.42">Converting from NSEC to NSEC3</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.44">Converting from NSEC3 to NSEC</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.46">Converting from secure to insecure</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.50">Periodic re-signing</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.52">NSEC3 and OPTOUT</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="Bv9ARM.ch04.html#rfc5011.support">Dynamic Trust Anchor Management</a></span></dt>
<dd><dl>
@@ -1190,8 +1190,6 @@ options {
<p>
The logged error reads "insecurity proof failed" and
"got insecure response; parent indicates it should be secure".
(Prior to BIND 9.7, the logged error was "not insecure".
This referred to the zone, not the response.)
</p>
</div>
</div>
@@ -1201,12 +1199,9 @@ options {
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="dnssec.dynamic.zones"></a>DNSSEC, Dynamic Zones, and Automatic Signing</h2></div></div></div>
<p>As of BIND 9.7.0 it is possible to change a dynamic zone
from insecure to signed and back again. A secure zone can use
either NSEC or NSEC3 chains.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.3"></a>Converting from insecure to secure</h3></div></div></div>
<a name="id-1.5.10.2"></a>Converting from insecure to secure</h3></div></div></div>
</div>
<p>Changing a zone from insecure to secure can be done in two
@@ -1235,7 +1230,7 @@ options {
signing process.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.8"></a>Dynamic DNS update method</h3></div></div></div>
<a name="id-1.5.10.7"></a>Dynamic DNS update method</h3></div></div></div>
</div>
<p>To insert the keys via dynamic update:</p>
@@ -1274,7 +1269,7 @@ options {
is happening, other updates are possible as well.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.16"></a>Fully automatic zone signing</h3></div></div></div>
<a name="id-1.5.10.15"></a>Fully automatic zone signing</h3></div></div></div>
</div>
<p>To enable automatic signing, add the
@@ -1340,7 +1335,7 @@ options {
fail.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.25"></a>Private-type records</h3></div></div></div>
<a name="id-1.5.10.24"></a>Private-type records</h3></div></div></div>
</div>
<p>The state of the signing process is signaled by
@@ -1384,7 +1379,7 @@ options {
</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.32"></a>DNSKEY rollovers</h3></div></div></div>
<a name="id-1.5.10.31"></a>DNSKEY rollovers</h3></div></div></div>
</div>
<p>As with insecure-to-secure conversions, rolling DNSSEC
@@ -1392,7 +1387,7 @@ options {
<span class="command"><strong>auto-dnssec</strong></span> zone option.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.34"></a>Dynamic DNS update method</h3></div></div></div>
<a name="id-1.5.10.33"></a>Dynamic DNS update method</h3></div></div></div>
</div>
<p> To perform key rollovers via dynamic update, you need to add
@@ -1417,7 +1412,7 @@ options {
by the old key after the update completes.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.39"></a>Automatic key rollovers</h3></div></div></div>
<a name="id-1.5.10.38"></a>Automatic key rollovers</h3></div></div></div>
</div>
<p>When a new key reaches its activation date (as set by
@@ -1435,7 +1430,7 @@ options {
old key from the DNSKEY RRset.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.41"></a>NSEC3PARAM rollovers via UPDATE</h3></div></div></div>
<a name="id-1.5.10.40"></a>NSEC3PARAM rollovers via UPDATE</h3></div></div></div>
</div>
<p>Add the new NSEC3PARAM record via dynamic update. When the
@@ -1445,7 +1440,7 @@ options {
completes.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.43"></a>Converting from NSEC to NSEC3</h3></div></div></div>
<a name="id-1.5.10.42"></a>Converting from NSEC to NSEC3</h3></div></div></div>
</div>
<p>To do this, you just need to add an NSEC3PARAM record. When
@@ -1455,7 +1450,7 @@ options {
destroyed.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.45"></a>Converting from NSEC3 to NSEC</h3></div></div></div>
<a name="id-1.5.10.44"></a>Converting from NSEC3 to NSEC</h3></div></div></div>
</div>
<p>To do this, use <span class="command"><strong>nsupdate</strong></span> to
@@ -1464,7 +1459,7 @@ options {
removed.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.47"></a>Converting from secure to insecure</h3></div></div></div>
<a name="id-1.5.10.46"></a>Converting from secure to insecure</h3></div></div></div>
</div>
<p>To convert a signed zone to unsigned using dynamic DNS,
@@ -1482,7 +1477,7 @@ options {
</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.51"></a>Periodic re-signing</h3></div></div></div>
<a name="id-1.5.10.50"></a>Periodic re-signing</h3></div></div></div>
</div>
<p>In any secure zone which supports dynamic updates, <span class="command"><strong>named</strong></span>
@@ -1492,7 +1487,7 @@ options {
all at once.</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.10.53"></a>NSEC3 and OPTOUT</h3></div></div></div>
<a name="id-1.5.10.52"></a>NSEC3 and OPTOUT</h3></div></div></div>
</div>
<p>
@@ -1511,11 +1506,13 @@ options {
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="rfc5011.support"></a>Dynamic Trust Anchor Management</h2></div></div></div>
<p>BIND 9.7.0 introduces support for RFC 5011, dynamic trust
anchor management. Using this feature allows
<span class="command"><strong>named</strong></span> to keep track of changes to critical
DNSSEC keys without any need for the operator to make changes to
configuration files.</p>
<p>
BIND is able to maintain DNSSEC trust anchors using RFC 5011 key
management. This feature allows <span class="command"><strong>named</strong></span> to keep track
of changes to critical DNSSEC keys without any need for the operator to
make changes to configuration files.
</p>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.11.3"></a>Validating Resolver</h3></div></div></div>
@@ -2870,6 +2867,6 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -81,6 +81,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+21 -14
View File
@@ -2056,6 +2056,16 @@ category notify { null; };
</p>
</td>
</tr>
<tr>
<td>
<p><span class="command"><strong>zoneload</strong></span></p>
</td>
<td>
<p>
Loading of zones and creation of automatic empty zones.
</p>
</td>
</tr>
</tbody>
</table>
</div>
@@ -6964,21 +6974,18 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
<dd>
<p>
These options control the server's behavior on refreshing a
zone
(querying for SOA changes) or retrying failed transfers.
Usually the SOA values for the zone are used, but these
values
are set by the master, giving slave server administrators
little
control over their contents.
zone (querying for SOA changes) or retrying failed
transfers. Usually the SOA values for the zone are used,
up to a hard-coded maximum expiry of 24 weeks. However,
these values are set by the master, giving slave server
administrators little control over their contents.
</p>
<p>
These options allow the administrator to set a minimum and
maximum refresh and retry time in seconds per-zone,
per-view, or globally.
These options are valid for slave and stub zones,
and clamp the SOA refresh and retry times to the specified
values.
per-view, or globally. These options are valid for
slave and stub zones, and clamp the SOA refresh and
retry times to the specified values.
</p>
<p>
The following defaults apply.
@@ -8960,8 +8967,8 @@ example.com CNAME rpz-tcp-only.
A <span class="command"><strong>managed-keys</strong></span> statement contains a list of
the keys to be managed, along with information about how the
keys are to be initialized for the first time. The only
initialization method currently supported (as of
<acronym class="acronym">BIND</acronym> 9.7.0) is <code class="literal">initial-key</code>.
initialization method currently supported is
<code class="literal">initial-key</code>.
This means the <span class="command"><strong>managed-keys</strong></span> statement must
contain a copy of the initializing key. (Future releases may
allow keys to be initialized by other methods, eliminating this
@@ -14640,6 +14647,6 @@ HOST-127.EXAMPLE. MX 0 .
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -399,6 +399,6 @@ allow-query { !{ !10/8; any; }; key example; };
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -136,6 +136,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+13 -14
View File
@@ -36,7 +36,7 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl class="toc">
<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.12.0b1</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.12.0b2</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt>
@@ -55,7 +55,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id-1.10.2"></a>Release Notes for BIND Version 9.12.0b1</h2></div></div></div>
<a name="id-1.10.2"></a>Release Notes for BIND Version 9.12.0b2</h2></div></div></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
@@ -515,15 +515,15 @@
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<p>
The ISC DNSSEC Lookaside Validation (DLV) service has been shut
down; all DLV records in the dlv.isc.org zone have been removed.
References to the service have been removed from BIND documentation.
Lookaside validation is no longer used by default by
<span class="command"><strong>delv</strong></span>. The DLV key has been removed from
<code class="filename">bind.keys</code>. Setting
<span class="command"><strong>dnssec-lookaside</strong></span> to
The ISC DNSSEC Lookaside Validation (DLV) service has
been shut down; all DLV records in the dlv.isc.org zone
have been removed. References to the service have been
removed from BIND documentation. Lookaside validation
is no longer used by default by <span class="command"><strong>delv</strong></span>.
The DLV key has been removed from <code class="filename">bind.keys</code>.
Setting <span class="command"><strong>dnssec-lookaside</strong></span> to
<span class="command"><strong>auto</strong></span> or to use dlv.isc.org as a trust
anchor is now a fatal configuration error. [RT #46155]
anchor results in a warning being issued.
</p>
</li>
<li class="listitem">
@@ -551,9 +551,8 @@
<li class="listitem">
<p>
The use of HMAC-MD5 for RNDC keys is no longer recommended.
The default algorithm generated by <span class="command"><strong>rndc-confgen</strong></span>,
is now HMAC-256, and a warning message will be printed if
HMAC-MD5 is used. [RT #42272]
The default algorithm generated by <span class="command"><strong>rndc-confgen</strong></span>
is now HMAC-SHA256. [RT #42272]
</p>
</li>
<li class="listitem">
@@ -851,6 +850,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -148,6 +148,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -914,6 +914,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -533,6 +533,6 @@ $ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mm
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -210,6 +210,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+16 -16
View File
@@ -32,7 +32,7 @@
<div>
<div><h1 class="title">
<a name="id-1"></a>BIND 9 Administrator Reference Manual</h1></div>
<div><p class="releaseinfo">BIND Version 9.12.0b1</p></div>
<div><p class="releaseinfo">BIND Version 9.12.0b2</p></div>
<div><p class="copyright">Copyright © 2000-2017 Internet Systems Consortium, Inc. ("ISC")</p></div>
</div>
<hr>
@@ -103,19 +103,19 @@
</dl></dd>
<dt><span class="section"><a href="Bv9ARM.ch04.html#dnssec.dynamic.zones">DNSSEC, Dynamic Zones, and Automatic Signing</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.3">Converting from insecure to secure</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.8">Dynamic DNS update method</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.16">Fully automatic zone signing</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.25">Private-type records</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.32">DNSKEY rollovers</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.34">Dynamic DNS update method</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.39">Automatic key rollovers</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.41">NSEC3PARAM rollovers via UPDATE</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.43">Converting from NSEC to NSEC3</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.45">Converting from NSEC3 to NSEC</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.47">Converting from secure to insecure</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.51">Periodic re-signing</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.53">NSEC3 and OPTOUT</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.2">Converting from insecure to secure</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.7">Dynamic DNS update method</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.15">Fully automatic zone signing</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.24">Private-type records</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.31">DNSKEY rollovers</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.33">Dynamic DNS update method</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.38">Automatic key rollovers</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.40">NSEC3PARAM rollovers via UPDATE</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.42">Converting from NSEC to NSEC3</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.44">Converting from NSEC3 to NSEC</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.46">Converting from secure to insecure</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.50">Periodic re-signing</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.52">NSEC3 and OPTOUT</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="Bv9ARM.ch04.html#rfc5011.support">Dynamic Trust Anchor Management</a></span></dt>
<dd><dl>
@@ -236,7 +236,7 @@
</dl></dd>
<dt><span class="appendix"><a href="Bv9ARM.ch09.html">A. Release Notes</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.12.0b1</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.12.0b2</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt>
@@ -436,6 +436,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
Binary file not shown.
+1 -4
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2010, 2011, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2010, 2011, 2015-2017 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -9,9 +9,6 @@
<!-- Converted by db4-upgrade version 1.0 -->
<section xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="dnssec.dynamic.zones"><info><title>DNSSEC, Dynamic Zones, and Automatic Signing</title></info>
<para>As of BIND 9.7.0 it is possible to change a dynamic zone
from insecure to signed and back again. A secure zone can use
either NSEC or NSEC3 chains.</para>
<section><info><title>Converting from insecure to secure</title></info>
</section>
+10
View File
@@ -389,6 +389,16 @@
</para>
</entry>
</row>
<row rowsep="0">
<entry colname="1">
<para><command>zoneload</command></para>
</entry>
<entry colname="2">
<para>
Loading of zones and creation of automatic empty zones.
</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
+1 -1
View File
@@ -90,6 +90,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -235,6 +235,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -625,6 +625,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+7 -1
View File
@@ -646,6 +646,12 @@
with TCP. By default, TCP retries are performed.
</p>
</dd>
<dt><span class="term"><code class="option">+[no]keepalive</code></span></dt>
<dd>
<p>
Send [or do not send] an EDNS Keepalive option.
</p>
</dd>
<dt><span class="term"><code class="option">+[no]keepopen</code></span></dt>
<dd>
<p>
@@ -1095,6 +1101,6 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -365,6 +365,6 @@ nsupdate -l
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -150,6 +150,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -270,6 +270,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -289,6 +289,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -250,6 +250,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -498,6 +498,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+5 -5
View File
@@ -121,12 +121,12 @@
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. For
TKEY and SIG(0) keys, the value must be DH (Diffie Hellman);
specifying this value will automatically set the
<code class="option">-T KEY</code> option as well.
TKEY, the value must be DH (Diffie Hellman); specifying
his value will automatically set the <code class="option">-T KEY</code>
option as well.
</p>
<p>
TSIG keys can also by generated by setting the value to
TSIG keys can also be generated by setting the value to
one of HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256,
HMAC-SHA384, or HMAC-SHA512. As with DH, specifying these
values will automatically set <code class="option">-T KEY</code>. Note,
@@ -596,6 +596,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -398,6 +398,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -171,6 +171,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -349,6 +349,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -725,6 +725,6 @@ db.example.com.signed
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -202,6 +202,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -143,6 +143,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -126,6 +126,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -375,6 +375,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -610,6 +610,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -200,6 +200,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -463,6 +463,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -117,6 +117,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -119,6 +119,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -121,6 +121,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -1039,6 +1039,6 @@ zone
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -492,6 +492,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -155,6 +155,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -420,6 +420,6 @@ nslookup -query=hinfo -timeout=10
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -832,6 +832,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -162,6 +162,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -200,6 +200,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -158,6 +158,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -123,6 +123,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -276,6 +276,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+1 -1
View File
@@ -268,6 +268,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>
+16 -10
View File
@@ -673,9 +673,15 @@
<dt><span class="term"><strong class="userinput"><code>secroots [<span class="optional">-</span>] [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
<dd>
<p>
Dump the server's security roots and negative trust anchors
for the specified views. If no view is specified, all views
are dumped.
Dump the security roots (i.e., trust anchors
configured via <span class="command"><strong>trusted-keys</strong></span>,
<span class="command"><strong>managed-keys</strong></span>, or
<span class="command"><strong>dnssec-validation auto</strong></span>) and negative trust
anchors for the specified views. If no view is specified, all
views are dumped. Security roots will indicate whether
they are configured as trusted keys, managed keys, or
initializing managed keys (managed keys that have not yet
been updated by a successful key refresh query).
</p>
<p>
If the first argument is "-", then the output is
@@ -838,15 +844,15 @@
<dd>
<p>
When called without arguments, display the current
values of the <span class="command"><strong>tcp-initial-timeout</strong></span>,
values of the <span class="command"><strong>tcp-initial-timeout</strong></span>,
<span class="command"><strong>tcp-idle-timeout</strong></span>,
<span class="command"><strong>tcp-keepalive-timeout</strong></span> and
<span class="command"><strong>tcp-advertised-timeout</strong></span> options.
When called with arguments, update these values. This
allows an administrator to make rapid adjustments when
under a denial of service attack. See the descriptions of
these options in the BIND 9 Administrator Reference Manual
for details of their use.
When called with arguments, update these values. This
allows an administrator to make rapid adjustments when
under a denial of service attack. See the descriptions of
these options in the BIND 9 Administrator Reference Manual
for details of their use.
</p>
</dd>
<dt><span class="term"><strong class="userinput"><code>thaw [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
@@ -996,6 +1002,6 @@
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b1</p>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.12.0b2</p>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More