Compare commits
281
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cec997f782 | ||
|
|
14b0e01fee | ||
|
|
b243b635b6 | ||
|
|
bfcce7e860 | ||
|
|
29c57b9bce | ||
|
|
f729b2b579 | ||
|
|
912f970092 | ||
|
|
648b5e7c51 | ||
|
|
70e3fb04cf | ||
|
|
05372a69b7 | ||
|
|
181225ec47 | ||
|
|
612be78780 | ||
|
|
e86b545a3a | ||
|
|
310377bccf | ||
|
|
b2307b2546 | ||
|
|
b6a5a9b29e | ||
|
|
77a22353b2 | ||
|
|
71f67a0bf6 | ||
|
|
44f2796dd6 | ||
|
|
38be7f6d9b | ||
|
|
f8efc9c0a4 | ||
|
|
06b52cc939 | ||
|
|
cd8d44403b | ||
|
|
c964a71c76 | ||
|
|
5254978eec | ||
|
|
ba787b3a57 | ||
|
|
bc22789bcb | ||
|
|
5f12985f0b | ||
|
|
2c1307f061 | ||
|
|
e26c5df16f | ||
|
|
fba6c2e982 | ||
|
|
3235c3b2e4 | ||
|
|
840c9348bf | ||
|
|
3395f6fac3 | ||
|
|
7c64547d95 | ||
|
|
93c176d2d6 | ||
|
|
44d995992a | ||
|
|
a5ea45f9f6 | ||
|
|
171843167b | ||
|
|
6ab800a82b | ||
|
|
3208b02910 | ||
|
|
736cbc97d7 | ||
|
|
58c141e9b6 | ||
|
|
494a3b33a2 | ||
|
|
d6b79d3d43 | ||
|
|
57fbc03b11 | ||
|
|
6a896a0247 | ||
|
|
13e2a127f2 | ||
|
|
5aba593545 | ||
|
|
cf53ca27d5 | ||
|
|
e416b6f57c | ||
|
|
a87296cb7b | ||
|
|
6fc28063f1 | ||
|
|
fb93276320 | ||
|
|
3b412a0634 | ||
|
|
d23375e5b3 | ||
|
|
e34eec79a8 | ||
|
|
7670515fac | ||
|
|
14e5f05a5e | ||
|
|
5a21fe753d | ||
|
|
1e943e3f3a | ||
|
|
ade6a20c56 | ||
|
|
cf063314f2 | ||
|
|
bf74665d5c | ||
|
|
800c5a61a2 | ||
|
|
2f859b6f9e | ||
|
|
a4d75d92aa | ||
|
|
c178a8e904 | ||
|
|
19ef6d7b21 | ||
|
|
d76f6a67dd | ||
|
|
585a420c64 | ||
|
|
d177c5ffc1 | ||
|
|
000eec7831 | ||
|
|
eaae1216b3 | ||
|
|
1bca37c8e1 | ||
|
|
684424a6fe | ||
|
|
f691251b95 | ||
|
|
df835b580b | ||
|
|
615822391e | ||
|
|
ef957e6d25 | ||
|
|
9e2a1ba979 | ||
|
|
da38b41d83 | ||
|
|
c132205eb2 | ||
|
|
e25d38c68b | ||
|
|
bb426bb13a | ||
|
|
fa7f2ef594 | ||
|
|
571b3a4005 | ||
|
|
c4c2d94e61 | ||
|
|
e71e7673b3 | ||
|
|
5c2ea775c4 | ||
|
|
059ff0206b | ||
|
|
90f7a76891 | ||
|
|
7aab54de6f | ||
|
|
cc0b343e78 | ||
|
|
2e0129aba4 | ||
|
|
018cb006e1 | ||
|
|
4230e366b4 | ||
|
|
a6c47e456e | ||
|
|
aaac93da3c | ||
|
|
51e274b187 | ||
|
|
191ebf1076 | ||
|
|
4f6706e0ed | ||
|
|
ef5ecb3e6d | ||
|
|
599d257fad | ||
|
|
7aa9ea8709 | ||
|
|
0a9b55e23e | ||
|
|
6a2292d0f4 | ||
|
|
a014677c1f | ||
|
|
ef3b87e15a | ||
|
|
5e29734aee | ||
|
|
dddb3e2976 | ||
|
|
a85fdc1c5b | ||
|
|
d37fb4625c | ||
|
|
d44775b859 | ||
|
|
dc089b3339 | ||
|
|
06da554649 | ||
|
|
cbd58053e6 | ||
|
|
b032182b8a | ||
|
|
303f4e8b5d | ||
|
|
e19f246994 | ||
|
|
ed829a6ba4 | ||
|
|
7c95fa1c87 | ||
|
|
b979f79037 | ||
|
|
42f67ba196 | ||
|
|
988f5de10a | ||
|
|
8fb952e6ab | ||
|
|
e79cb31fdf | ||
|
|
e59f44f51d | ||
|
|
30c86d5649 | ||
|
|
9f91102603 | ||
|
|
85fec73a21 | ||
|
|
5294428582 | ||
|
|
fe8d9962d2 | ||
|
|
b329876bf1 | ||
|
|
4c0adf3d56 | ||
|
|
5d6a5c810c | ||
|
|
5c33d89ff1 | ||
|
|
b480d1eaa8 | ||
|
|
5c36169128 | ||
|
|
d6a3fbe09d | ||
|
|
042b8c6f08 | ||
|
|
1a22ae18fe | ||
|
|
5681b48b5d | ||
|
|
5a03cc6d01 | ||
|
|
072b32faf0 | ||
|
|
27fb719fd5 | ||
|
|
69b5fafb03 | ||
|
|
fd7a1d9cb9 | ||
|
|
4cc09536a6 | ||
|
|
9bf7f18d02 | ||
|
|
78f761222a | ||
|
|
53fad7791c | ||
|
|
d52acebeb8 | ||
|
|
0e24c4d100 | ||
|
|
33132cbfc8 | ||
|
|
36d1e278c1 | ||
|
|
89961ad9e5 | ||
|
|
9c36e9c90d | ||
|
|
bd08ea42dd | ||
|
|
4c8cd59241 | ||
|
|
9ded20d5e9 | ||
|
|
16c46c3167 | ||
|
|
6475d08439 | ||
|
|
7a58c9d770 | ||
|
|
d59b79c94f | ||
|
|
96ed39d2d0 | ||
|
|
bb0a05e72b | ||
|
|
7e7a5bb189 | ||
|
|
67b1e54716 | ||
|
|
c34b3b98ab | ||
|
|
d4d3eeaa6f | ||
|
|
4a91af9bbf | ||
|
|
132e7795f9 | ||
|
|
941db929d3 | ||
|
|
14dc904052 | ||
|
|
6774dbb0ab | ||
|
|
ba1c79564b | ||
|
|
3b86824ac0 | ||
|
|
1773b2c7cc | ||
|
|
4404974d84 | ||
|
|
cb5101969f | ||
|
|
9b9f790a8b | ||
|
|
f662d5484e | ||
|
|
2aa30a80b1 | ||
|
|
c8eb726046 | ||
|
|
7e1ed15762 | ||
|
|
8e369ab833 | ||
|
|
5088140fc7 | ||
|
|
a4e58f73b5 | ||
|
|
4d06005eae | ||
|
|
9bc567aad7 | ||
|
|
f6911d4295 | ||
|
|
9a521b1359 | ||
|
|
747bceba00 | ||
|
|
ec8e6c1f44 | ||
|
|
99567a8e1a | ||
|
|
6d527f5439 | ||
|
|
574dd7e2a9 | ||
|
|
c2140b163e | ||
|
|
493c6da5ee | ||
|
|
48e0471f97 | ||
|
|
fd1f64696e | ||
|
|
5075f3faef | ||
|
|
ee74cc4d67 | ||
|
|
b1ef8c1d9c | ||
|
|
d58a9a8b0e | ||
|
|
893517ec31 | ||
|
|
f4c1681dad | ||
|
|
416b1cec1d | ||
|
|
40121b345d | ||
|
|
7a3fcfe34c | ||
|
|
eee54aab6e | ||
|
|
8ed2ff2ef0 | ||
|
|
0374e1c3fd | ||
|
|
7e3fc6aa03 | ||
|
|
bbf18146c6 | ||
|
|
a847e6d035 | ||
|
|
5f73c315d0 | ||
|
|
76616f708b | ||
|
|
d9a382fe4b | ||
|
|
b69bb481cf | ||
|
|
7001d93870 | ||
|
|
98bbc626bc | ||
|
|
3eab3b21ec | ||
|
|
607423e5a6 | ||
|
|
f546a77f77 | ||
|
|
7ffcfb1981 | ||
|
|
2cb473514f | ||
|
|
2af6a352ec | ||
|
|
3ab43d029b | ||
|
|
53a5106d21 | ||
|
|
f09733999c | ||
|
|
879e17b77d | ||
|
|
77caf49c98 | ||
|
|
d1f3eab8a3 | ||
|
|
b1e6c5d922 | ||
|
|
1da3a1fc67 | ||
|
|
2b51d5874c | ||
|
|
0ed1d4154d | ||
|
|
749598d94f | ||
|
|
82820349cb | ||
|
|
8a7c841aed | ||
|
|
96d9eed2ac | ||
|
|
4a63f0253c | ||
|
|
c0749224c8 | ||
|
|
84499d7f41 | ||
|
|
e12ba790a1 | ||
|
|
99a488899e | ||
|
|
a980141495 | ||
|
|
be2380edf9 | ||
|
|
ef6247f49d | ||
|
|
5cf9dc5eb2 | ||
|
|
fe00fac13c | ||
|
|
0113327dd2 | ||
|
|
cb37b4aae0 | ||
|
|
298f3d5340 | ||
|
|
d7095706e9 | ||
|
|
81f3fdadac | ||
|
|
251446d350 | ||
|
|
cb68b39428 | ||
|
|
f3f3480ed2 | ||
|
|
5a248803e3 | ||
|
|
d8cb1587ec | ||
|
|
0163c3b813 | ||
|
|
5b419ede19 | ||
|
|
e552233bf6 | ||
|
|
2cc7c4d62c | ||
|
|
7274c956e2 | ||
|
|
d8f38bba3d | ||
|
|
22a32060c1 | ||
|
|
67b7334b62 | ||
|
|
7d1bf2cc8d | ||
|
|
993a57a5eb | ||
|
|
bfb76ec3a4 | ||
|
|
ef2bfc219c | ||
|
|
cd11163b6d | ||
|
|
469254ba3e | ||
|
|
cb2533d0c1 | ||
|
|
67df162ebd | ||
|
|
62563bdc74 | ||
|
|
16d9d739b5 |
@@ -1,4 +1,154 @@
|
|||||||
4847. [bug] dnssec-dnskey-kskonly was not being honoured for
|
--- 9.12.1-P2 released ---
|
||||||
|
|
||||||
|
--- 9.12.1-P1 (withdrawn) ---
|
||||||
|
|
||||||
|
4934. [security] Simultaneous use of stale cache records and NSEC
|
||||||
|
aggressive negative caching could trigger a recursion
|
||||||
|
loop. (CVE-2018-5737) [GL #185]
|
||||||
|
|
||||||
|
4914. [security] A bug in zone database reference counting could lead to
|
||||||
|
a crash when multiple versions of a slave zone were
|
||||||
|
transferred from a master in close succession.
|
||||||
|
(CVE-2018-5736) [GL #134]
|
||||||
|
|
||||||
|
--- 9.12.1 released ---
|
||||||
|
|
||||||
|
--- 9.12.1rc2 released ---
|
||||||
|
|
||||||
|
4904. [bug] Temporarily revert change #4859. [GL #124]
|
||||||
|
|
||||||
|
--- 9.12.1rc1 released ---
|
||||||
|
|
||||||
|
4894. [bug] named could crash while rolling a dnstap output file.
|
||||||
|
[RT #46942]
|
||||||
|
|
||||||
|
4893. [bug] Address various issues reported by cppcheck. [GL #51]
|
||||||
|
|
||||||
|
4892. [bug] named could leak memory when "rndc reload" was invoked
|
||||||
|
before all zone loading actions triggered by a previous
|
||||||
|
"rndc reload" command were completed. [RT #47076]
|
||||||
|
|
||||||
|
4889. [func] Warn about the use of old root keys without the new
|
||||||
|
root key being present. Warn about dlv.isc.org's
|
||||||
|
key being present. Warn about both managed and
|
||||||
|
trusted root keys being present. [RT #43670]
|
||||||
|
|
||||||
|
--- 9.12.1b1 released ---
|
||||||
|
|
||||||
|
4888. [test] Initialize sockets correctly in sample-update so
|
||||||
|
that the nsupdate system test will run on Windows.
|
||||||
|
[RT #47097]
|
||||||
|
|
||||||
|
4887. [test] Enable the rpzrecurse test to run on Windows.
|
||||||
|
[RT #47093]
|
||||||
|
|
||||||
|
4886. [doc] Document dig -u in manpage. [RT #47150]
|
||||||
|
|
||||||
|
4885. [security] update-policy rules that otherwise ignore the name
|
||||||
|
field now require that it be set to "." to ensure
|
||||||
|
that any type list present is properly interpreted.
|
||||||
|
[RT #47126]
|
||||||
|
|
||||||
|
4884. [bug] named could crash on shutdown due to a race between
|
||||||
|
shutdown_server() and ns__client_request(). [RT #47120]
|
||||||
|
|
||||||
|
4883. [cleanup] Improved debugging output from dnssec-cds. [RT #47026]
|
||||||
|
|
||||||
|
4882. [bug] Address potential memory leak in
|
||||||
|
dns_update_signaturesinc. [RT #47084]
|
||||||
|
|
||||||
|
4881. [bug] Only include dst_openssl.h when OpenSSL is required.
|
||||||
|
[RT #47068]
|
||||||
|
|
||||||
|
4880. [bug] Named wasn't returning the target of a cross-zone
|
||||||
|
CNAME between two served zones when recursion was
|
||||||
|
desired and available (RD=1, RA=1). (When this is
|
||||||
|
not the case, the CNAME target is deliberately
|
||||||
|
withheld to prevent accidental cache poisoning.)
|
||||||
|
[RT #47078]
|
||||||
|
|
||||||
|
4879. [bug] dns_rdata_caa:value_len field was too small.
|
||||||
|
[RT #47086]
|
||||||
|
|
||||||
|
4878. [bug] List 'ply' as a requirement for the 'isc' python
|
||||||
|
package. [RT #47065]
|
||||||
|
|
||||||
|
4877. [bug] Address integer overflow when exponentially
|
||||||
|
backing off retry intervals. [RT #47041]
|
||||||
|
|
||||||
|
4876. [bug] Address deadlock with accessing a keytable. [RT #47000]
|
||||||
|
|
||||||
|
4875. [bug] Address compile failures on older systems. [RT #47015]
|
||||||
|
|
||||||
|
4874. [bug] Wrong time display when reporting new keywarntime.
|
||||||
|
[RT #47042]
|
||||||
|
|
||||||
|
4873. [doc] Grammars for named.conf included in the ARM are now
|
||||||
|
automatically generated by the configuration parser
|
||||||
|
itself. As a side effect of the work needed to
|
||||||
|
separate zone type grammars from each other, this
|
||||||
|
also makes checking of zone statements in
|
||||||
|
named-checkconf more correct and consistent.
|
||||||
|
[RT #36957]
|
||||||
|
|
||||||
|
4872. [bug] Don't permit loading meta RR types such as TKEY
|
||||||
|
from master files. [RT #47009]
|
||||||
|
|
||||||
|
4871. [bug] Fix configure glitch in detecting stdatomic.h
|
||||||
|
support on systems with multiple compilers.
|
||||||
|
[RT #46959]
|
||||||
|
|
||||||
|
4870. [test] Update included ATF library to atf-0.21 preserving
|
||||||
|
the ATF tool. [RT #46967]
|
||||||
|
|
||||||
|
4869. [bug] Address some cases where NULL with zero length could
|
||||||
|
be passed to memmove which is undefined behavior and
|
||||||
|
can lead to bad optimization. [RT #46888]
|
||||||
|
|
||||||
|
4867. [cleanup] Normalize rndc on/off commands (validation,
|
||||||
|
querylog, serve-stale) so they all accept the
|
||||||
|
same synonyms for on/off (yes/no, true/false,
|
||||||
|
enable/disable). Thanks to Tony Finch. [RT #47022]
|
||||||
|
|
||||||
|
4866. [port] DST library initialization verifies MD5 (when MD5
|
||||||
|
was not disabled) and SHA-1 hash and HMAC support.
|
||||||
|
[RT #46764]
|
||||||
|
|
||||||
|
4864. [bug] named acting as a slave for a catalog zone crashed if
|
||||||
|
the latter contained a master definition without an IP
|
||||||
|
address. [RT #45999]
|
||||||
|
|
||||||
|
4861. [bug] The isc_crc64 unit test was not endian independent.
|
||||||
|
[RT #46973]
|
||||||
|
|
||||||
|
4860. [bug] isc_int8_t should be signed char. [RT #46973]
|
||||||
|
|
||||||
|
|
||||||
|
4857. [bug] Maintain attach/detach semantics for event->db,
|
||||||
|
event->node, event->rdataset and event->sigrdataset
|
||||||
|
in query.c. [RT #46891]
|
||||||
|
|
||||||
|
4856. [bug] 'rndc zonestatus' reported the wrong underlying type
|
||||||
|
for a inline slave zone. [RT #46875]
|
||||||
|
|
||||||
|
4855. [bug] isc_time_formatshorttimestamp produced incorrect
|
||||||
|
output. [RT #46938]
|
||||||
|
|
||||||
|
4854. [bug] query_synthcnamewildcard should stop generating the
|
||||||
|
response if query_synthwildcard fails. [RT #46939]
|
||||||
|
|
||||||
|
4853. [bug] Add REQUIRE's and INSIST's to isc_time_formatISO8601L
|
||||||
|
and isc_time_formatISO8601Lms. [RT #46916]
|
||||||
|
|
||||||
|
4852. [bug] Handle strftime() failing in isc_time_formatISO8601ms.
|
||||||
|
Add REQUIRE's and INSIST's to isc_time_formattimestamp,
|
||||||
|
isc_time_formathttptimestamp, isc_time_formatISO8601,
|
||||||
|
isc_time_formatISO8601ms. [RT #46892]
|
||||||
|
|
||||||
|
4851. [port] Support using kyua as well as atf-run to run the unit
|
||||||
|
tests. [RT #46853]
|
||||||
|
|
||||||
|
4847. [bug] dnssec-dnskey-kskonly was not being honored for
|
||||||
CDS and CDNSKEY. [RT #46755]
|
CDS and CDNSKEY. [RT #46755]
|
||||||
|
|
||||||
4846. [test] Adjust timing values in runtime system test. Address
|
4846. [test] Adjust timing values in runtime system test. Address
|
||||||
@@ -15,6 +165,34 @@
|
|||||||
4842. [bug] Conditionally compile opensslecdsa_link.c to avoid
|
4842. [bug] Conditionally compile opensslecdsa_link.c to avoid
|
||||||
warnings about unused function. [RT #46790]
|
warnings about unused function. [RT #46790]
|
||||||
|
|
||||||
|
--- 9.12.0 released ---
|
||||||
|
|
||||||
|
--- 9.12.0rc3 released ---
|
||||||
|
|
||||||
|
4863. [bug] Fix various other bugs reported by Valgrind's
|
||||||
|
memcheck tool. [RT #46978]
|
||||||
|
|
||||||
|
4862. [bug] The rdata flags for RRSIG were not being properly set
|
||||||
|
when constructing a rdataslab. [RT #46978]
|
||||||
|
|
||||||
|
--- 9.12.0rc2 released ---
|
||||||
|
|
||||||
|
4859. [bug] A loop was possible when attempting to validate
|
||||||
|
unsigned CNAME responses from secure zones;
|
||||||
|
this caused a delay in returning SERVFAIL and
|
||||||
|
also increased the chances of encountering
|
||||||
|
CVE-2017-3145. [RT #46839]
|
||||||
|
|
||||||
|
4858. [security] Addresses could be referenced after being freed
|
||||||
|
in resolver.c, causing an assertion failure.
|
||||||
|
(CVE-2017-3145) [RT #46839]
|
||||||
|
|
||||||
|
4850. [bug] Named failed to restart with multiple added zones in
|
||||||
|
lmdb database. [RT #46889]
|
||||||
|
|
||||||
|
4849. [bug] Duplicate zones could appear in the .nzf file if
|
||||||
|
addzone failed. [RT #46435]
|
||||||
|
|
||||||
--- 9.12.0rc1 released ---
|
--- 9.12.0rc1 released ---
|
||||||
|
|
||||||
4841. [bug] Address -fsanitize=undefined warnings. [RT #46786]
|
4841. [bug] Address -fsanitize=undefined warnings. [RT #46786]
|
||||||
|
|||||||
+186
@@ -0,0 +1,186 @@
|
|||||||
|
BIND Source Access and Contributor Guidelines
|
||||||
|
|
||||||
|
Feb 22, 2018
|
||||||
|
|
||||||
|
Contents
|
||||||
|
|
||||||
|
1. Access to source code
|
||||||
|
2. Reporting bugs
|
||||||
|
3. Contributing code
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
|
||||||
|
Thank you for using BIND!
|
||||||
|
|
||||||
|
BIND is open source software that implements the Domain Name System (DNS)
|
||||||
|
protocols for the Internet. It is a reference implementation of those
|
||||||
|
protocols, but it is also production-grade software, suitable for use in
|
||||||
|
high-volume and high-reliability applications. It is by far the most
|
||||||
|
widely used DNS software, providing a robust and stable platform on top of
|
||||||
|
which organizations can build distributed computing systems with the
|
||||||
|
knowledge that those systems are fully compliant with published DNS
|
||||||
|
standards.
|
||||||
|
|
||||||
|
BIND is and will always remain free and openly available. It can be used
|
||||||
|
and modified in any way by anyone.
|
||||||
|
|
||||||
|
BIND is maintained by the Internet Systems Consortium, a public-benefit
|
||||||
|
501(c)(3) nonprofit, using a "managed open source" approach: anyone can
|
||||||
|
see the source, but only ISC employees have commit access. Until recently,
|
||||||
|
the source could only be seen once ISC had published a release: read
|
||||||
|
access to the source repository was restricted just as commit access was.
|
||||||
|
That's now changing, with the opening of a public git mirror to the BIND
|
||||||
|
source tree (see below).
|
||||||
|
|
||||||
|
Access to source code
|
||||||
|
|
||||||
|
Public BIND releases are always available from the ISC FTP site.
|
||||||
|
|
||||||
|
A public-access GIT repository is also available at https://gitlab.isc.org
|
||||||
|
. This repository is a mirror, updated several times per day, of the
|
||||||
|
source repository maintained by ISC. It contains all the public release
|
||||||
|
branches; upcoming releases can be viewed in their current state at any
|
||||||
|
time. It does not contain development branches or unreviewed work in
|
||||||
|
progress. Commits which address security vulnerablilities are withheld
|
||||||
|
until after public disclosure.
|
||||||
|
|
||||||
|
You can browse the source online via https://gitlab.isc.org/isc-projects/
|
||||||
|
bind9
|
||||||
|
|
||||||
|
To clone the repository, use:
|
||||||
|
|
||||||
|
$ git clone https://gitlab.isc.org/isc-projects/bind9.git
|
||||||
|
|
||||||
|
Release branch names are of the form v9_X, where X represents the second
|
||||||
|
number in the BIND 9 version number. So, to check out the BIND 9.12
|
||||||
|
branch, use:
|
||||||
|
|
||||||
|
$ git checkout v9_12
|
||||||
|
|
||||||
|
Whenever a branch is ready for publication, a tag will be placed of the
|
||||||
|
form v9_X_Y. The 9.12.0 release, for instance, is tagged as v9_12_0.
|
||||||
|
|
||||||
|
The branch in which the next major release is being developed is called
|
||||||
|
master.
|
||||||
|
|
||||||
|
Reporting bugs
|
||||||
|
|
||||||
|
Reports of flaws in the BIND package, including software bugs, errors in
|
||||||
|
the documentation, missing files in the tarball, suggested changes or
|
||||||
|
requests for new features, etc, can be filed using https://gitlab.isc.org/
|
||||||
|
isc-projects/bind9/issues.
|
||||||
|
|
||||||
|
Due to a large ticket backlog, we are sometimes slow to respond,
|
||||||
|
especially if a bug is cosmetic or if a feature request is vague or low in
|
||||||
|
priority, but we will try at least to acknowledge legitimate bug reports
|
||||||
|
within a week.
|
||||||
|
|
||||||
|
ISC's ticketing system is publicly readable; however, you must have an
|
||||||
|
account to file a new issue. You can either register locally or use
|
||||||
|
credentials from an existing account at GitHub, GitLab, Google, Twitter,
|
||||||
|
or Facebook.
|
||||||
|
|
||||||
|
Reporting possible security issues
|
||||||
|
|
||||||
|
If you think you may be seeing a potential security vulnerability in BIND
|
||||||
|
(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
|
||||||
|
report it immediately by emailing to security-officer@isc.org. Plain-text
|
||||||
|
e-mail is not a secure choice for communications concerning undisclosed
|
||||||
|
security issues so please encrypt your communications to us if possible,
|
||||||
|
using the ISC Security Officer public key.
|
||||||
|
|
||||||
|
Do not discuss undisclosed security vulnerabilites on any public mailing
|
||||||
|
list. ISC has a long history of handling reported vulnerabilities promptly
|
||||||
|
and effectively and we respect and acknowledge responsible reporters.
|
||||||
|
|
||||||
|
ISC's Security Vulnerability Disclosure Policy is documented at https://
|
||||||
|
kb.isc.org/article/AA-00861/0.
|
||||||
|
|
||||||
|
If you have a crash, you may want to consult ?What to do if your BIND or
|
||||||
|
DHCP server has crashed.?
|
||||||
|
|
||||||
|
Contributing code
|
||||||
|
|
||||||
|
BIND is licensed under the Mozilla Public License 2.0. Earier versions
|
||||||
|
(BIND 9.10 and earlier) were licensed under the ISC License
|
||||||
|
|
||||||
|
ISC does not require an explicit copyright assignment for patch
|
||||||
|
contributions. However, by submitting a patch to ISC, you implicitly
|
||||||
|
certify that you are the author of the code, that you intend to reliquish
|
||||||
|
exclusive copyright, and that you grant permission to publish your work
|
||||||
|
under the open source license used for the BIND version(s) to which your
|
||||||
|
patch will be applied.
|
||||||
|
|
||||||
|
BIND code
|
||||||
|
|
||||||
|
Patches for BIND may be submitted directly via merge requests in ISC's
|
||||||
|
Gitlab source repository for BIND.
|
||||||
|
|
||||||
|
Patches can also be submitted as diffs against a specific version of BIND
|
||||||
|
-- preferably the current top of the master branch. Diffs may be generated
|
||||||
|
using either git format-patch or git diff.
|
||||||
|
|
||||||
|
Those wanting to write code for BIND may be interested in the developer
|
||||||
|
information page, which includes information about BIND design and coding
|
||||||
|
practices, including discussion of internal APIs and overall system
|
||||||
|
architecture. (This is a work in progress, and still quite preliminary.)
|
||||||
|
|
||||||
|
Every patch submitted will be reviewed by ISC engineers following our code
|
||||||
|
review process before it is merged.
|
||||||
|
|
||||||
|
It may take considerable time to review patch submissions, especially if
|
||||||
|
they don't meet ISC style and quality guidelines. If a patch is a good
|
||||||
|
idea, we can and will do additional work to bring it up to par, but if
|
||||||
|
we're busy with other work, it may take us a long time to get to it.
|
||||||
|
|
||||||
|
To ensure your patch is acted on as promptly as possible, please:
|
||||||
|
|
||||||
|
* Try to adhere to the BIND 9 coding style.
|
||||||
|
* Run make check to ensure your change hasn't caused any functional
|
||||||
|
regressions.
|
||||||
|
* Document your work, both in the patch itself and in the accompanying
|
||||||
|
email.
|
||||||
|
* In patches that make non-trivial functional changes, include system
|
||||||
|
tests if possible; when introducing or substantially altering a
|
||||||
|
library API, include unit tests. See Testing for more information.
|
||||||
|
|
||||||
|
Changes to configure
|
||||||
|
|
||||||
|
If you need to make changes to configure, you should not edit it directly;
|
||||||
|
instead, edit configure.in, then run autoconf. Similarly, instead of
|
||||||
|
editing config.h.in directly, edit configure.in and run autoheader.
|
||||||
|
|
||||||
|
When submitting a patch as a diff, it's fine to omit the configure diffs
|
||||||
|
to save space. Just send the configure.in diffs and we'll generate the new
|
||||||
|
configure during the review process.
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
|
||||||
|
All functional changes should be documented. There are three types of
|
||||||
|
documentation in the BIND source tree:
|
||||||
|
|
||||||
|
* Man pages are kept alongside the source code for the commands they
|
||||||
|
document, in files ending in .docbook; for example, the named man page
|
||||||
|
is bin/named/named.docbook.
|
||||||
|
* The BIND 9 Administrator Reference Manual is mostly in doc/arm/
|
||||||
|
Bv9ARM-book.xml, plus a few other XML files that are included in it.
|
||||||
|
* API documentation is in the header file describing the API, in
|
||||||
|
Doxygen-formatted comments.
|
||||||
|
|
||||||
|
It is not necessary to edit any documentation files other than these; all
|
||||||
|
PDF, HTML, and nroff-format man page files will be updated automatically
|
||||||
|
from the docbook and XML files after merging.
|
||||||
|
|
||||||
|
Patches to improve existing documentation are also very welcome!
|
||||||
|
|
||||||
|
Tests
|
||||||
|
|
||||||
|
BIND is a large and complex project. We rely heavily on continuous
|
||||||
|
automated testing and cannot merge new code without adequate test
|
||||||
|
coverage. Please see the 'Testing' section of doc/dev/dev.md for more
|
||||||
|
information.
|
||||||
|
|
||||||
|
Thanks
|
||||||
|
|
||||||
|
Thank you for your interest in contributing to the ongoing development of
|
||||||
|
BIND.
|
||||||
+198
@@ -0,0 +1,198 @@
|
|||||||
|
<!--
|
||||||
|
- Copyright (C) 2018 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/.
|
||||||
|
-->
|
||||||
|
## BIND Source Access and Contributor Guidelines
|
||||||
|
*Feb 22, 2018*
|
||||||
|
|
||||||
|
### Contents
|
||||||
|
|
||||||
|
1. [Access to source code](#access)
|
||||||
|
1. [Reporting bugs](#bugs)
|
||||||
|
1. [Contributing code](#contrib)
|
||||||
|
|
||||||
|
### Introduction
|
||||||
|
|
||||||
|
Thank you for using BIND!
|
||||||
|
|
||||||
|
BIND is open source software that implements the Domain Name System (DNS)
|
||||||
|
protocols for the Internet. It is a reference implementation of those
|
||||||
|
protocols, but it is also production-grade software, suitable for use in
|
||||||
|
high-volume and high-reliability applications. It is by far the most
|
||||||
|
widely used DNS software, providing a robust and stable platform on top of
|
||||||
|
which organizations can build distributed computing systems with the
|
||||||
|
knowledge that those systems are fully compliant with published DNS
|
||||||
|
standards.
|
||||||
|
|
||||||
|
BIND is and will always remain free and openly available. It can be
|
||||||
|
used and modified in any way by anyone.
|
||||||
|
|
||||||
|
BIND is maintained by the [Internet Systems Consortium](https://www.isc.org),
|
||||||
|
a public-benefit 501(c)(3) nonprofit, using a "managed open source" approach:
|
||||||
|
anyone can see the source, but only ISC employees have commit access.
|
||||||
|
Until recently, the source could only be seen once ISC had published
|
||||||
|
a release: read access to the source repository was restricted just
|
||||||
|
as commit access was. That's now changing, with the opening of a
|
||||||
|
public git mirror to the BIND source tree (see below).
|
||||||
|
|
||||||
|
### <a name="access"></a>Access to source code
|
||||||
|
|
||||||
|
Public BIND releases are always available from the
|
||||||
|
[ISC FTP site](ftp://ftp.isc.org/isc/bind9).
|
||||||
|
|
||||||
|
A public-access GIT repository is also available at
|
||||||
|
[https://gitlab.isc.org](https://gitlab.isc.org).
|
||||||
|
This repository is a mirror, updated several times per day, of the
|
||||||
|
source repository maintained by ISC. It contains all the public release
|
||||||
|
branches; upcoming releases can be viewed in their current state at any
|
||||||
|
time. It does *not* contain development branches or unreviewed work in
|
||||||
|
progress. Commits which address security vulnerablilities are withheld
|
||||||
|
until after public disclosure.
|
||||||
|
|
||||||
|
You can browse the source online via
|
||||||
|
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9)
|
||||||
|
|
||||||
|
To clone the repository, use:
|
||||||
|
|
||||||
|
> $ git clone https://gitlab.isc.org/isc-projects/bind9.git
|
||||||
|
|
||||||
|
Release branch names are of the form `v9_X`, where X represents the second
|
||||||
|
number in the BIND 9 version number. So, to check out the BIND 9.12
|
||||||
|
branch, use:
|
||||||
|
|
||||||
|
> $ git checkout v9_12
|
||||||
|
|
||||||
|
Whenever a branch is ready for publication, a tag will be placed of the
|
||||||
|
form `v9_X_Y`. The 9.12.0 release, for instance, is tagged as `v9_12_0`.
|
||||||
|
|
||||||
|
The branch in which the next major release is being developed is called
|
||||||
|
`master`.
|
||||||
|
|
||||||
|
### <a name="bugs"></a>Reporting bugs
|
||||||
|
|
||||||
|
Reports of flaws in the BIND package, including software bugs, errors
|
||||||
|
in the documentation, missing files in the tarball, suggested changes
|
||||||
|
or requests for new features, etc, can be filed using
|
||||||
|
[https://gitlab.isc.org/isc-projects/bind9/issues](https://gitlab.isc.org/isc-projects/bind9/issues).
|
||||||
|
|
||||||
|
Due to a large ticket backlog, we are sometimes slow to respond,
|
||||||
|
especially if a bug is cosmetic or if a feature request is vague or
|
||||||
|
low in priority, but we will try at least to acknowledge legitimate
|
||||||
|
bug reports within a week.
|
||||||
|
|
||||||
|
ISC's ticketing system is publicly readable; however, you must have
|
||||||
|
an account to file a new issue. You can either register locally or
|
||||||
|
use credentials from an existing account at GitHub, GitLab, Google,
|
||||||
|
Twitter, or Facebook.
|
||||||
|
|
||||||
|
### Reporting possible security issues
|
||||||
|
If you think you may be seeing a potential security vulnerability in BIND
|
||||||
|
(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
|
||||||
|
report it immediately by emailing to security-officer@isc.org. Plain-text
|
||||||
|
e-mail is not a secure choice for communications concerning undisclosed
|
||||||
|
security issues so please encrypt your communications to us if possible,
|
||||||
|
using the [ISC Security Officer public key](https://www.isc.org/downloads/software-support-policy/openpgp-key/).
|
||||||
|
|
||||||
|
Do not discuss undisclosed security vulnerabilites on any public mailing list.
|
||||||
|
ISC has a long history of handling reported vulnerabilities promptly and
|
||||||
|
effectively and we respect and acknowledge responsible reporters.
|
||||||
|
|
||||||
|
ISC's Security Vulnerability Disclosure Policy is documented at [https://kb.isc.org/article/AA-00861/0](https://kb.isc.org/article/AA-00861/0).
|
||||||
|
|
||||||
|
If you have a crash, you may want to consult
|
||||||
|
[‘What to do if your BIND or DHCP server has crashed.’](https://kb.isc.org/article/AA-00340/89/What-to-do-if-your-BIND-or-DHCP-server-has-crashed.html)
|
||||||
|
|
||||||
|
### <a name="bugs"></a>Contributing code
|
||||||
|
|
||||||
|
BIND is licensed under the
|
||||||
|
[Mozilla Public License 2.0](http://www.isc.org/downloads/software-support-policy/isc-license/).
|
||||||
|
Earier versions (BIND 9.10 and earlier) were licensed under the [ISC License](http://www.isc.org/downloads/software-support-policy/isc-license/)
|
||||||
|
|
||||||
|
ISC does not require an explicit copyright assignment for patch
|
||||||
|
contributions. However, by submitting a patch to ISC, you implicitly
|
||||||
|
certify that you are the author of the code, that you intend to reliquish
|
||||||
|
exclusive copyright, and that you grant permission to publish your work
|
||||||
|
under the open source license used for the BIND version(s) to which your
|
||||||
|
patch will be applied.
|
||||||
|
|
||||||
|
#### <a name="bind"></a>BIND code
|
||||||
|
|
||||||
|
Patches for BIND may be submitted directly via merge requests in
|
||||||
|
[ISC's Gitlab](https://gitlab.isc.org/isc-projects/bind9/) source
|
||||||
|
repository for BIND.
|
||||||
|
|
||||||
|
Patches can also be submitted as diffs against a specific version of
|
||||||
|
BIND -- preferably the current top of the `master` branch. Diffs may
|
||||||
|
be generated using either `git format-patch` or `git diff`.
|
||||||
|
|
||||||
|
Those wanting to write code for BIND may be interested in the
|
||||||
|
[developer information](doc/dev/dev.md) page, which includes information
|
||||||
|
about BIND design and coding practices, including discussion of internal
|
||||||
|
APIs and overall system architecture. (This is a work in progress, and
|
||||||
|
still quite preliminary.)
|
||||||
|
|
||||||
|
Every patch submitted will be reviewed by ISC engineers following our
|
||||||
|
[code review process](doc/dev/dev.md#reviews) before it is merged.
|
||||||
|
|
||||||
|
It may take considerable time to review patch submissions, especially if
|
||||||
|
they don't meet ISC style and quality guidelines. If a patch is a good
|
||||||
|
idea, we can and will do additional work to bring it up to par, but if
|
||||||
|
we're busy with other work, it may take us a long time to get to it.
|
||||||
|
|
||||||
|
To ensure your patch is acted on as promptly as possible, please:
|
||||||
|
|
||||||
|
* Try to adhere to the [BIND 9 coding style](doc/dev/style.md).
|
||||||
|
* Run `make` `check` to ensure your change hasn't caused any
|
||||||
|
functional regressions.
|
||||||
|
* Document your work, both in the patch itself and in the
|
||||||
|
accompanying email.
|
||||||
|
* In patches that make non-trivial functional changes, include system
|
||||||
|
tests if possible; when introducing or substantially altering a
|
||||||
|
library API, include unit tests. See [Testing](doc/dev/dev.md#testing)
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
##### Changes to `configure`
|
||||||
|
|
||||||
|
If you need to make changes to `configure`, you should not edit it
|
||||||
|
directly; instead, edit `configure.in`, then run `autoconf`. Similarly,
|
||||||
|
instead of editing `config.h.in` directly, edit `configure.in` and run
|
||||||
|
`autoheader`.
|
||||||
|
|
||||||
|
When submitting a patch as a diff, it's fine to omit the `configure`
|
||||||
|
diffs to save space. Just send the `configure.in` diffs and we'll
|
||||||
|
generate the new `configure` during the review process.
|
||||||
|
|
||||||
|
##### Documentation
|
||||||
|
|
||||||
|
All functional changes should be documented. There are three types
|
||||||
|
of documentation in the BIND source tree:
|
||||||
|
|
||||||
|
* Man pages are kept alongside the source code for the commands
|
||||||
|
they document, in files ending in `.docbook`; for example, the
|
||||||
|
`named` man page is `bin/named/named.docbook`.
|
||||||
|
* The *BIND 9 Administrator Reference Manual* is mostly in
|
||||||
|
`doc/arm/Bv9ARM-book.xml`, plus a few other XML files that are included
|
||||||
|
in it.
|
||||||
|
* API documentation is in the header file describing the API, in
|
||||||
|
Doxygen-formatted comments.
|
||||||
|
|
||||||
|
It is not necessary to edit any documentation files other than these;
|
||||||
|
all PDF, HTML, and `nroff`-format man page files will be updated
|
||||||
|
automatically from the `docbook` and `XML` files after merging.
|
||||||
|
|
||||||
|
Patches to improve existing documentation are also very welcome!
|
||||||
|
|
||||||
|
##### Tests
|
||||||
|
|
||||||
|
BIND is a large and complex project. We rely heavily on continuous
|
||||||
|
automated testing and cannot merge new code without adequate test coverage.
|
||||||
|
Please see [the 'Testing' section of doc/dev/dev.md](doc/dev/dev.md#testing)
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
#### Thanks
|
||||||
|
|
||||||
|
Thank you for your interest in contributing to the ongoing development
|
||||||
|
of BIND.
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
Copyright (C) 1996-2017 Internet Systems Consortium, Inc. ("ISC")
|
Copyright (C) 1996-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
|
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
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
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
|||||||
@@ -522,4 +522,3 @@ BIND 9.2.0
|
|||||||
DNSSEC implementation is still considered experimental. For detailed
|
DNSSEC implementation is still considered experimental. For detailed
|
||||||
information about the state of the DNSSEC implementation, see the file
|
information about the state of the DNSSEC implementation, see the file
|
||||||
doc/misc/dnssec.
|
doc/misc/dnssec.
|
||||||
|
|
||||||
|
|||||||
+12
-4
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 1998-2002, 2004-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
|
# Copyright (C) 1998-2002, 2004-2009, 2011-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
#
|
#
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -91,15 +91,23 @@ test-force:
|
|||||||
|
|
||||||
README: README.md
|
README: README.md
|
||||||
${PANDOC} --email-obfuscation=none -s -t html README.md | \
|
${PANDOC} --email-obfuscation=none -s -t html README.md | \
|
||||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||||
|
sed -e '$${/^$$/d;}' > $@
|
||||||
|
|
||||||
HISTORY: HISTORY.md
|
HISTORY: HISTORY.md
|
||||||
${PANDOC} --email-obfuscation=none -s -t html HISTORY.md | \
|
${PANDOC} --email-obfuscation=none -s -t html HISTORY.md | \
|
||||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||||
|
sed -e '$${/^$$/d;}' > $@
|
||||||
|
|
||||||
OPTIONS: OPTIONS.md
|
OPTIONS: OPTIONS.md
|
||||||
${PANDOC} --email-obfuscation=none -s -t html OPTIONS.md | \
|
${PANDOC} --email-obfuscation=none -s -t html OPTIONS.md | \
|
||||||
${W3M} -dump -cols 75 -O ascii -T text/html > $@
|
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||||
|
sed -e '$${/^$$/d;}' > $@
|
||||||
|
|
||||||
|
CONTRIBUTING: CONTRIBUTING.md
|
||||||
|
${PANDOC} --email-obfuscation=none -s -t html CONTRIBUTING.md | \
|
||||||
|
${W3M} -dump -cols 75 -O ascii -T text/html | \
|
||||||
|
sed -e '$${/^$$/d;}' > $@
|
||||||
|
|
||||||
unit::
|
unit::
|
||||||
sh ${top_srcdir}/unit/unittest.sh
|
sh ${top_srcdir}/unit/unittest.sh
|
||||||
|
|||||||
@@ -27,4 +27,3 @@ Setting Description
|
|||||||
may be useful when debugging
|
may be useful when debugging
|
||||||
-DISC_HEAP_CHECK Test heap consistency after every heap
|
-DISC_HEAP_CHECK Test heap consistency after every heap
|
||||||
operation; used when debugging
|
operation; used when debugging
|
||||||
|
|
||||||
|
|||||||
@@ -7,11 +7,12 @@ Contents
|
|||||||
3. Contributing to BIND
|
3. Contributing to BIND
|
||||||
4. BIND 9.12 features
|
4. BIND 9.12 features
|
||||||
5. Building BIND
|
5. Building BIND
|
||||||
6. Compile-time options
|
6. macOS
|
||||||
7. Automated testing
|
7. Compile-time options
|
||||||
8. Documentation
|
8. Automated testing
|
||||||
9. Change log
|
9. Documentation
|
||||||
10. Acknowledgments
|
10. Change log
|
||||||
|
11. Acknowledgments
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|
||||||
@@ -49,19 +50,21 @@ bind9/releasenotes
|
|||||||
|
|
||||||
Reporting bugs and getting help
|
Reporting bugs and getting help
|
||||||
|
|
||||||
Please report assertion failure errors and suspected security issues to
|
To report non-security-sensitive bugs or request new features, you may
|
||||||
security-officer@isc.org.
|
open an Issue in the BIND 9 project on the ISC GitLab server at https://
|
||||||
|
gitlab.isc.org/isc-projects/bind9.
|
||||||
|
|
||||||
General bug reports can be sent to bind9-bugs@isc.org.
|
Please note that, unless you explicitly mark the newly created Issue as
|
||||||
|
"confidential", it will be publicly readable. Please do not include any
|
||||||
|
information in bug reports that you consider to be confidential unless the
|
||||||
|
issue has been marked as such. In particular, if submitting the contents
|
||||||
|
of your configuration file in a non-confidential Issue, it is advisable to
|
||||||
|
obscure key secrets: this can be done automatically by using
|
||||||
|
named-checkconf -px.
|
||||||
|
|
||||||
Feature requests can be sent to bind-suggest@isc.org.
|
If the bug you are reporting is a potential security issue, such as an
|
||||||
|
assertion failure or other crash in named, please do NOT use GitLab to
|
||||||
Please note that, while tickets submitted to ISC's ticketing system are
|
report it. Instead, please send mail to security-officer@isc.org.
|
||||||
not initially publicly readable by default, they can be made publicly
|
|
||||||
acessible afterward. Please do not include information in bug reports that
|
|
||||||
you consider to be confidential. In particular, when sending the contents
|
|
||||||
of your configuration file, it is advisable to obscure key secrets: this
|
|
||||||
can be done automatically by using named-checkconf -px.
|
|
||||||
|
|
||||||
Professional support and training for BIND are available from ISC at
|
Professional support and training for BIND are available from ISC at
|
||||||
https://www.isc.org/support.
|
https://www.isc.org/support.
|
||||||
@@ -76,18 +79,23 @@ mailman/listinfo/bind-workers.
|
|||||||
Contributing to BIND
|
Contributing to BIND
|
||||||
|
|
||||||
ISC maintains a public git repository for BIND; details can be found at
|
ISC maintains a public git repository for BIND; details can be found at
|
||||||
http://www.isc.org/git/, and also on Github at https://github.com/
|
http://www.isc.org/git/.
|
||||||
isc-projects.
|
|
||||||
|
|
||||||
Information for BIND contributors can be found in the following files: -
|
Information for BIND contributors can be found in the following files: -
|
||||||
General information: doc/dev/contrib.md - BIND 9 code style: doc/dev/
|
General information: doc/dev/contrib.md - BIND 9 code style: doc/dev/
|
||||||
style.md - BIND architecture and developer guide: doc/dev/dev.md
|
style.md - BIND architecture and developer guide: doc/dev/dev.md
|
||||||
|
|
||||||
Patches for BIND may be submitted either as Github pull requests or via
|
Patches for BIND may be submitted as Merge Requests in the ISC GitLab
|
||||||
email. When submitting a patch via email, please prepend the subject
|
server at at https://gitlab.isc.org/isc-projects/bind9/merge_requests.
|
||||||
header with "[PATCH]" so it will be easier for us to find. If your patch
|
|
||||||
introduces a new feature in BIND, please submit it to bind-suggest@isc.org
|
By default, external contributors don't have ability to fork BIND in the
|
||||||
; if it fixes a bug, please submit it to bind9-bugs@isc.org.
|
GitLab server, but if you wish to contribute code to BIND, you may request
|
||||||
|
permission to do so. Thereafter, you can create git branches and directly
|
||||||
|
submit requests that they be reviewed and merged.
|
||||||
|
|
||||||
|
If you prefer, you may also submit code by opening a GitLab Issue and
|
||||||
|
including your patch as an attachment, preferably generated by git
|
||||||
|
format-patch.
|
||||||
|
|
||||||
BIND 9.12 features
|
BIND 9.12 features
|
||||||
|
|
||||||
@@ -123,6 +131,15 @@ include:
|
|||||||
default without a configure option.
|
default without a configure option.
|
||||||
* The obsolete isc-hmac-fixup command has been removed.
|
* The obsolete isc-hmac-fixup command has been removed.
|
||||||
|
|
||||||
|
BIND 9.12.1
|
||||||
|
|
||||||
|
BIND 9.12.1 is a maintenance release.
|
||||||
|
|
||||||
|
BIND 9.12.1-P1
|
||||||
|
|
||||||
|
BIND 9.12.1-P1 addresses the security vulnerabilities disclosed in
|
||||||
|
CVE-2018-5736 and CVE-2018-5737.
|
||||||
|
|
||||||
Building BIND
|
Building BIND
|
||||||
|
|
||||||
BIND requires a UNIX or Linux system with an ANSI C compiler, basic POSIX
|
BIND requires a UNIX or Linux system with an ANSI C compiler, basic POSIX
|
||||||
@@ -165,6 +182,14 @@ BUILD_CPPFLAGS
|
|||||||
BUILD_LDFLAGS
|
BUILD_LDFLAGS
|
||||||
BUILD_LIBS
|
BUILD_LIBS
|
||||||
|
|
||||||
|
macOS
|
||||||
|
|
||||||
|
Building on macOS assumes that the "Command Tools for Xcode" is installed.
|
||||||
|
This can be downloaded from https://developer.apple.com/download/more/ or
|
||||||
|
if you have Xcode already installed you can run "xcode-select --install".
|
||||||
|
This will add /usr/include to the system and install the compiler and
|
||||||
|
other tools so that they can be easily found.
|
||||||
|
|
||||||
Compile-time options
|
Compile-time options
|
||||||
|
|
||||||
To see a full list of configuration options, run configure --help.
|
To see a full list of configuration options, run configure --help.
|
||||||
@@ -342,4 +367,3 @@ Acknowledgments
|
|||||||
(eay@cryptsoft.com)
|
(eay@cryptsoft.com)
|
||||||
* This product includes software written by Tim Hudson
|
* This product includes software written by Tim Hudson
|
||||||
(tjh@cryptsoft.com)
|
(tjh@cryptsoft.com)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
- Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
-
|
-
|
||||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
- 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
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
1. [Contributing to BIND](#contrib)
|
1. [Contributing to BIND](#contrib)
|
||||||
1. [BIND 9.12 features](#features)
|
1. [BIND 9.12 features](#features)
|
||||||
1. [Building BIND](#build)
|
1. [Building BIND](#build)
|
||||||
|
1. [macOS](#macos)
|
||||||
1. [Compile-time options](#opts)
|
1. [Compile-time options](#opts)
|
||||||
1. [Automated testing](#testing)
|
1. [Automated testing](#testing)
|
||||||
1. [Documentation](#doc)
|
1. [Documentation](#doc)
|
||||||
@@ -57,22 +58,24 @@ For up-to-date release notes and errata, see
|
|||||||
|
|
||||||
### <a name="help"/> Reporting bugs and getting help
|
### <a name="help"/> Reporting bugs and getting help
|
||||||
|
|
||||||
Please report assertion failure errors and suspected security issues to
|
To report non-security-sensitive bugs or request new features, you may
|
||||||
|
open an Issue in the BIND 9 project on the
|
||||||
|
[ISC GitLab server](https://gitlab.isc.org) at
|
||||||
|
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9).
|
||||||
|
|
||||||
|
Please note that, unless you explicitly mark the newly created Issue as
|
||||||
|
"confidential", it will be publicly readable. Please do not include any
|
||||||
|
information in bug reports that you consider to be confidential unless
|
||||||
|
the issue has been marked as such. In particular, if submitting the
|
||||||
|
contents of your configuration file in a non-confidential Issue, it is
|
||||||
|
advisable to obscure key secrets: this can be done automatically by
|
||||||
|
using `named-checkconf -px`.
|
||||||
|
|
||||||
|
If the bug you are reporting is a potential security issue, such as an
|
||||||
|
assertion failure or other crash in `named`, please do *NOT* use GitLab to
|
||||||
|
report it. Instead, please send mail to
|
||||||
[security-officer@isc.org](mailto:security-officer@isc.org).
|
[security-officer@isc.org](mailto:security-officer@isc.org).
|
||||||
|
|
||||||
General bug reports can be sent to
|
|
||||||
[bind9-bugs@isc.org](mailto:bind9-bugs@isc.org).
|
|
||||||
|
|
||||||
Feature requests can be sent to
|
|
||||||
[bind-suggest@isc.org](mailto:bind-suggest@isc.org).
|
|
||||||
|
|
||||||
Please note that, while tickets submitted to ISC's ticketing system
|
|
||||||
are not initially publicly readable by default, they can be made publicly
|
|
||||||
acessible afterward. Please do not include information in bug reports that
|
|
||||||
you consider to be confidential. In particular, when sending the contents of
|
|
||||||
your configuration file, it is advisable to obscure key secrets: this can
|
|
||||||
be done automatically by using `named-checkconf -px`.
|
|
||||||
|
|
||||||
Professional support and training for BIND are available from
|
Professional support and training for BIND are available from
|
||||||
ISC at [https://www.isc.org/support](https://www.isc.org/support).
|
ISC at [https://www.isc.org/support](https://www.isc.org/support).
|
||||||
|
|
||||||
@@ -86,20 +89,27 @@ may also want to join the __BIND Workers__ mailing list, at
|
|||||||
### <a name="contrib"/> Contributing to BIND
|
### <a name="contrib"/> Contributing to BIND
|
||||||
|
|
||||||
ISC maintains a public git repository for BIND; details can be found
|
ISC maintains a public git repository for BIND; details can be found
|
||||||
at [http://www.isc.org/git/](http://www.isc.org/git/), and also on Github
|
at [http://www.isc.org/git/](http://www.isc.org/git/).
|
||||||
at [https://github.com/isc-projects](https://github.com/isc-projects).
|
|
||||||
|
|
||||||
Information for BIND contributors can be found in the following files:
|
Information for BIND contributors can be found in the following files:
|
||||||
- General information: [doc/dev/contrib.md](doc/dev/contrib.md)
|
- General information: [doc/dev/contrib.md](doc/dev/contrib.md)
|
||||||
- BIND 9 code style: [doc/dev/style.md](doc/dev/style.md)
|
- BIND 9 code style: [doc/dev/style.md](doc/dev/style.md)
|
||||||
- BIND architecture and developer guide: [doc/dev/dev.md](doc/dev/dev.md)
|
- BIND architecture and developer guide: [doc/dev/dev.md](doc/dev/dev.md)
|
||||||
|
|
||||||
Patches for BIND may be submitted either as Github pull requests
|
Patches for BIND may be submitted as
|
||||||
or via email. When submitting a patch via email, please prepend the
|
[Merge Requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests)
|
||||||
subject header with "`[PATCH]`" so it will be easier for us to find.
|
in the [ISC GitLab server](https://gitlab.isc.org) at
|
||||||
If your patch introduces a new feature in BIND, please submit it to
|
at [https://gitlab.isc.org/isc-projects/bind9/merge_requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests).
|
||||||
[bind-suggest@isc.org](mailto:bind-suggest@isc.org); if it fixes a bug,
|
|
||||||
please submit it to [bind9-bugs@isc.org](mailto:bind9-bugs@isc.org).
|
By default, external contributors don't have ability to fork BIND in the
|
||||||
|
GitLab server, but if you wish to contribute code to BIND, you may request
|
||||||
|
permission to do so. Thereafter, you can create git branches and directly
|
||||||
|
submit requests that they be reviewed and merged.
|
||||||
|
|
||||||
|
If you prefer, you may also submit code by opening a
|
||||||
|
[GitLab Issue](https://gitlab.isc.org/isc-projects/bind9/issues) and
|
||||||
|
including your patch as an attachment, preferably generated by
|
||||||
|
`git format-patch`.
|
||||||
|
|
||||||
### <a name="features"/> BIND 9.12 features
|
### <a name="features"/> BIND 9.12 features
|
||||||
|
|
||||||
@@ -135,6 +145,15 @@ include:
|
|||||||
by default without a configure option.
|
by default without a configure option.
|
||||||
* The obsolete `isc-hmac-fixup` command has been removed.
|
* The obsolete `isc-hmac-fixup` command has been removed.
|
||||||
|
|
||||||
|
#### BIND 9.12.1
|
||||||
|
|
||||||
|
BIND 9.12.1 is a maintenance release.
|
||||||
|
|
||||||
|
#### BIND 9.12.1-P1
|
||||||
|
|
||||||
|
BIND 9.12.1-P1 addresses the security vulnerabilities disclosed in
|
||||||
|
CVE-2018-5736 and CVE-2018-5737.
|
||||||
|
|
||||||
### <a name="build"/> Building BIND
|
### <a name="build"/> Building BIND
|
||||||
|
|
||||||
BIND requires a UNIX or Linux system with an ANSI C compiler, basic POSIX
|
BIND requires a UNIX or Linux system with an ANSI C compiler, basic POSIX
|
||||||
@@ -171,6 +190,15 @@ affect compilation:
|
|||||||
|`BUILD_LDFLAGS`||
|
|`BUILD_LDFLAGS`||
|
||||||
|`BUILD_LIBS`||
|
|`BUILD_LIBS`||
|
||||||
|
|
||||||
|
#### <a name="macos"> macOS
|
||||||
|
|
||||||
|
Building on macOS assumes that the "Command Tools for Xcode" is installed.
|
||||||
|
This can be downloaded from https://developer.apple.com/download/more/
|
||||||
|
or if you have Xcode already installed you can run "xcode-select --install".
|
||||||
|
This will add /usr/include to the system and install the compiler and other
|
||||||
|
tools so that they can be easily found.
|
||||||
|
|
||||||
|
|
||||||
#### <a name="opts"/> Compile-time options
|
#### <a name="opts"/> Compile-time options
|
||||||
|
|
||||||
To see a full list of configuration options, run `configure --help`.
|
To see a full list of configuration options, run `configure --help`.
|
||||||
|
|||||||
+1
-3
@@ -1,13 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1999-2005, 2007, 2008, 2012, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1999-2005, 2007, 2008, 2012, 2014, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* 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/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: acconfig.h,v 1.53 2008/12/01 23:47:44 tbox Exp $ */
|
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
|
|
||||||
/***
|
/***
|
||||||
|
|||||||
+7
-2
@@ -1,4 +1,4 @@
|
|||||||
.\" Copyright (C) 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
.\" Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
.\"
|
.\"
|
||||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
.\" 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
|
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -219,6 +219,11 @@ ixfr=N\&. The incremental zone transfer will contain the changes made to the zon
|
|||||||
\fIN\fR\&.
|
\fIN\fR\&.
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
|
\-u
|
||||||
|
.RS 4
|
||||||
|
Print query times in microseconds instead of milliseconds\&.
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
\-v
|
\-v
|
||||||
.RS 4
|
.RS 4
|
||||||
Print the version number and exit\&.
|
Print the version number and exit\&.
|
||||||
@@ -795,5 +800,5 @@ There are probably too many query options\&.
|
|||||||
\fBInternet Systems Consortium, Inc\&.\fR
|
\fBInternet Systems Consortium, Inc\&.\fR
|
||||||
.SH "COPYRIGHT"
|
.SH "COPYRIGHT"
|
||||||
.br
|
.br
|
||||||
Copyright \(co 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
Copyright \(co 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
.br
|
.br
|
||||||
|
|||||||
+7
-8
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -233,7 +233,7 @@ help(void) {
|
|||||||
* Callback from dighost.c to print the received message.
|
* Callback from dighost.c to print the received message.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||||
isc_uint64_t diff;
|
isc_uint64_t diff;
|
||||||
time_t tnow;
|
time_t tnow;
|
||||||
struct tm tmnow;
|
struct tm tmnow;
|
||||||
@@ -1311,11 +1311,11 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
|
|||||||
|
|
||||||
result = parse_uint(&splitwidth, value,
|
result = parse_uint(&splitwidth, value,
|
||||||
1023, "split");
|
1023, "split");
|
||||||
if (splitwidth % 4 != 0) {
|
if ((splitwidth % 4) != 0U) {
|
||||||
splitwidth = ((splitwidth + 3) / 4) * 4;
|
splitwidth = ((splitwidth + 3) / 4) * 4;
|
||||||
fprintf(stderr, ";; Warning, split must be "
|
fprintf(stderr, ";; Warning, split must be "
|
||||||
"a multiple of 4; adjusting "
|
"a multiple of 4; adjusting "
|
||||||
"to %d\n", splitwidth);
|
"to %u\n", splitwidth);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* There is an adjustment done in the
|
* There is an adjustment done in the
|
||||||
@@ -1884,8 +1884,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
|||||||
bargc = 1;
|
bargc = 1;
|
||||||
input = batchline;
|
input = batchline;
|
||||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||||
while ((bargv[bargc] != NULL) &&
|
while ((bargc < 62) && (bargv[bargc] != NULL)) {
|
||||||
(bargc < 62)) {
|
|
||||||
bargc++;
|
bargc++;
|
||||||
bargv[bargc] =
|
bargv[bargc] =
|
||||||
next_token(&input, " \t\r\n");
|
next_token(&input, " \t\r\n");
|
||||||
@@ -2084,7 +2083,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
|
|||||||
goto next_line;
|
goto next_line;
|
||||||
input = batchline;
|
input = batchline;
|
||||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||||
while ((bargv[bargc] != NULL) && (bargc < 14)) {
|
while ((bargc < 14) && (bargv[bargc] != NULL)) {
|
||||||
bargc++;
|
bargc++;
|
||||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||||
}
|
}
|
||||||
@@ -2154,7 +2153,7 @@ query_finished(void) {
|
|||||||
bargc = 1;
|
bargc = 1;
|
||||||
input = batchline;
|
input = batchline;
|
||||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||||
while ((bargv[bargc] != NULL) && (bargc < 14)) {
|
while ((bargc < 14) && (bargv[bargc] != NULL)) {
|
||||||
bargc++;
|
bargc++;
|
||||||
bargv[bargc] = next_token(&input, " \t\r\n");
|
bargv[bargc] = next_token(&input, " \t\r\n");
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-1
@@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE book [
|
<!DOCTYPE book [
|
||||||
<!ENTITY mdash "—">]>
|
<!ENTITY mdash "—">]>
|
||||||
<!--
|
<!--
|
||||||
- Copyright (C) 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
- Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
-
|
-
|
||||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
- 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
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -48,6 +48,7 @@
|
|||||||
<year>2015</year>
|
<year>2015</year>
|
||||||
<year>2016</year>
|
<year>2016</year>
|
||||||
<year>2017</year>
|
<year>2017</year>
|
||||||
|
<year>2018</year>
|
||||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
</docinfo>
|
</docinfo>
|
||||||
@@ -349,6 +350,15 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>-u</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Print query times in microseconds instead of milliseconds.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>-v</term>
|
<term>-v</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
|||||||
+7
-1
@@ -1,6 +1,6 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
<!--
|
<!--
|
||||||
- Copyright (C) 2000-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
- Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
-
|
-
|
||||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
- 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
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -290,6 +290,12 @@
|
|||||||
<em class="parameter"><code>N</code></em>.
|
<em class="parameter"><code>N</code></em>.
|
||||||
</p>
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
|
<dt><span class="term">-u</span></dt>
|
||||||
|
<dd>
|
||||||
|
<p>
|
||||||
|
Print query times in microseconds instead of milliseconds.
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
<dt><span class="term">-v</span></dt>
|
<dt><span class="term">-v</span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
+5
-5
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -202,7 +202,7 @@ isc_result_t
|
|||||||
isc_boolean_t headers);
|
isc_boolean_t headers);
|
||||||
|
|
||||||
void
|
void
|
||||||
(*dighost_received)(int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
(*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||||
|
|
||||||
void
|
void
|
||||||
(*dighost_trying)(char *frm, dig_lookup_t *lookup);
|
(*dighost_trying)(char *frm, dig_lookup_t *lookup);
|
||||||
@@ -266,7 +266,7 @@ hex_dump(isc_buffer_t *b) {
|
|||||||
|
|
||||||
isc_buffer_usedregion(b, &r);
|
isc_buffer_usedregion(b, &r);
|
||||||
|
|
||||||
printf("%d bytes\n", r.length);
|
printf("%u bytes\n", r.length);
|
||||||
for (len = 0; len < r.length; len++) {
|
for (len = 0; len < r.length; len++) {
|
||||||
printf("%02x ", r.base[len]);
|
printf("%02x ", r.base[len]);
|
||||||
if (len % 16 == 15) {
|
if (len % 16 == 15) {
|
||||||
@@ -437,7 +437,7 @@ debug(const char *format, ...) {
|
|||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
if (debugtiming) {
|
if (debugtiming) {
|
||||||
TIME_NOW(&t);
|
TIME_NOW(&t);
|
||||||
fprintf(stderr, "%d.%06d: ", isc_time_seconds(&t),
|
fprintf(stderr, "%u.%06u: ", isc_time_seconds(&t),
|
||||||
isc_time_nanoseconds(&t) / 1000);
|
isc_time_nanoseconds(&t) / 1000);
|
||||||
}
|
}
|
||||||
va_start(args, format);
|
va_start(args, format);
|
||||||
@@ -3738,7 +3738,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
|
|||||||
*/
|
*/
|
||||||
if (l->comments)
|
if (l->comments)
|
||||||
printf(";; BADVERS, retrying with EDNS version %u.\n",
|
printf(";; BADVERS, retrying with EDNS version %u.\n",
|
||||||
newedns);
|
(unsigned int)newedns);
|
||||||
l->edns = newedns;
|
l->edns = newedns;
|
||||||
n = requeue_lookup(l, ISC_TRUE);
|
n = requeue_lookup(l, ISC_TRUE);
|
||||||
if (l->trace && l->trace_root)
|
if (l->trace && l->trace_root)
|
||||||
|
|||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000-2007, 2009-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000-2007, 2009-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -169,7 +169,7 @@ host_shutdown(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||||
isc_time_t now;
|
isc_time_t now;
|
||||||
int diff;
|
int diff;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000-2009, 2011-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -382,7 +382,7 @@ extern isc_result_t
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
(*dighost_received)(int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
(*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query);
|
||||||
/*%<
|
/*%<
|
||||||
* Print a message about where and when the response
|
* Print a message about where and when the response
|
||||||
* was received from, like the final comment in the
|
* was received from, like the final comment in the
|
||||||
|
|||||||
+3
-3
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -387,7 +387,7 @@ detailsection(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
received(int bytes, isc_sockaddr_t *from, dig_query_t *query)
|
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query)
|
||||||
{
|
{
|
||||||
UNUSED(bytes);
|
UNUSED(bytes);
|
||||||
UNUSED(from);
|
UNUSED(from);
|
||||||
@@ -549,7 +549,7 @@ show_settings(isc_boolean_t full, isc_boolean_t serv_only) {
|
|||||||
printf(" %s\t\t%s\n",
|
printf(" %s\t\t%s\n",
|
||||||
usesearch ? "search" : "nosearch",
|
usesearch ? "search" : "nosearch",
|
||||||
recurse ? "recurse" : "norecurse");
|
recurse ? "recurse" : "norecurse");
|
||||||
printf(" timeout = %d\t\tretry = %d\tport = %d\tndots = %d\n",
|
printf(" timeout = %u\t\tretry = %d\tport = %u\tndots = %d\n",
|
||||||
timeout, tries, port, ndots);
|
timeout, tries, port, ndots);
|
||||||
printf(" querytype = %-8s\tclass = %s\n", deftype, defclass);
|
printf(" querytype = %-8s\tclass = %s\n", deftype, defclass);
|
||||||
printf(" srchlist = ");
|
printf(" srchlist = ");
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
.\" Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
.\" Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
.\"
|
.\"
|
||||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
.\" 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
|
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -44,7 +44,8 @@ dnssec-cds \- change DS records for a child zone based on CDS/CDNSKEY
|
|||||||
.PP
|
.PP
|
||||||
The
|
The
|
||||||
\fBdnssec\-cds\fR
|
\fBdnssec\-cds\fR
|
||||||
command changes DS records at a delegation point based on CDS or CDNSKEY records published in the child zone\&. If both CDS and CDNSKEY records are present in the child zone, the CDS is preferred\&.
|
command changes DS records at a delegation point based on CDS or CDNSKEY records published in the child zone\&. If both CDS and CDNSKEY records are present in the child zone, the CDS is preferred\&. This enables a child zone to inform its parent of upcoming changes to its key\-signing keys; by polling periodically with
|
||||||
|
\fBdnssec\-cds\fR, the parent can keep the DS records up to date and enable automatic rolling of KSKs\&.
|
||||||
.PP
|
.PP
|
||||||
Two input files are required\&. The
|
Two input files are required\&. The
|
||||||
\fB\-f \fR\fB\fIchild\-file\fR\fR
|
\fB\-f \fR\fB\fIchild\-file\fR\fR
|
||||||
@@ -57,6 +58,10 @@ file generated by
|
|||||||
\fBdnssec\-dsfromkey\fR, or the output of a previous run of
|
\fBdnssec\-dsfromkey\fR, or the output of a previous run of
|
||||||
\fBdnssec\-cds\fR\&.
|
\fBdnssec\-cds\fR\&.
|
||||||
.PP
|
.PP
|
||||||
|
The
|
||||||
|
\fBdnssec\-cds\fR
|
||||||
|
command uses special DNSSEC validation logic specified by RFC 7344\&. It requires that the CDS and/or CDNSKEY records are validly signed by a key represented in the existing DS records\&. This will typicially be the pre\-existing key\-signing key (KSK)\&.
|
||||||
|
.PP
|
||||||
For protection against replay attacks, the signatures on the child records must not be older than they were on a previous run of
|
For protection against replay attacks, the signatures on the child records must not be older than they were on a previous run of
|
||||||
\fBdnssec\-cds\fR\&. This time is obtained from the modification time of the
|
\fBdnssec\-cds\fR\&. This time is obtained from the modification time of the
|
||||||
dsset\-
|
dsset\-
|
||||||
@@ -288,5 +293,5 @@ RFC 7344\&.
|
|||||||
.RE
|
.RE
|
||||||
.SH "COPYRIGHT"
|
.SH "COPYRIGHT"
|
||||||
.br
|
.br
|
||||||
Copyright \(co 2017 Internet Systems Consortium, Inc. ("ISC")
|
Copyright \(co 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
.br
|
.br
|
||||||
|
|||||||
+19
-4
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -85,7 +85,7 @@ static dns_rdataclass_t rdclass = dns_rdataclass_in;
|
|||||||
*/
|
*/
|
||||||
static isc_uint8_t dtype[8];
|
static isc_uint8_t dtype[8];
|
||||||
|
|
||||||
static const char *startstr = NULL; /* from which we derive notbefore */
|
static const char *startstr = NULL; /* from which we derive notbefore */
|
||||||
static isc_stdtime_t notbefore = 0; /* restrict sig inception times */
|
static isc_stdtime_t notbefore = 0; /* restrict sig inception times */
|
||||||
static dns_rdata_rrsig_t oldestsig; /* for recording inception time */
|
static dns_rdata_rrsig_t oldestsig; /* for recording inception time */
|
||||||
|
|
||||||
@@ -521,6 +521,13 @@ match_key_dsset(keyinfo_t *ki, dns_rdataset_t *dsset, strictness_t strictness)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vbprintf(1, "no matching %s for %s %d %d\n",
|
||||||
|
dsset->type == dns_rdatatype_cds
|
||||||
|
? "CDS" : "DS",
|
||||||
|
ki->rdata.type == dns_rdatatype_cdnskey
|
||||||
|
? "CDNSKEY" : "DNSKEY",
|
||||||
|
ki->tag, ki->algo);
|
||||||
|
|
||||||
return (ISC_FALSE);
|
return (ISC_FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -647,17 +654,25 @@ matching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset,
|
|||||||
|
|
||||||
for (i = 0; i < nkey; i++) {
|
for (i = 0; i < nkey; i++) {
|
||||||
keyinfo_t *ki = &keytbl[i];
|
keyinfo_t *ki = &keytbl[i];
|
||||||
if (ki->dst == NULL ||
|
if (sig.keyid != ki->tag ||
|
||||||
sig.keyid != ki->tag ||
|
|
||||||
sig.algorithm != ki->algo ||
|
sig.algorithm != ki->algo ||
|
||||||
!dns_name_equal(&sig.signer, name))
|
!dns_name_equal(&sig.signer, name))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (ki->dst == NULL) {
|
||||||
|
vbprintf(1, "skip RRSIG by key %d:"
|
||||||
|
" no matching (C)DS\n",
|
||||||
|
sig.keyid);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
result = dns_dnssec_verify(name, rdataset, ki->dst,
|
result = dns_dnssec_verify(name, rdataset, ki->dst,
|
||||||
ISC_FALSE, mctx, &sigrdata);
|
ISC_FALSE, mctx, &sigrdata);
|
||||||
if (result != ISC_R_SUCCESS) {
|
if (result != ISC_R_SUCCESS) {
|
||||||
|
vbprintf(1, "skip RRSIG by key %d:"
|
||||||
|
" verification failed: %s\n",
|
||||||
|
sig.keyid, isc_result_totext(result));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
- Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
-
|
-
|
||||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
- 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
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -36,6 +36,7 @@
|
|||||||
<docinfo>
|
<docinfo>
|
||||||
<copyright>
|
<copyright>
|
||||||
<year>2017</year>
|
<year>2017</year>
|
||||||
|
<year>2018</year>
|
||||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
</docinfo>
|
</docinfo>
|
||||||
@@ -64,7 +65,11 @@
|
|||||||
The <command>dnssec-cds</command> command changes DS records at
|
The <command>dnssec-cds</command> command changes DS records at
|
||||||
a delegation point based on CDS or CDNSKEY records published in
|
a delegation point based on CDS or CDNSKEY records published in
|
||||||
the child zone. If both CDS and CDNSKEY records are present in
|
the child zone. If both CDS and CDNSKEY records are present in
|
||||||
the child zone, the CDS is preferred.
|
the child zone, the CDS is preferred. This enables a child zone
|
||||||
|
to inform its parent of upcoming changes to its key-signing keys;
|
||||||
|
by polling periodically with <command>dnssec-cds</command>, the
|
||||||
|
parent can keep the DS records up to date and enable automatic
|
||||||
|
rolling of KSKs.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Two input files are required. The
|
Two input files are required. The
|
||||||
@@ -79,6 +84,13 @@
|
|||||||
<command>dnssec-dsfromkey</command>, or the output of a previous
|
<command>dnssec-dsfromkey</command>, or the output of a previous
|
||||||
run of <command>dnssec-cds</command>.
|
run of <command>dnssec-cds</command>.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
The <command>dnssec-cds</command> command uses special DNSSEC
|
||||||
|
validation logic specified by RFC 7344. It requires that the CDS
|
||||||
|
and/or CDNSKEY records are validly signed by a key represented in the
|
||||||
|
existing DS records. This will typicially be the pre-existing
|
||||||
|
key-signing key (KSK).
|
||||||
|
</para>
|
||||||
<para>
|
<para>
|
||||||
For protection against replay attacks, the signatures on the
|
For protection against replay attacks, the signatures on the
|
||||||
child records must not be older than they were on a previous run
|
child records must not be older than they were on a previous run
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
<!--
|
<!--
|
||||||
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
|
- Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
-
|
-
|
||||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
- 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
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -55,7 +55,11 @@
|
|||||||
The <span class="command"><strong>dnssec-cds</strong></span> command changes DS records at
|
The <span class="command"><strong>dnssec-cds</strong></span> command changes DS records at
|
||||||
a delegation point based on CDS or CDNSKEY records published in
|
a delegation point based on CDS or CDNSKEY records published in
|
||||||
the child zone. If both CDS and CDNSKEY records are present in
|
the child zone. If both CDS and CDNSKEY records are present in
|
||||||
the child zone, the CDS is preferred.
|
the child zone, the CDS is preferred. This enables a child zone
|
||||||
|
to inform its parent of upcoming changes to its key-signing keys;
|
||||||
|
by polling periodically with <span class="command"><strong>dnssec-cds</strong></span>, the
|
||||||
|
parent can keep the DS records up to date and enable automatic
|
||||||
|
rolling of KSKs.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Two input files are required. The
|
Two input files are required. The
|
||||||
@@ -70,6 +74,13 @@
|
|||||||
<span class="command"><strong>dnssec-dsfromkey</strong></span>, or the output of a previous
|
<span class="command"><strong>dnssec-dsfromkey</strong></span>, or the output of a previous
|
||||||
run of <span class="command"><strong>dnssec-cds</strong></span>.
|
run of <span class="command"><strong>dnssec-cds</strong></span>.
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
The <span class="command"><strong>dnssec-cds</strong></span> command uses special DNSSEC
|
||||||
|
validation logic specified by RFC 7344. It requires that the CDS
|
||||||
|
and/or CDNSKEY records are validly signed by a key represented in the
|
||||||
|
existing DS records. This will typicially be the pre-existing
|
||||||
|
key-signing key (KSK).
|
||||||
|
</p>
|
||||||
<p>
|
<p>
|
||||||
For protection against replay attacks, the signatures on the
|
For protection against replay attacks, the signatures on the
|
||||||
child records must not be older than they were on a previous run
|
child records must not be older than they were on a previous run
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -609,8 +609,13 @@ main(int argc, char **argv) {
|
|||||||
isc_buffer_init(&buf, filename, sizeof(filename) - 1);
|
isc_buffer_init(&buf, filename, sizeof(filename) - 1);
|
||||||
|
|
||||||
/* associate the key */
|
/* associate the key */
|
||||||
ret = dst_key_fromlabel(name, alg, flags, protocol,
|
ret = dst_key_fromlabel(name, alg, flags, protocol, rdclass,
|
||||||
rdclass, "pkcs11", label, NULL, mctx, &key);
|
#ifdef PKCS11CRYPTO
|
||||||
|
"pkcs11",
|
||||||
|
#else
|
||||||
|
engine,
|
||||||
|
#endif
|
||||||
|
label, NULL, mctx, &key);
|
||||||
isc_entropy_stopcallbacksources(ectx);
|
isc_entropy_stopcallbacksources(ectx);
|
||||||
|
|
||||||
if (ret != ISC_R_SUCCESS) {
|
if (ret != ISC_R_SUCCESS) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Portions Copyright (C) 1999-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Portions Copyright (C) 1999-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -2513,11 +2513,11 @@ loadzonekeys(isc_boolean_t preserve_keys, isc_boolean_t load_public) {
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (set_keyttl && keyttl != rdataset.ttl) {
|
if (set_keyttl && keyttl != rdataset.ttl) {
|
||||||
fprintf(stderr, "User-specified TTL %d conflicts "
|
fprintf(stderr, "User-specified TTL %u conflicts "
|
||||||
"with existing DNSKEY RRset TTL.\n",
|
"with existing DNSKEY RRset TTL.\n",
|
||||||
keyttl);
|
keyttl);
|
||||||
fprintf(stderr, "Imported keys will use the RRSet "
|
fprintf(stderr, "Imported keys will use the RRSet "
|
||||||
"TTL %d instead.\n",
|
"TTL %u instead.\n",
|
||||||
rdataset.ttl);
|
rdataset.ttl);
|
||||||
}
|
}
|
||||||
keyttl = rdataset.ttl;
|
keyttl = rdataset.ttl;
|
||||||
@@ -3128,12 +3128,12 @@ print_stats(isc_time_t *timer_start, isc_time_t *timer_finish,
|
|||||||
isc_uint64_t sig_ms; /* Signatures per millisecond */
|
isc_uint64_t sig_ms; /* Signatures per millisecond */
|
||||||
FILE *out = output_stdout ? stderr : stdout;
|
FILE *out = output_stdout ? stderr : stdout;
|
||||||
|
|
||||||
fprintf(out, "Signatures generated: %10d\n", nsigned);
|
fprintf(out, "Signatures generated: %10u\n", nsigned);
|
||||||
fprintf(out, "Signatures retained: %10d\n", nretained);
|
fprintf(out, "Signatures retained: %10u\n", nretained);
|
||||||
fprintf(out, "Signatures dropped: %10d\n", ndropped);
|
fprintf(out, "Signatures dropped: %10u\n", ndropped);
|
||||||
fprintf(out, "Signatures successfully verified: %10d\n", nverified);
|
fprintf(out, "Signatures successfully verified: %10u\n", nverified);
|
||||||
fprintf(out, "Signatures unsuccessfully "
|
fprintf(out, "Signatures unsuccessfully "
|
||||||
"verified: %10d\n", nverifyfailed);
|
"verified: %10u\n", nverifyfailed);
|
||||||
|
|
||||||
time_us = isc_time_microdiff(sign_finish, sign_start);
|
time_us = isc_time_microdiff(sign_finish, sign_start);
|
||||||
time_ms = time_us / 1000;
|
time_ms = time_us / 1000;
|
||||||
@@ -3646,8 +3646,8 @@ main(int argc, char *argv[]) {
|
|||||||
get_soa_ttls();
|
get_soa_ttls();
|
||||||
|
|
||||||
if (set_maxttl && set_keyttl && keyttl > maxttl) {
|
if (set_maxttl && set_keyttl && keyttl > maxttl) {
|
||||||
fprintf(stderr, "%s: warning: Specified key TTL %d "
|
fprintf(stderr, "%s: warning: Specified key TTL %u "
|
||||||
"exceeds maximum zone TTL; reducing to %d\n",
|
"exceeds maximum zone TTL; reducing to %u\n",
|
||||||
program, keyttl, maxttl);
|
program, keyttl, maxttl);
|
||||||
keyttl = maxttl;
|
keyttl = maxttl;
|
||||||
}
|
}
|
||||||
@@ -3742,6 +3742,8 @@ main(int argc, char *argv[]) {
|
|||||||
if (nsec3iter > max)
|
if (nsec3iter > max)
|
||||||
fatal("NSEC3 iterations too big for weakest DNSKEY "
|
fatal("NSEC3 iterations too big for weakest DNSKEY "
|
||||||
"strength. Maximum iterations allowed %u.", max);
|
"strength. Maximum iterations allowed %u.", max);
|
||||||
|
} else {
|
||||||
|
hashlist_init(&hashlist, 0, 0); /* silence clang */
|
||||||
}
|
}
|
||||||
|
|
||||||
gversion = NULL;
|
gversion = NULL;
|
||||||
@@ -3903,8 +3905,7 @@ main(int argc, char *argv[]) {
|
|||||||
dns_db_closeversion(gdb, &gversion, ISC_FALSE);
|
dns_db_closeversion(gdb, &gversion, ISC_FALSE);
|
||||||
dns_db_detach(&gdb);
|
dns_db_detach(&gdb);
|
||||||
|
|
||||||
if (IS_NSEC3)
|
hashlist_free(&hashlist);
|
||||||
hashlist_free(&hashlist);
|
|
||||||
|
|
||||||
while (!ISC_LIST_EMPTY(keylist)) {
|
while (!ISC_LIST_EMPTY(keylist)) {
|
||||||
key = ISC_LIST_HEAD(keylist);
|
key = ISC_LIST_HEAD(keylist);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000, 2001, 2003-2005, 2007, 2009-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000, 2001, 2003-2005, 2007, 2009-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -209,12 +209,14 @@ cleanup_logging(isc_log_t **logp) {
|
|||||||
REQUIRE(logp != NULL);
|
REQUIRE(logp != NULL);
|
||||||
|
|
||||||
log = *logp;
|
log = *logp;
|
||||||
|
*logp = NULL;
|
||||||
|
|
||||||
if (log == NULL)
|
if (log == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
isc_log_destroy(&log);
|
isc_log_destroy(&log);
|
||||||
isc_log_setcontext(NULL);
|
isc_log_setcontext(NULL);
|
||||||
dns_log_setcontext(NULL);
|
dns_log_setcontext(NULL);
|
||||||
logp = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
+3
-2
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2001-2007, 2009-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2001-2007, 2009-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -114,7 +114,8 @@ named_control_docommand(isccc_sexpr_t *message, isc_boolean_t readonly,
|
|||||||
/*
|
/*
|
||||||
* Compare the 'command' parameter against all known control commands.
|
* Compare the 'command' parameter against all known control commands.
|
||||||
*/
|
*/
|
||||||
if (command_compare(command, NAMED_COMMAND_NULL) ||
|
if ((command_compare(command, NAMED_COMMAND_NULL) &&
|
||||||
|
strlen(cmdline) == 4) ||
|
||||||
command_compare(command, NAMED_COMMAND_STATUS))
|
command_compare(command, NAMED_COMMAND_STATUS))
|
||||||
{
|
{
|
||||||
log_level = ISC_LOG_DEBUG(1);
|
log_level = ISC_LOG_DEBUG(1);
|
||||||
|
|||||||
+40
-28
@@ -1,4 +1,4 @@
|
|||||||
.\" Copyright (C) 2004-2017 Internet Systems Consortium, Inc. ("ISC")
|
.\" Copyright (C) 2004-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
.\"
|
.\"
|
||||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
.\" 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
|
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -10,12 +10,12 @@
|
|||||||
.\" Title: named.conf
|
.\" Title: named.conf
|
||||||
.\" Author:
|
.\" Author:
|
||||||
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
|
||||||
.\" Date: 2017-04-25
|
.\" Date: 2017-10-26
|
||||||
.\" Manual: BIND9
|
.\" Manual: BIND9
|
||||||
.\" Source: ISC
|
.\" Source: ISC
|
||||||
.\" Language: English
|
.\" Language: English
|
||||||
.\"
|
.\"
|
||||||
.TH "NAMED\&.CONF" "5" "2017\-04\-25" "ISC" "BIND9"
|
.TH "NAMED\&.CONF" "5" "2017\-10\-26" "ISC" "BIND9"
|
||||||
.\" -----------------------------------------------------------------
|
.\" -----------------------------------------------------------------
|
||||||
.\" * Define some portability stuff
|
.\" * Define some portability stuff
|
||||||
.\" -----------------------------------------------------------------
|
.\" -----------------------------------------------------------------
|
||||||
@@ -181,10 +181,6 @@ masters \fIstring\fR [ port \fIinteger\fR ] [ dscp
|
|||||||
.\}
|
.\}
|
||||||
.nf
|
.nf
|
||||||
options {
|
options {
|
||||||
acache\-cleaning\-interval \fIinteger\fR;
|
|
||||||
acache\-enable \fIboolean\fR;
|
|
||||||
additional\-from\-auth \fIboolean\fR;
|
|
||||||
additional\-from\-cache \fIboolean\fR;
|
|
||||||
allow\-new\-zones \fIboolean\fR;
|
allow\-new\-zones \fIboolean\fR;
|
||||||
allow\-notify { \fIaddress_match_element\fR; \&.\&.\&. };
|
allow\-notify { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||||
allow\-query { \fIaddress_match_element\fR; \&.\&.\&. };
|
allow\-query { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||||
@@ -254,6 +250,8 @@ options {
|
|||||||
};
|
};
|
||||||
dns64\-contact \fIstring\fR;
|
dns64\-contact \fIstring\fR;
|
||||||
dns64\-server \fIstring\fR;
|
dns64\-server \fIstring\fR;
|
||||||
|
dnsrps\-enable \fIboolean\fR;
|
||||||
|
dnsrps\-options { \fIunspecified\-text\fR };
|
||||||
dnssec\-accept\-expired \fIboolean\fR;
|
dnssec\-accept\-expired \fIboolean\fR;
|
||||||
dnssec\-dnskey\-kskonly \fIboolean\fR;
|
dnssec\-dnskey\-kskonly \fIboolean\fR;
|
||||||
dnssec\-enable \fIboolean\fR;
|
dnssec\-enable \fIboolean\fR;
|
||||||
@@ -302,7 +300,8 @@ options {
|
|||||||
fstrm\-set\-output\-queue\-size \fIinteger\fR;
|
fstrm\-set\-output\-queue\-size \fIinteger\fR;
|
||||||
fstrm\-set\-reopen\-interval \fIinteger\fR;
|
fstrm\-set\-reopen\-interval \fIinteger\fR;
|
||||||
geoip\-directory ( \fIquoted_string\fR | none );
|
geoip\-directory ( \fIquoted_string\fR | none );
|
||||||
geoip\-use\-ecs ( \fIquoted_string\fR | none );
|
geoip\-use\-ecs \fIboolean\fR;
|
||||||
|
glue\-cache \fIboolean\fR;
|
||||||
heartbeat\-interval \fIinteger\fR;
|
heartbeat\-interval \fIinteger\fR;
|
||||||
hostname ( \fIquoted_string\fR | none );
|
hostname ( \fIquoted_string\fR | none );
|
||||||
inline\-signing \fIboolean\fR;
|
inline\-signing \fIboolean\fR;
|
||||||
@@ -323,11 +322,10 @@ options {
|
|||||||
masterfile\-format ( map | raw | text );
|
masterfile\-format ( map | raw | text );
|
||||||
masterfile\-style ( full | relative );
|
masterfile\-style ( full | relative );
|
||||||
match\-mapped\-addresses \fIboolean\fR;
|
match\-mapped\-addresses \fIboolean\fR;
|
||||||
max\-acache\-size ( unlimited | \fIsizeval\fR );
|
|
||||||
max\-cache\-size ( default | unlimited | \fIsizeval\fR | \fIpercentage\fR );
|
max\-cache\-size ( default | unlimited | \fIsizeval\fR | \fIpercentage\fR );
|
||||||
max\-cache\-ttl \fIinteger\fR;
|
max\-cache\-ttl \fIinteger\fR;
|
||||||
max\-clients\-per\-query \fIinteger\fR;
|
max\-clients\-per\-query \fIinteger\fR;
|
||||||
max\-journal\-size ( unlimited | \fIsizeval\fR );
|
max\-journal\-size ( default | unlimited | \fIsizeval\fR );
|
||||||
max\-ncache\-ttl \fIinteger\fR;
|
max\-ncache\-ttl \fIinteger\fR;
|
||||||
max\-records \fIinteger\fR;
|
max\-records \fIinteger\fR;
|
||||||
max\-recursion\-depth \fIinteger\fR;
|
max\-recursion\-depth \fIinteger\fR;
|
||||||
@@ -335,6 +333,7 @@ options {
|
|||||||
max\-refresh\-time \fIinteger\fR;
|
max\-refresh\-time \fIinteger\fR;
|
||||||
max\-retry\-time \fIinteger\fR;
|
max\-retry\-time \fIinteger\fR;
|
||||||
max\-rsa\-exponent\-size \fIinteger\fR;
|
max\-rsa\-exponent\-size \fIinteger\fR;
|
||||||
|
max\-stale\-ttl \fIttlval\fR;
|
||||||
max\-transfer\-idle\-in \fIinteger\fR;
|
max\-transfer\-idle\-in \fIinteger\fR;
|
||||||
max\-transfer\-idle\-out \fIinteger\fR;
|
max\-transfer\-idle\-out \fIinteger\fR;
|
||||||
max\-transfer\-time\-in \fIinteger\fR;
|
max\-transfer\-time\-in \fIinteger\fR;
|
||||||
@@ -349,6 +348,7 @@ options {
|
|||||||
minimal\-any \fIboolean\fR;
|
minimal\-any \fIboolean\fR;
|
||||||
minimal\-responses ( no\-auth | no\-auth\-recursive | \fIboolean\fR );
|
minimal\-responses ( no\-auth | no\-auth\-recursive | \fIboolean\fR );
|
||||||
multi\-master \fIboolean\fR;
|
multi\-master \fIboolean\fR;
|
||||||
|
new\-zones\-directory \fIquoted_string\fR;
|
||||||
no\-case\-compress { \fIaddress_match_element\fR; \&.\&.\&. };
|
no\-case\-compress { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||||
nocookie\-udp\-size \fIinteger\fR;
|
nocookie\-udp\-size \fIinteger\fR;
|
||||||
notify ( explicit | master\-only | \fIboolean\fR );
|
notify ( explicit | master\-only | \fIboolean\fR );
|
||||||
@@ -359,7 +359,6 @@ options {
|
|||||||
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ]
|
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ]
|
||||||
[ dscp \fIinteger\fR ];
|
[ dscp \fIinteger\fR ];
|
||||||
notify\-to\-soa \fIboolean\fR;
|
notify\-to\-soa \fIboolean\fR;
|
||||||
nsec3\-test\-zone \fIboolean\fR; // test only
|
|
||||||
nta\-lifetime \fIttlval\fR;
|
nta\-lifetime \fIttlval\fR;
|
||||||
nta\-recheck \fIttlval\fR;
|
nta\-recheck \fIttlval\fR;
|
||||||
nxdomain\-redirect \fIstring\fR;
|
nxdomain\-redirect \fIstring\fR;
|
||||||
@@ -375,7 +374,7 @@ options {
|
|||||||
\fIinteger\fR | * ) ] ) | ( [ [ address ] ( \fIipv6_address\fR | * ) ]
|
\fIinteger\fR | * ) ] ) | ( [ [ address ] ( \fIipv6_address\fR | * ) ]
|
||||||
port ( \fIinteger\fR | * ) ) ) [ dscp \fIinteger\fR ];
|
port ( \fIinteger\fR | * ) ) ) [ dscp \fIinteger\fR ];
|
||||||
querylog \fIboolean\fR;
|
querylog \fIboolean\fR;
|
||||||
random\-device \fIquoted_string\fR;
|
random\-device ( \fIquoted_string\fR | none );
|
||||||
rate\-limit {
|
rate\-limit {
|
||||||
all\-per\-second \fIinteger\fR;
|
all\-per\-second \fIinteger\fR;
|
||||||
errors\-per\-second \fIinteger\fR;
|
errors\-per\-second \fIinteger\fR;
|
||||||
@@ -401,17 +400,23 @@ options {
|
|||||||
request\-nsid \fIboolean\fR;
|
request\-nsid \fIboolean\fR;
|
||||||
require\-server\-cookie \fIboolean\fR;
|
require\-server\-cookie \fIboolean\fR;
|
||||||
reserved\-sockets \fIinteger\fR;
|
reserved\-sockets \fIinteger\fR;
|
||||||
|
resolver\-nonbackoff\-tries \fIinteger\fR;
|
||||||
resolver\-query\-timeout \fIinteger\fR;
|
resolver\-query\-timeout \fIinteger\fR;
|
||||||
|
resolver\-retry\-interval \fIinteger\fR;
|
||||||
response\-padding { \fIaddress_match_element\fR; \&.\&.\&. } block\-size
|
response\-padding { \fIaddress_match_element\fR; \&.\&.\&. } block\-size
|
||||||
\fIinteger\fR;
|
\fIinteger\fR;
|
||||||
response\-policy { zone \fIquoted_string\fR [ log \fIboolean\fR ] [
|
response\-policy { zone \fIquoted_string\fR [ log \fIboolean\fR ] [
|
||||||
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
||||||
policy ( cname | disabled | drop | given | no\-op | nodata |
|
policy ( cname | disabled | drop | given | no\-op | nodata |
|
||||||
nxdomain | passthru | tcp\-only \fIquoted_string\fR ) ] [
|
nxdomain | passthru | tcp\-only \fIquoted_string\fR ) ] [
|
||||||
recursive\-only \fIboolean\fR ]; \&.\&.\&. } [ break\-dnssec \fIboolean\fR ] [
|
recursive\-only \fIboolean\fR ] [ nsip\-enable \fIboolean\fR ] [
|
||||||
|
nsdname\-enable \fIboolean\fR ]; \&.\&.\&. } [ break\-dnssec \fIboolean\fR ] [
|
||||||
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
||||||
min\-ns\-dots \fIinteger\fR ] [ nsip\-wait\-recurse \fIboolean\fR ] [
|
min\-ns\-dots \fIinteger\fR ] [ nsip\-wait\-recurse \fIboolean\fR ] [
|
||||||
qname\-wait\-recurse \fIboolean\fR ] [ recursive\-only \fIboolean\fR ];
|
qname\-wait\-recurse \fIboolean\fR ] [ recursive\-only \fIboolean\fR ] [
|
||||||
|
nsip\-enable \fIboolean\fR ] [ nsdname\-enable \fIboolean\fR ] [
|
||||||
|
dnsrps\-enable \fIboolean\fR ] [ dnsrps\-options { \fIunspecified\-text\fR
|
||||||
|
} ];
|
||||||
root\-delegation\-only [ exclude { \fIquoted_string\fR; \&.\&.\&. } ];
|
root\-delegation\-only [ exclude { \fIquoted_string\fR; \&.\&.\&. } ];
|
||||||
rrset\-order { [ class \fIstring\fR ] [ type \fIstring\fR ] [ name
|
rrset\-order { [ class \fIstring\fR ] [ type \fIstring\fR ] [ name
|
||||||
\fIquoted_string\fR ] \fIstring\fR \fIstring\fR; \&.\&.\&. };
|
\fIquoted_string\fR ] \fIstring\fR \fIstring\fR; \&.\&.\&. };
|
||||||
@@ -430,6 +435,8 @@ options {
|
|||||||
sig\-validity\-interval \fIinteger\fR [ \fIinteger\fR ];
|
sig\-validity\-interval \fIinteger\fR [ \fIinteger\fR ];
|
||||||
sortlist { \fIaddress_match_element\fR; \&.\&.\&. };
|
sortlist { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||||
stacksize ( default | unlimited | \fIsizeval\fR );
|
stacksize ( default | unlimited | \fIsizeval\fR );
|
||||||
|
stale\-answer\-enable \fIboolean\fR;
|
||||||
|
stale\-answer\-ttl \fIttlval\fR;
|
||||||
startup\-notify\-rate \fIinteger\fR;
|
startup\-notify\-rate \fIinteger\fR;
|
||||||
statistics\-file \fIquoted_string\fR;
|
statistics\-file \fIquoted_string\fR;
|
||||||
synth\-from\-dnssec \fIboolean\fR;
|
synth\-from\-dnssec \fIboolean\fR;
|
||||||
@@ -545,10 +552,6 @@ trusted\-keys { \fIstring\fR \fIinteger\fR \fIinteger\fR
|
|||||||
.\}
|
.\}
|
||||||
.nf
|
.nf
|
||||||
view \fIstring\fR [ \fIclass\fR ] {
|
view \fIstring\fR [ \fIclass\fR ] {
|
||||||
acache\-cleaning\-interval \fIinteger\fR;
|
|
||||||
acache\-enable \fIboolean\fR;
|
|
||||||
additional\-from\-auth \fIboolean\fR;
|
|
||||||
additional\-from\-cache \fIboolean\fR;
|
|
||||||
allow\-new\-zones \fIboolean\fR;
|
allow\-new\-zones \fIboolean\fR;
|
||||||
allow\-notify { \fIaddress_match_element\fR; \&.\&.\&. };
|
allow\-notify { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||||
allow\-query { \fIaddress_match_element\fR; \&.\&.\&. };
|
allow\-query { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||||
@@ -612,6 +615,8 @@ view \fIstring\fR [ \fIclass\fR ] {
|
|||||||
};
|
};
|
||||||
dns64\-contact \fIstring\fR;
|
dns64\-contact \fIstring\fR;
|
||||||
dns64\-server \fIstring\fR;
|
dns64\-server \fIstring\fR;
|
||||||
|
dnsrps\-enable \fIboolean\fR;
|
||||||
|
dnsrps\-options { \fIunspecified\-text\fR };
|
||||||
dnssec\-accept\-expired \fIboolean\fR;
|
dnssec\-accept\-expired \fIboolean\fR;
|
||||||
dnssec\-dnskey\-kskonly \fIboolean\fR;
|
dnssec\-dnskey\-kskonly \fIboolean\fR;
|
||||||
dnssec\-enable \fIboolean\fR;
|
dnssec\-enable \fIboolean\fR;
|
||||||
@@ -643,6 +648,7 @@ view \fIstring\fR [ \fIclass\fR ] {
|
|||||||
forward ( first | only );
|
forward ( first | only );
|
||||||
forwarders [ port \fIinteger\fR ] [ dscp \fIinteger\fR ] { ( \fIipv4_address\fR
|
forwarders [ port \fIinteger\fR ] [ dscp \fIinteger\fR ] { ( \fIipv4_address\fR
|
||||||
| \fIipv6_address\fR ) [ port \fIinteger\fR ] [ dscp \fIinteger\fR ]; \&.\&.\&. };
|
| \fIipv6_address\fR ) [ port \fIinteger\fR ] [ dscp \fIinteger\fR ]; \&.\&.\&. };
|
||||||
|
glue\-cache \fIboolean\fR;
|
||||||
inline\-signing \fIboolean\fR;
|
inline\-signing \fIboolean\fR;
|
||||||
ixfr\-from\-differences ( master | slave | \fIboolean\fR );
|
ixfr\-from\-differences ( master | slave | \fIboolean\fR );
|
||||||
key \fIstring\fR {
|
key \fIstring\fR {
|
||||||
@@ -660,17 +666,17 @@ view \fIstring\fR [ \fIclass\fR ] {
|
|||||||
match\-clients { \fIaddress_match_element\fR; \&.\&.\&. };
|
match\-clients { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||||
match\-destinations { \fIaddress_match_element\fR; \&.\&.\&. };
|
match\-destinations { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||||
match\-recursive\-only \fIboolean\fR;
|
match\-recursive\-only \fIboolean\fR;
|
||||||
max\-acache\-size ( unlimited | \fIsizeval\fR );
|
|
||||||
max\-cache\-size ( default | unlimited | \fIsizeval\fR | \fIpercentage\fR );
|
max\-cache\-size ( default | unlimited | \fIsizeval\fR | \fIpercentage\fR );
|
||||||
max\-cache\-ttl \fIinteger\fR;
|
max\-cache\-ttl \fIinteger\fR;
|
||||||
max\-clients\-per\-query \fIinteger\fR;
|
max\-clients\-per\-query \fIinteger\fR;
|
||||||
max\-journal\-size ( unlimited | \fIsizeval\fR );
|
max\-journal\-size ( default | unlimited | \fIsizeval\fR );
|
||||||
max\-ncache\-ttl \fIinteger\fR;
|
max\-ncache\-ttl \fIinteger\fR;
|
||||||
max\-records \fIinteger\fR;
|
max\-records \fIinteger\fR;
|
||||||
max\-recursion\-depth \fIinteger\fR;
|
max\-recursion\-depth \fIinteger\fR;
|
||||||
max\-recursion\-queries \fIinteger\fR;
|
max\-recursion\-queries \fIinteger\fR;
|
||||||
max\-refresh\-time \fIinteger\fR;
|
max\-refresh\-time \fIinteger\fR;
|
||||||
max\-retry\-time \fIinteger\fR;
|
max\-retry\-time \fIinteger\fR;
|
||||||
|
max\-stale\-ttl \fIttlval\fR;
|
||||||
max\-transfer\-idle\-in \fIinteger\fR;
|
max\-transfer\-idle\-in \fIinteger\fR;
|
||||||
max\-transfer\-idle\-out \fIinteger\fR;
|
max\-transfer\-idle\-out \fIinteger\fR;
|
||||||
max\-transfer\-time\-in \fIinteger\fR;
|
max\-transfer\-time\-in \fIinteger\fR;
|
||||||
@@ -683,6 +689,7 @@ view \fIstring\fR [ \fIclass\fR ] {
|
|||||||
minimal\-any \fIboolean\fR;
|
minimal\-any \fIboolean\fR;
|
||||||
minimal\-responses ( no\-auth | no\-auth\-recursive | \fIboolean\fR );
|
minimal\-responses ( no\-auth | no\-auth\-recursive | \fIboolean\fR );
|
||||||
multi\-master \fIboolean\fR;
|
multi\-master \fIboolean\fR;
|
||||||
|
new\-zones\-directory \fIquoted_string\fR;
|
||||||
no\-case\-compress { \fIaddress_match_element\fR; \&.\&.\&. };
|
no\-case\-compress { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||||
nocookie\-udp\-size \fIinteger\fR;
|
nocookie\-udp\-size \fIinteger\fR;
|
||||||
notify ( explicit | master\-only | \fIboolean\fR );
|
notify ( explicit | master\-only | \fIboolean\fR );
|
||||||
@@ -692,7 +699,6 @@ view \fIstring\fR [ \fIclass\fR ] {
|
|||||||
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ]
|
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ]
|
||||||
[ dscp \fIinteger\fR ];
|
[ dscp \fIinteger\fR ];
|
||||||
notify\-to\-soa \fIboolean\fR;
|
notify\-to\-soa \fIboolean\fR;
|
||||||
nsec3\-test\-zone \fIboolean\fR; // test only
|
|
||||||
nta\-lifetime \fIttlval\fR;
|
nta\-lifetime \fIttlval\fR;
|
||||||
nta\-recheck \fIttlval\fR;
|
nta\-recheck \fIttlval\fR;
|
||||||
nxdomain\-redirect \fIstring\fR;
|
nxdomain\-redirect \fIstring\fR;
|
||||||
@@ -727,17 +733,23 @@ view \fIstring\fR [ \fIclass\fR ] {
|
|||||||
request\-ixfr \fIboolean\fR;
|
request\-ixfr \fIboolean\fR;
|
||||||
request\-nsid \fIboolean\fR;
|
request\-nsid \fIboolean\fR;
|
||||||
require\-server\-cookie \fIboolean\fR;
|
require\-server\-cookie \fIboolean\fR;
|
||||||
|
resolver\-nonbackoff\-tries \fIinteger\fR;
|
||||||
resolver\-query\-timeout \fIinteger\fR;
|
resolver\-query\-timeout \fIinteger\fR;
|
||||||
|
resolver\-retry\-interval \fIinteger\fR;
|
||||||
response\-padding { \fIaddress_match_element\fR; \&.\&.\&. } block\-size
|
response\-padding { \fIaddress_match_element\fR; \&.\&.\&. } block\-size
|
||||||
\fIinteger\fR;
|
\fIinteger\fR;
|
||||||
response\-policy { zone \fIquoted_string\fR [ log \fIboolean\fR ] [
|
response\-policy { zone \fIquoted_string\fR [ log \fIboolean\fR ] [
|
||||||
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
||||||
policy ( cname | disabled | drop | given | no\-op | nodata |
|
policy ( cname | disabled | drop | given | no\-op | nodata |
|
||||||
nxdomain | passthru | tcp\-only \fIquoted_string\fR ) ] [
|
nxdomain | passthru | tcp\-only \fIquoted_string\fR ) ] [
|
||||||
recursive\-only \fIboolean\fR ]; \&.\&.\&. } [ break\-dnssec \fIboolean\fR ] [
|
recursive\-only \fIboolean\fR ] [ nsip\-enable \fIboolean\fR ] [
|
||||||
|
nsdname\-enable \fIboolean\fR ]; \&.\&.\&. } [ break\-dnssec \fIboolean\fR ] [
|
||||||
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
max\-policy\-ttl \fIinteger\fR ] [ min\-update\-interval \fIinteger\fR ] [
|
||||||
min\-ns\-dots \fIinteger\fR ] [ nsip\-wait\-recurse \fIboolean\fR ] [
|
min\-ns\-dots \fIinteger\fR ] [ nsip\-wait\-recurse \fIboolean\fR ] [
|
||||||
qname\-wait\-recurse \fIboolean\fR ] [ recursive\-only \fIboolean\fR ];
|
qname\-wait\-recurse \fIboolean\fR ] [ recursive\-only \fIboolean\fR ] [
|
||||||
|
nsip\-enable \fIboolean\fR ] [ nsdname\-enable \fIboolean\fR ] [
|
||||||
|
dnsrps\-enable \fIboolean\fR ] [ dnsrps\-options { \fIunspecified\-text\fR
|
||||||
|
} ];
|
||||||
root\-delegation\-only [ exclude { \fIquoted_string\fR; \&.\&.\&. } ];
|
root\-delegation\-only [ exclude { \fIquoted_string\fR; \&.\&.\&. } ];
|
||||||
rrset\-order { [ class \fIstring\fR ] [ type \fIstring\fR ] [ name
|
rrset\-order { [ class \fIstring\fR ] [ type \fIstring\fR ] [ name
|
||||||
\fIquoted_string\fR ] \fIstring\fR \fIstring\fR; \&.\&.\&. };
|
\fIquoted_string\fR ] \fIstring\fR \fIstring\fR; \&.\&.\&. };
|
||||||
@@ -783,6 +795,8 @@ view \fIstring\fR [ \fIclass\fR ] {
|
|||||||
sig\-signing\-type \fIinteger\fR;
|
sig\-signing\-type \fIinteger\fR;
|
||||||
sig\-validity\-interval \fIinteger\fR [ \fIinteger\fR ];
|
sig\-validity\-interval \fIinteger\fR [ \fIinteger\fR ];
|
||||||
sortlist { \fIaddress_match_element\fR; \&.\&.\&. };
|
sortlist { \fIaddress_match_element\fR; \&.\&.\&. };
|
||||||
|
stale\-answer\-enable \fIboolean\fR;
|
||||||
|
stale\-answer\-ttl \fIttlval\fR;
|
||||||
synth\-from\-dnssec \fIboolean\fR;
|
synth\-from\-dnssec \fIboolean\fR;
|
||||||
transfer\-format ( many\-answers | one\-answer );
|
transfer\-format ( many\-answers | one\-answer );
|
||||||
transfer\-source ( \fIipv4_address\fR | * ) [ port ( \fIinteger\fR | * ) ] [
|
transfer\-source ( \fIipv4_address\fR | * ) [ port ( \fIinteger\fR | * ) ] [
|
||||||
@@ -849,7 +863,7 @@ view \fIstring\fR [ \fIclass\fR ] {
|
|||||||
| \fIipv4_address\fR [ port \fIinteger\fR ] | \fIipv6_address\fR [
|
| \fIipv4_address\fR [ port \fIinteger\fR ] | \fIipv6_address\fR [
|
||||||
port \fIinteger\fR ] ) [ key \fIstring\fR ]; \&.\&.\&. };
|
port \fIinteger\fR ] ) [ key \fIstring\fR ]; \&.\&.\&. };
|
||||||
max\-ixfr\-log\-size ( default | unlimited |
|
max\-ixfr\-log\-size ( default | unlimited |
|
||||||
max\-journal\-size ( unlimited | \fIsizeval\fR );
|
max\-journal\-size ( default | unlimited | \fIsizeval\fR );
|
||||||
max\-records \fIinteger\fR;
|
max\-records \fIinteger\fR;
|
||||||
max\-refresh\-time \fIinteger\fR;
|
max\-refresh\-time \fIinteger\fR;
|
||||||
max\-retry\-time \fIinteger\fR;
|
max\-retry\-time \fIinteger\fR;
|
||||||
@@ -868,7 +882,6 @@ view \fIstring\fR [ \fIclass\fR ] {
|
|||||||
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR
|
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR
|
||||||
| * ) ] [ dscp \fIinteger\fR ];
|
| * ) ] [ dscp \fIinteger\fR ];
|
||||||
notify\-to\-soa \fIboolean\fR;
|
notify\-to\-soa \fIboolean\fR;
|
||||||
nsec3\-test\-zone \fIboolean\fR; // test only
|
|
||||||
pubkey \fIinteger\fR
|
pubkey \fIinteger\fR
|
||||||
\fIinteger\fR
|
\fIinteger\fR
|
||||||
\fIinteger\fR
|
\fIinteger\fR
|
||||||
@@ -957,7 +970,7 @@ zone \fIstring\fR [ \fIclass\fR ] {
|
|||||||
masters [ port \fIinteger\fR ] [ dscp \fIinteger\fR ] { ( \fImasters\fR |
|
masters [ port \fIinteger\fR ] [ dscp \fIinteger\fR ] { ( \fImasters\fR |
|
||||||
\fIipv4_address\fR [ port \fIinteger\fR ] | \fIipv6_address\fR [ port
|
\fIipv4_address\fR [ port \fIinteger\fR ] | \fIipv6_address\fR [ port
|
||||||
\fIinteger\fR ] ) [ key \fIstring\fR ]; \&.\&.\&. };
|
\fIinteger\fR ] ) [ key \fIstring\fR ]; \&.\&.\&. };
|
||||||
max\-journal\-size ( unlimited | \fIsizeval\fR );
|
max\-journal\-size ( default | unlimited | \fIsizeval\fR );
|
||||||
max\-records \fIinteger\fR;
|
max\-records \fIinteger\fR;
|
||||||
max\-refresh\-time \fIinteger\fR;
|
max\-refresh\-time \fIinteger\fR;
|
||||||
max\-retry\-time \fIinteger\fR;
|
max\-retry\-time \fIinteger\fR;
|
||||||
@@ -976,7 +989,6 @@ zone \fIstring\fR [ \fIclass\fR ] {
|
|||||||
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ]
|
notify\-source\-v6 ( \fIipv6_address\fR | * ) [ port ( \fIinteger\fR | * ) ]
|
||||||
[ dscp \fIinteger\fR ];
|
[ dscp \fIinteger\fR ];
|
||||||
notify\-to\-soa \fIboolean\fR;
|
notify\-to\-soa \fIboolean\fR;
|
||||||
nsec3\-test\-zone \fIboolean\fR; // test only
|
|
||||||
pubkey \fIinteger\fR \fIinteger\fR
|
pubkey \fIinteger\fR \fIinteger\fR
|
||||||
request\-expire \fIboolean\fR;
|
request\-expire \fIboolean\fR;
|
||||||
request\-ixfr \fIboolean\fR;
|
request\-ixfr \fIboolean\fR;
|
||||||
@@ -1024,5 +1036,5 @@ BIND 9 Administrator Reference Manual\&.
|
|||||||
\fBInternet Systems Consortium, Inc\&.\fR
|
\fBInternet Systems Consortium, Inc\&.\fR
|
||||||
.SH "COPYRIGHT"
|
.SH "COPYRIGHT"
|
||||||
.br
|
.br
|
||||||
Copyright \(co 2004-2017 Internet Systems Consortium, Inc. ("ISC")
|
Copyright \(co 2004-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
.br
|
.br
|
||||||
|
|||||||
+244
-230
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
- Copyright (C) 2004-2017 Internet Systems Consortium, Inc. ("ISC")
|
- Copyright (C) 2004-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
-
|
-
|
||||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
- 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
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<refentry xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="man.named.conf">
|
<refentry xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="man.named.conf">
|
||||||
<info>
|
<info>
|
||||||
<date>2017-04-25</date>
|
<date>2017-10-26</date>
|
||||||
</info>
|
</info>
|
||||||
<refentryinfo>
|
<refentryinfo>
|
||||||
<corpname>ISC</corpname>
|
<corpname>ISC</corpname>
|
||||||
@@ -44,6 +44,7 @@
|
|||||||
<year>2015</year>
|
<year>2015</year>
|
||||||
<year>2016</year>
|
<year>2016</year>
|
||||||
<year>2017</year>
|
<year>2017</year>
|
||||||
|
<year>2018</year>
|
||||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
</docinfo>
|
</docinfo>
|
||||||
@@ -86,14 +87,14 @@ acl <replaceable>string</replaceable> { <replaceable>address_match_element</repl
|
|||||||
<literallayout class="normal">
|
<literallayout class="normal">
|
||||||
controls {
|
controls {
|
||||||
inet ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> |
|
inet ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> |
|
||||||
* ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> allow
|
* ) [ port ( <replaceable>integer</replaceable> | * ) ] allow
|
||||||
{ <replaceable>address_match_element</replaceable>; ... } <optional>
|
{ <replaceable>address_match_element</replaceable>; ... } [
|
||||||
keys { <replaceable>string</replaceable>; ... } </optional> <optional> read-only
|
keys { <replaceable>string</replaceable>; ... } ] [ read-only
|
||||||
<replaceable>boolean</replaceable> </optional>;
|
<replaceable>boolean</replaceable> ];
|
||||||
unix <replaceable>quoted_string</replaceable> perm <replaceable>integer</replaceable>
|
unix <replaceable>quoted_string</replaceable> perm <replaceable>integer</replaceable>
|
||||||
owner <replaceable>integer</replaceable> group <replaceable>integer</replaceable> <optional>
|
owner <replaceable>integer</replaceable> group <replaceable>integer</replaceable> [
|
||||||
keys { <replaceable>string</replaceable>; ... } </optional> <optional> read-only
|
keys { <replaceable>string</replaceable>; ... } ] [ read-only
|
||||||
<replaceable>boolean</replaceable> </optional>;
|
<replaceable>boolean</replaceable> ];
|
||||||
};
|
};
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</refsection>
|
</refsection>
|
||||||
@@ -133,20 +134,21 @@ logging {
|
|||||||
category <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
|
category <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
|
||||||
channel <replaceable>string</replaceable> {
|
channel <replaceable>string</replaceable> {
|
||||||
buffered <replaceable>boolean</replaceable>;
|
buffered <replaceable>boolean</replaceable>;
|
||||||
file <replaceable>quoted_string</replaceable> <optional> versions ( unlimited | <replaceable>integer</replaceable> ) </optional>
|
file <replaceable>quoted_string</replaceable> [ versions ( unlimited | <replaceable>integer</replaceable> ) ]
|
||||||
<optional> size <replaceable>size</replaceable> </optional> <optional> suffix ( increment | timestamp ) </optional>;
|
[ size <replaceable>size</replaceable> ] [ suffix ( increment | timestamp ) ];
|
||||||
null;
|
null;
|
||||||
print-category <replaceable>boolean</replaceable>;
|
print-category <replaceable>boolean</replaceable>;
|
||||||
print-severity <replaceable>boolean</replaceable>;
|
print-severity <replaceable>boolean</replaceable>;
|
||||||
print-time ( iso8601 | iso8601-utc | local | <replaceable>boolean</replaceable> );
|
print-time ( iso8601 | iso8601-utc | local | <replaceable>boolean</replaceable> );
|
||||||
severity <replaceable>log_severity</replaceable>;
|
severity <replaceable>log_severity</replaceable>;
|
||||||
stderr;
|
stderr;
|
||||||
syslog <optional> <replaceable>syslog_facility</replaceable> </optional>;
|
syslog [ <replaceable>syslog_facility</replaceable> ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</refsection>
|
</refsection>
|
||||||
|
|
||||||
|
|
||||||
<refsection><info><title>MANAGED-KEYS</title></info>
|
<refsection><info><title>MANAGED-KEYS</title></info>
|
||||||
|
|
||||||
<literallayout class="normal">
|
<literallayout class="normal">
|
||||||
@@ -158,10 +160,10 @@ managed-keys { <replaceable>string</replaceable> <replaceable>string</replaceabl
|
|||||||
<refsection><info><title>MASTERS</title></info>
|
<refsection><info><title>MASTERS</title></info>
|
||||||
|
|
||||||
<literallayout class="normal">
|
<literallayout class="normal">
|
||||||
masters <replaceable>string</replaceable> <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp
|
masters <replaceable>string</replaceable> [ port <replaceable>integer</replaceable> ] [ dscp
|
||||||
<replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> <optional>
|
<replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> [
|
||||||
port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||||
<replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
<replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</refsection>
|
</refsection>
|
||||||
|
|
||||||
@@ -169,10 +171,6 @@ masters <replaceable>string</replaceable> <optional> port <replaceable>integer</
|
|||||||
|
|
||||||
<literallayout class="normal">
|
<literallayout class="normal">
|
||||||
options {
|
options {
|
||||||
acache-cleaning-interval <replaceable>integer</replaceable>;
|
|
||||||
acache-enable <replaceable>boolean</replaceable>;
|
|
||||||
additional-from-auth <replaceable>boolean</replaceable>;
|
|
||||||
additional-from-cache <replaceable>boolean</replaceable>;
|
|
||||||
allow-new-zones <replaceable>boolean</replaceable>;
|
allow-new-zones <replaceable>boolean</replaceable>;
|
||||||
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
||||||
@@ -184,13 +182,13 @@ options {
|
|||||||
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
||||||
also-notify <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> |
|
also-notify [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> |
|
||||||
<replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
<replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||||
<replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
<replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
] [ dscp <replaceable>integer</replaceable> ];
|
||||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> |
|
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> |
|
||||||
* ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
* ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
attach-cache <replaceable>string</replaceable>;
|
attach-cache <replaceable>string</replaceable>;
|
||||||
auth-nxdomain <replaceable>boolean</replaceable>; // default changed
|
auth-nxdomain <replaceable>boolean</replaceable>; // default changed
|
||||||
auto-dnssec ( allow | maintain | off );
|
auto-dnssec ( allow | maintain | off );
|
||||||
@@ -200,11 +198,11 @@ options {
|
|||||||
bindkeys-file <replaceable>quoted_string</replaceable>;
|
bindkeys-file <replaceable>quoted_string</replaceable>;
|
||||||
blackhole { <replaceable>address_match_element</replaceable>; ... };
|
blackhole { <replaceable>address_match_element</replaceable>; ... };
|
||||||
cache-file <replaceable>quoted_string</replaceable>;
|
cache-file <replaceable>quoted_string</replaceable>;
|
||||||
catalog-zones { zone <replaceable>quoted_string</replaceable> <optional> default-masters <optional> port
|
catalog-zones { zone <replaceable>quoted_string</replaceable> [ default-masters [ port
|
||||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> <optional>
|
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> [
|
||||||
port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> ) <optional> key
|
port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port <replaceable>integer</replaceable> ] ) [ key
|
||||||
<replaceable>string</replaceable> </optional>; ... } </optional> <optional> zone-directory <replaceable>quoted_string</replaceable> </optional> <optional>
|
<replaceable>string</replaceable> ]; ... } ] [ zone-directory <replaceable>quoted_string</replaceable> ] [
|
||||||
in-memory <replaceable>boolean</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional>; ... };
|
in-memory <replaceable>boolean</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ]; ... };
|
||||||
check-dup-records ( fail | warn | ignore );
|
check-dup-records ( fail | warn | ignore );
|
||||||
check-integrity <replaceable>boolean</replaceable>;
|
check-integrity <replaceable>boolean</replaceable>;
|
||||||
check-mx ( fail | warn | ignore );
|
check-mx ( fail | warn | ignore );
|
||||||
@@ -221,10 +219,10 @@ options {
|
|||||||
cookie-secret <replaceable>string</replaceable>;
|
cookie-secret <replaceable>string</replaceable>;
|
||||||
coresize ( default | unlimited | <replaceable>sizeval</replaceable> );
|
coresize ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||||
datasize ( default | unlimited | <replaceable>sizeval</replaceable> );
|
datasize ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||||
deny-answer-addresses { <replaceable>address_match_element</replaceable>; ... } <optional>
|
deny-answer-addresses { <replaceable>address_match_element</replaceable>; ... } [
|
||||||
except-from { <replaceable>quoted_string</replaceable>; ... } </optional>;
|
except-from { <replaceable>quoted_string</replaceable>; ... } ];
|
||||||
deny-answer-aliases { <replaceable>quoted_string</replaceable>; ... } <optional> except-from {
|
deny-answer-aliases { <replaceable>quoted_string</replaceable>; ... } [ except-from {
|
||||||
<replaceable>quoted_string</replaceable>; ... } </optional>;
|
<replaceable>quoted_string</replaceable>; ... } ];
|
||||||
dialup ( notify | notify-passive | passive | refresh | <replaceable>boolean</replaceable> );
|
dialup ( notify | notify-passive | passive | refresh | <replaceable>boolean</replaceable> );
|
||||||
directory <replaceable>quoted_string</replaceable>;
|
directory <replaceable>quoted_string</replaceable>;
|
||||||
disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>;
|
disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>;
|
||||||
@@ -242,6 +240,8 @@ options {
|
|||||||
};
|
};
|
||||||
dns64-contact <replaceable>string</replaceable>;
|
dns64-contact <replaceable>string</replaceable>;
|
||||||
dns64-server <replaceable>string</replaceable>;
|
dns64-server <replaceable>string</replaceable>;
|
||||||
|
dnsrps-enable <replaceable>boolean</replaceable>;
|
||||||
|
dnsrps-options { <replaceable>unspecified-text</replaceable> };
|
||||||
dnssec-accept-expired <replaceable>boolean</replaceable>;
|
dnssec-accept-expired <replaceable>boolean</replaceable>;
|
||||||
dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
|
dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
|
||||||
dnssec-enable <replaceable>boolean</replaceable>;
|
dnssec-enable <replaceable>boolean</replaceable>;
|
||||||
@@ -253,35 +253,35 @@ options {
|
|||||||
dnssec-update-mode ( maintain | no-resign );
|
dnssec-update-mode ( maintain | no-resign );
|
||||||
dnssec-validation ( yes | no | auto );
|
dnssec-validation ( yes | no | auto );
|
||||||
dnstap { ( all | auth | client | forwarder |
|
dnstap { ( all | auth | client | forwarder |
|
||||||
resolver ) <optional> ( query | response ) </optional>; ... };
|
resolver ) [ ( query | response ) ]; ... };
|
||||||
dnstap-identity ( <replaceable>quoted_string</replaceable> | none |
|
dnstap-identity ( <replaceable>quoted_string</replaceable> | none |
|
||||||
hostname );
|
hostname );
|
||||||
dnstap-output ( file | unix ) <replaceable>quoted_string</replaceable> <optional>
|
dnstap-output ( file | unix ) <replaceable>quoted_string</replaceable> [
|
||||||
size ( unlimited | <replaceable>size</replaceable> ) </optional> <optional> versions (
|
size ( unlimited | <replaceable>size</replaceable> ) ] [ versions (
|
||||||
unlimited | <replaceable>integer</replaceable> ) </optional> <optional> suffix ( increment
|
unlimited | <replaceable>integer</replaceable> ) ] [ suffix ( increment
|
||||||
| timestamp ) </optional>;
|
| timestamp ) ];
|
||||||
dnstap-version ( <replaceable>quoted_string</replaceable> | none );
|
dnstap-version ( <replaceable>quoted_string</replaceable> | none );
|
||||||
dscp <replaceable>integer</replaceable>;
|
dscp <replaceable>integer</replaceable>;
|
||||||
dual-stack-servers <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>quoted_string</replaceable> <optional> port
|
dual-stack-servers [ port <replaceable>integer</replaceable> ] { ( <replaceable>quoted_string</replaceable> [ port
|
||||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> | <replaceable>ipv4_address</replaceable> <optional> port
|
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] | <replaceable>ipv4_address</replaceable> [ port
|
||||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> ); ... };
|
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] ); ... };
|
||||||
dump-file <replaceable>quoted_string</replaceable>;
|
dump-file <replaceable>quoted_string</replaceable>;
|
||||||
edns-udp-size <replaceable>integer</replaceable>;
|
edns-udp-size <replaceable>integer</replaceable>;
|
||||||
empty-contact <replaceable>string</replaceable>;
|
empty-contact <replaceable>string</replaceable>;
|
||||||
empty-server <replaceable>string</replaceable>;
|
empty-server <replaceable>string</replaceable>;
|
||||||
empty-zones-enable <replaceable>boolean</replaceable>;
|
empty-zones-enable <replaceable>boolean</replaceable>;
|
||||||
fetch-quota-params <replaceable>integer</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable>;
|
fetch-quota-params <replaceable>integer</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable>;
|
||||||
fetches-per-server <replaceable>integer</replaceable> <optional> ( drop | fail ) </optional>;
|
fetches-per-server <replaceable>integer</replaceable> [ ( drop | fail ) ];
|
||||||
fetches-per-zone <replaceable>integer</replaceable> <optional> ( drop | fail ) </optional>;
|
fetches-per-zone <replaceable>integer</replaceable> [ ( drop | fail ) ];
|
||||||
files ( default | unlimited | <replaceable>sizeval</replaceable> );
|
files ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||||
filter-aaaa { <replaceable>address_match_element</replaceable>; ... };
|
filter-aaaa { <replaceable>address_match_element</replaceable>; ... };
|
||||||
filter-aaaa-on-v4 ( break-dnssec | <replaceable>boolean</replaceable> );
|
filter-aaaa-on-v4 ( break-dnssec | <replaceable>boolean</replaceable> );
|
||||||
filter-aaaa-on-v6 ( break-dnssec | <replaceable>boolean</replaceable> );
|
filter-aaaa-on-v6 ( break-dnssec | <replaceable>boolean</replaceable> );
|
||||||
flush-zones-on-shutdown <replaceable>boolean</replaceable>;
|
flush-zones-on-shutdown <replaceable>boolean</replaceable>;
|
||||||
forward ( first | only );
|
forward ( first | only );
|
||||||
forwarders <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable>
|
forwarders [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>ipv4_address</replaceable>
|
||||||
| <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional>; ... };
|
| <replaceable>ipv6_address</replaceable> ) [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ]; ... };
|
||||||
fstrm-set-buffer-hint <replaceable>integer</replaceable>;
|
fstrm-set-buffer-hint <replaceable>integer</replaceable>;
|
||||||
fstrm-set-flush-timeout <replaceable>integer</replaceable>;
|
fstrm-set-flush-timeout <replaceable>integer</replaceable>;
|
||||||
fstrm-set-input-queue-size <replaceable>integer</replaceable>;
|
fstrm-set-input-queue-size <replaceable>integer</replaceable>;
|
||||||
@@ -290,7 +290,8 @@ options {
|
|||||||
fstrm-set-output-queue-size <replaceable>integer</replaceable>;
|
fstrm-set-output-queue-size <replaceable>integer</replaceable>;
|
||||||
fstrm-set-reopen-interval <replaceable>integer</replaceable>;
|
fstrm-set-reopen-interval <replaceable>integer</replaceable>;
|
||||||
geoip-directory ( <replaceable>quoted_string</replaceable> | none );
|
geoip-directory ( <replaceable>quoted_string</replaceable> | none );
|
||||||
geoip-use-ecs ( <replaceable>quoted_string</replaceable> | none );
|
geoip-use-ecs <replaceable>boolean</replaceable>;
|
||||||
|
glue-cache <replaceable>boolean</replaceable>;
|
||||||
heartbeat-interval <replaceable>integer</replaceable>;
|
heartbeat-interval <replaceable>integer</replaceable>;
|
||||||
hostname ( <replaceable>quoted_string</replaceable> | none );
|
hostname ( <replaceable>quoted_string</replaceable> | none );
|
||||||
inline-signing <replaceable>boolean</replaceable>;
|
inline-signing <replaceable>boolean</replaceable>;
|
||||||
@@ -299,11 +300,11 @@ options {
|
|||||||
keep-response-order { <replaceable>address_match_element</replaceable>; ... };
|
keep-response-order { <replaceable>address_match_element</replaceable>; ... };
|
||||||
key-directory <replaceable>quoted_string</replaceable>;
|
key-directory <replaceable>quoted_string</replaceable>;
|
||||||
lame-ttl <replaceable>ttlval</replaceable>;
|
lame-ttl <replaceable>ttlval</replaceable>;
|
||||||
listen-on <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp
|
listen-on [ port <replaceable>integer</replaceable> ] [ dscp
|
||||||
<replaceable>integer</replaceable> </optional> {
|
<replaceable>integer</replaceable> ] {
|
||||||
<replaceable>address_match_element</replaceable>; ... };
|
<replaceable>address_match_element</replaceable>; ... };
|
||||||
listen-on-v6 <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp
|
listen-on-v6 [ port <replaceable>integer</replaceable> ] [ dscp
|
||||||
<replaceable>integer</replaceable> </optional> {
|
<replaceable>integer</replaceable> ] {
|
||||||
<replaceable>address_match_element</replaceable>; ... };
|
<replaceable>address_match_element</replaceable>; ... };
|
||||||
lmdb-mapsize <replaceable>sizeval</replaceable>;
|
lmdb-mapsize <replaceable>sizeval</replaceable>;
|
||||||
lock-file ( <replaceable>quoted_string</replaceable> | none );
|
lock-file ( <replaceable>quoted_string</replaceable> | none );
|
||||||
@@ -311,11 +312,10 @@ options {
|
|||||||
masterfile-format ( map | raw | text );
|
masterfile-format ( map | raw | text );
|
||||||
masterfile-style ( full | relative );
|
masterfile-style ( full | relative );
|
||||||
match-mapped-addresses <replaceable>boolean</replaceable>;
|
match-mapped-addresses <replaceable>boolean</replaceable>;
|
||||||
max-acache-size ( unlimited | <replaceable>sizeval</replaceable> );
|
|
||||||
max-cache-size ( default | unlimited | <replaceable>sizeval</replaceable> | <replaceable>percentage</replaceable> );
|
max-cache-size ( default | unlimited | <replaceable>sizeval</replaceable> | <replaceable>percentage</replaceable> );
|
||||||
max-cache-ttl <replaceable>integer</replaceable>;
|
max-cache-ttl <replaceable>integer</replaceable>;
|
||||||
max-clients-per-query <replaceable>integer</replaceable>;
|
max-clients-per-query <replaceable>integer</replaceable>;
|
||||||
max-journal-size ( unlimited | <replaceable>sizeval</replaceable> );
|
max-journal-size ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||||
max-ncache-ttl <replaceable>integer</replaceable>;
|
max-ncache-ttl <replaceable>integer</replaceable>;
|
||||||
max-records <replaceable>integer</replaceable>;
|
max-records <replaceable>integer</replaceable>;
|
||||||
max-recursion-depth <replaceable>integer</replaceable>;
|
max-recursion-depth <replaceable>integer</replaceable>;
|
||||||
@@ -323,6 +323,7 @@ options {
|
|||||||
max-refresh-time <replaceable>integer</replaceable>;
|
max-refresh-time <replaceable>integer</replaceable>;
|
||||||
max-retry-time <replaceable>integer</replaceable>;
|
max-retry-time <replaceable>integer</replaceable>;
|
||||||
max-rsa-exponent-size <replaceable>integer</replaceable>;
|
max-rsa-exponent-size <replaceable>integer</replaceable>;
|
||||||
|
max-stale-ttl <replaceable>ttlval</replaceable>;
|
||||||
max-transfer-idle-in <replaceable>integer</replaceable>;
|
max-transfer-idle-in <replaceable>integer</replaceable>;
|
||||||
max-transfer-idle-out <replaceable>integer</replaceable>;
|
max-transfer-idle-out <replaceable>integer</replaceable>;
|
||||||
max-transfer-time-in <replaceable>integer</replaceable>;
|
max-transfer-time-in <replaceable>integer</replaceable>;
|
||||||
@@ -337,33 +338,33 @@ options {
|
|||||||
minimal-any <replaceable>boolean</replaceable>;
|
minimal-any <replaceable>boolean</replaceable>;
|
||||||
minimal-responses ( no-auth | no-auth-recursive | <replaceable>boolean</replaceable> );
|
minimal-responses ( no-auth | no-auth-recursive | <replaceable>boolean</replaceable> );
|
||||||
multi-master <replaceable>boolean</replaceable>;
|
multi-master <replaceable>boolean</replaceable>;
|
||||||
|
new-zones-directory <replaceable>quoted_string</replaceable>;
|
||||||
no-case-compress { <replaceable>address_match_element</replaceable>; ... };
|
no-case-compress { <replaceable>address_match_element</replaceable>; ... };
|
||||||
nocookie-udp-size <replaceable>integer</replaceable>;
|
nocookie-udp-size <replaceable>integer</replaceable>;
|
||||||
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
||||||
notify-delay <replaceable>integer</replaceable>;
|
notify-delay <replaceable>integer</replaceable>;
|
||||||
notify-rate <replaceable>integer</replaceable>;
|
notify-rate <replaceable>integer</replaceable>;
|
||||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||||
dscp <replaceable>integer</replaceable> </optional>;
|
dscp <replaceable>integer</replaceable> ];
|
||||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>
|
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ]
|
||||||
<optional> dscp <replaceable>integer</replaceable> </optional>;
|
[ dscp <replaceable>integer</replaceable> ];
|
||||||
notify-to-soa <replaceable>boolean</replaceable>;
|
notify-to-soa <replaceable>boolean</replaceable>;
|
||||||
nsec3-test-zone <replaceable>boolean</replaceable>; // test only
|
|
||||||
nta-lifetime <replaceable>ttlval</replaceable>;
|
nta-lifetime <replaceable>ttlval</replaceable>;
|
||||||
nta-recheck <replaceable>ttlval</replaceable>;
|
nta-recheck <replaceable>ttlval</replaceable>;
|
||||||
nxdomain-redirect <replaceable>string</replaceable>;
|
nxdomain-redirect <replaceable>string</replaceable>;
|
||||||
pid-file ( <replaceable>quoted_string</replaceable> | none );
|
pid-file ( <replaceable>quoted_string</replaceable> | none );
|
||||||
port <replaceable>integer</replaceable>;
|
port <replaceable>integer</replaceable>;
|
||||||
preferred-glue <replaceable>string</replaceable>;
|
preferred-glue <replaceable>string</replaceable>;
|
||||||
prefetch <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
prefetch <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||||
provide-ixfr <replaceable>boolean</replaceable>;
|
provide-ixfr <replaceable>boolean</replaceable>;
|
||||||
query-source ( ( <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) <optional> port (
|
query-source ( ( [ address ] ( <replaceable>ipv4_address</replaceable> | * ) [ port (
|
||||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) </optional>
|
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv4_address</replaceable> | * ) ]
|
||||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||||
query-source-v6 ( ( <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
query-source-v6 ( ( [ address ] ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) </optional>
|
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv6_address</replaceable> | * ) ]
|
||||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||||
querylog <replaceable>boolean</replaceable>;
|
querylog <replaceable>boolean</replaceable>;
|
||||||
random-device <replaceable>quoted_string</replaceable>;
|
random-device ( <replaceable>quoted_string</replaceable> | none );
|
||||||
rate-limit {
|
rate-limit {
|
||||||
all-per-second <replaceable>integer</replaceable>;
|
all-per-second <replaceable>integer</replaceable>;
|
||||||
errors-per-second <replaceable>integer</replaceable>;
|
errors-per-second <replaceable>integer</replaceable>;
|
||||||
@@ -389,20 +390,26 @@ options {
|
|||||||
request-nsid <replaceable>boolean</replaceable>;
|
request-nsid <replaceable>boolean</replaceable>;
|
||||||
require-server-cookie <replaceable>boolean</replaceable>;
|
require-server-cookie <replaceable>boolean</replaceable>;
|
||||||
reserved-sockets <replaceable>integer</replaceable>;
|
reserved-sockets <replaceable>integer</replaceable>;
|
||||||
|
resolver-nonbackoff-tries <replaceable>integer</replaceable>;
|
||||||
resolver-query-timeout <replaceable>integer</replaceable>;
|
resolver-query-timeout <replaceable>integer</replaceable>;
|
||||||
|
resolver-retry-interval <replaceable>integer</replaceable>;
|
||||||
response-padding { <replaceable>address_match_element</replaceable>; ... } block-size
|
response-padding { <replaceable>address_match_element</replaceable>; ... } block-size
|
||||||
<replaceable>integer</replaceable>;
|
<replaceable>integer</replaceable>;
|
||||||
response-policy { zone <replaceable>quoted_string</replaceable> <optional> log <replaceable>boolean</replaceable> </optional> <optional>
|
response-policy { zone <replaceable>quoted_string</replaceable> [ log <replaceable>boolean</replaceable> ] [
|
||||||
max-policy-ttl <replaceable>integer</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional> <optional>
|
max-policy-ttl <replaceable>integer</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ] [
|
||||||
policy ( cname | disabled | drop | given | no-op | nodata |
|
policy ( cname | disabled | drop | given | no-op | nodata |
|
||||||
nxdomain | passthru | tcp-only <replaceable>quoted_string</replaceable> ) </optional> <optional>
|
nxdomain | passthru | tcp-only <replaceable>quoted_string</replaceable> ) ] [
|
||||||
recursive-only <replaceable>boolean</replaceable> </optional>; ... } <optional> break-dnssec <replaceable>boolean</replaceable> </optional> <optional>
|
recursive-only <replaceable>boolean</replaceable> ] [ nsip-enable <replaceable>boolean</replaceable> ] [
|
||||||
max-policy-ttl <replaceable>integer</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional> <optional>
|
nsdname-enable <replaceable>boolean</replaceable> ]; ... } [ break-dnssec <replaceable>boolean</replaceable> ] [
|
||||||
min-ns-dots <replaceable>integer</replaceable> </optional> <optional> nsip-wait-recurse <replaceable>boolean</replaceable> </optional> <optional>
|
max-policy-ttl <replaceable>integer</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ] [
|
||||||
qname-wait-recurse <replaceable>boolean</replaceable> </optional> <optional> recursive-only <replaceable>boolean</replaceable> </optional>;
|
min-ns-dots <replaceable>integer</replaceable> ] [ nsip-wait-recurse <replaceable>boolean</replaceable> ] [
|
||||||
root-delegation-only <optional> exclude { <replaceable>quoted_string</replaceable>; ... } </optional>;
|
qname-wait-recurse <replaceable>boolean</replaceable> ] [ recursive-only <replaceable>boolean</replaceable> ] [
|
||||||
rrset-order { <optional> class <replaceable>string</replaceable> </optional> <optional> type <replaceable>string</replaceable> </optional> <optional> name
|
nsip-enable <replaceable>boolean</replaceable> ] [ nsdname-enable <replaceable>boolean</replaceable> ] [
|
||||||
<replaceable>quoted_string</replaceable> </optional> <replaceable>string</replaceable> <replaceable>string</replaceable>; ... };
|
dnsrps-enable <replaceable>boolean</replaceable> ] [ dnsrps-options { <replaceable>unspecified-text</replaceable>
|
||||||
|
} ];
|
||||||
|
root-delegation-only [ exclude { <replaceable>quoted_string</replaceable>; ... } ];
|
||||||
|
rrset-order { [ class <replaceable>string</replaceable> ] [ type <replaceable>string</replaceable> ] [ name
|
||||||
|
<replaceable>quoted_string</replaceable> ] <replaceable>string</replaceable> <replaceable>string</replaceable>; ... };
|
||||||
secroots-file <replaceable>quoted_string</replaceable>;
|
secroots-file <replaceable>quoted_string</replaceable>;
|
||||||
send-cookie <replaceable>boolean</replaceable>;
|
send-cookie <replaceable>boolean</replaceable>;
|
||||||
serial-query-rate <replaceable>integer</replaceable>;
|
serial-query-rate <replaceable>integer</replaceable>;
|
||||||
@@ -415,9 +422,11 @@ options {
|
|||||||
sig-signing-nodes <replaceable>integer</replaceable>;
|
sig-signing-nodes <replaceable>integer</replaceable>;
|
||||||
sig-signing-signatures <replaceable>integer</replaceable>;
|
sig-signing-signatures <replaceable>integer</replaceable>;
|
||||||
sig-signing-type <replaceable>integer</replaceable>;
|
sig-signing-type <replaceable>integer</replaceable>;
|
||||||
sig-validity-interval <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
sig-validity-interval <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||||
sortlist { <replaceable>address_match_element</replaceable>; ... };
|
sortlist { <replaceable>address_match_element</replaceable>; ... };
|
||||||
stacksize ( default | unlimited | <replaceable>sizeval</replaceable> );
|
stacksize ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||||
|
stale-answer-enable <replaceable>boolean</replaceable>;
|
||||||
|
stale-answer-ttl <replaceable>ttlval</replaceable>;
|
||||||
startup-notify-rate <replaceable>integer</replaceable>;
|
startup-notify-rate <replaceable>integer</replaceable>;
|
||||||
statistics-file <replaceable>quoted_string</replaceable>;
|
statistics-file <replaceable>quoted_string</replaceable>;
|
||||||
synth-from-dnssec <replaceable>boolean</replaceable>;
|
synth-from-dnssec <replaceable>boolean</replaceable>;
|
||||||
@@ -433,10 +442,10 @@ options {
|
|||||||
tkey-gssapi-keytab <replaceable>quoted_string</replaceable>;
|
tkey-gssapi-keytab <replaceable>quoted_string</replaceable>;
|
||||||
transfer-format ( many-answers | one-answer );
|
transfer-format ( many-answers | one-answer );
|
||||||
transfer-message-size <replaceable>integer</replaceable>;
|
transfer-message-size <replaceable>integer</replaceable>;
|
||||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||||
dscp <replaceable>integer</replaceable> </optional>;
|
dscp <replaceable>integer</replaceable> ];
|
||||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
] [ dscp <replaceable>integer</replaceable> ];
|
||||||
transfers-in <replaceable>integer</replaceable>;
|
transfers-in <replaceable>integer</replaceable>;
|
||||||
transfers-out <replaceable>integer</replaceable>;
|
transfers-out <replaceable>integer</replaceable>;
|
||||||
transfers-per-ns <replaceable>integer</replaceable>;
|
transfers-per-ns <replaceable>integer</replaceable>;
|
||||||
@@ -465,18 +474,18 @@ server <replaceable>netprefix</replaceable> {
|
|||||||
edns-version <replaceable>integer</replaceable>;
|
edns-version <replaceable>integer</replaceable>;
|
||||||
keys <replaceable>server_key</replaceable>;
|
keys <replaceable>server_key</replaceable>;
|
||||||
max-udp-size <replaceable>integer</replaceable>;
|
max-udp-size <replaceable>integer</replaceable>;
|
||||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||||
dscp <replaceable>integer</replaceable> </optional>;
|
dscp <replaceable>integer</replaceable> ];
|
||||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>
|
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ]
|
||||||
<optional> dscp <replaceable>integer</replaceable> </optional>;
|
[ dscp <replaceable>integer</replaceable> ];
|
||||||
padding <replaceable>integer</replaceable>;
|
padding <replaceable>integer</replaceable>;
|
||||||
provide-ixfr <replaceable>boolean</replaceable>;
|
provide-ixfr <replaceable>boolean</replaceable>;
|
||||||
query-source ( ( <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) <optional> port (
|
query-source ( ( [ address ] ( <replaceable>ipv4_address</replaceable> | * ) [ port (
|
||||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) </optional>
|
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv4_address</replaceable> | * ) ]
|
||||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||||
query-source-v6 ( ( <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
query-source-v6 ( ( [ address ] ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) </optional>
|
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv6_address</replaceable> | * ) ]
|
||||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||||
request-expire <replaceable>boolean</replaceable>;
|
request-expire <replaceable>boolean</replaceable>;
|
||||||
request-ixfr <replaceable>boolean</replaceable>;
|
request-ixfr <replaceable>boolean</replaceable>;
|
||||||
request-nsid <replaceable>boolean</replaceable>;
|
request-nsid <replaceable>boolean</replaceable>;
|
||||||
@@ -484,10 +493,10 @@ server <replaceable>netprefix</replaceable> {
|
|||||||
tcp-keepalive <replaceable>boolean</replaceable>;
|
tcp-keepalive <replaceable>boolean</replaceable>;
|
||||||
tcp-only <replaceable>boolean</replaceable>;
|
tcp-only <replaceable>boolean</replaceable>;
|
||||||
transfer-format ( many-answers | one-answer );
|
transfer-format ( many-answers | one-answer );
|
||||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||||
dscp <replaceable>integer</replaceable> </optional>;
|
dscp <replaceable>integer</replaceable> ];
|
||||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
] [ dscp <replaceable>integer</replaceable> ];
|
||||||
transfers <replaceable>integer</replaceable>;
|
transfers <replaceable>integer</replaceable>;
|
||||||
};
|
};
|
||||||
</literallayout>
|
</literallayout>
|
||||||
@@ -498,9 +507,9 @@ server <replaceable>netprefix</replaceable> {
|
|||||||
<literallayout class="normal">
|
<literallayout class="normal">
|
||||||
statistics-channels {
|
statistics-channels {
|
||||||
inet ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> |
|
inet ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> |
|
||||||
* ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
* ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||||
allow { <replaceable>address_match_element</replaceable>; ...
|
allow { <replaceable>address_match_element</replaceable>; ...
|
||||||
} </optional>;
|
} ];
|
||||||
};
|
};
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</refsection>
|
</refsection>
|
||||||
@@ -516,11 +525,7 @@ trusted-keys { <replaceable>string</replaceable> <replaceable>integer</replaceab
|
|||||||
<refsection><info><title>VIEW</title></info>
|
<refsection><info><title>VIEW</title></info>
|
||||||
|
|
||||||
<literallayout class="normal">
|
<literallayout class="normal">
|
||||||
view <replaceable>string</replaceable> <optional> <replaceable>class</replaceable> </optional> {
|
view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||||
acache-cleaning-interval <replaceable>integer</replaceable>;
|
|
||||||
acache-enable <replaceable>boolean</replaceable>;
|
|
||||||
additional-from-auth <replaceable>boolean</replaceable>;
|
|
||||||
additional-from-cache <replaceable>boolean</replaceable>;
|
|
||||||
allow-new-zones <replaceable>boolean</replaceable>;
|
allow-new-zones <replaceable>boolean</replaceable>;
|
||||||
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
||||||
@@ -532,22 +537,22 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
||||||
also-notify <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> |
|
also-notify [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> |
|
||||||
<replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
<replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||||
<replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
<replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
] [ dscp <replaceable>integer</replaceable> ];
|
||||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> |
|
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> |
|
||||||
* ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
* ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
attach-cache <replaceable>string</replaceable>;
|
attach-cache <replaceable>string</replaceable>;
|
||||||
auth-nxdomain <replaceable>boolean</replaceable>; // default changed
|
auth-nxdomain <replaceable>boolean</replaceable>; // default changed
|
||||||
auto-dnssec ( allow | maintain | off );
|
auto-dnssec ( allow | maintain | off );
|
||||||
cache-file <replaceable>quoted_string</replaceable>;
|
cache-file <replaceable>quoted_string</replaceable>;
|
||||||
catalog-zones { zone <replaceable>quoted_string</replaceable> <optional> default-masters <optional> port
|
catalog-zones { zone <replaceable>quoted_string</replaceable> [ default-masters [ port
|
||||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> <optional>
|
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> [
|
||||||
port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> ) <optional> key
|
port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port <replaceable>integer</replaceable> ] ) [ key
|
||||||
<replaceable>string</replaceable> </optional>; ... } </optional> <optional> zone-directory <replaceable>quoted_string</replaceable> </optional> <optional>
|
<replaceable>string</replaceable> ]; ... } ] [ zone-directory <replaceable>quoted_string</replaceable> ] [
|
||||||
in-memory <replaceable>boolean</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional>; ... };
|
in-memory <replaceable>boolean</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ]; ... };
|
||||||
check-dup-records ( fail | warn | ignore );
|
check-dup-records ( fail | warn | ignore );
|
||||||
check-integrity <replaceable>boolean</replaceable>;
|
check-integrity <replaceable>boolean</replaceable>;
|
||||||
check-mx ( fail | warn | ignore );
|
check-mx ( fail | warn | ignore );
|
||||||
@@ -560,10 +565,10 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
check-wildcard <replaceable>boolean</replaceable>;
|
check-wildcard <replaceable>boolean</replaceable>;
|
||||||
cleaning-interval <replaceable>integer</replaceable>;
|
cleaning-interval <replaceable>integer</replaceable>;
|
||||||
clients-per-query <replaceable>integer</replaceable>;
|
clients-per-query <replaceable>integer</replaceable>;
|
||||||
deny-answer-addresses { <replaceable>address_match_element</replaceable>; ... } <optional>
|
deny-answer-addresses { <replaceable>address_match_element</replaceable>; ... } [
|
||||||
except-from { <replaceable>quoted_string</replaceable>; ... } </optional>;
|
except-from { <replaceable>quoted_string</replaceable>; ... } ];
|
||||||
deny-answer-aliases { <replaceable>quoted_string</replaceable>; ... } <optional> except-from {
|
deny-answer-aliases { <replaceable>quoted_string</replaceable>; ... } [ except-from {
|
||||||
<replaceable>quoted_string</replaceable>; ... } </optional>;
|
<replaceable>quoted_string</replaceable>; ... } ];
|
||||||
dialup ( notify | notify-passive | passive | refresh | <replaceable>boolean</replaceable> );
|
dialup ( notify | notify-passive | passive | refresh | <replaceable>boolean</replaceable> );
|
||||||
disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>;
|
disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>;
|
||||||
... };
|
... };
|
||||||
@@ -584,6 +589,8 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
};
|
};
|
||||||
dns64-contact <replaceable>string</replaceable>;
|
dns64-contact <replaceable>string</replaceable>;
|
||||||
dns64-server <replaceable>string</replaceable>;
|
dns64-server <replaceable>string</replaceable>;
|
||||||
|
dnsrps-enable <replaceable>boolean</replaceable>;
|
||||||
|
dnsrps-options { <replaceable>unspecified-text</replaceable> };
|
||||||
dnssec-accept-expired <replaceable>boolean</replaceable>;
|
dnssec-accept-expired <replaceable>boolean</replaceable>;
|
||||||
dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
|
dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
|
||||||
dnssec-enable <replaceable>boolean</replaceable>;
|
dnssec-enable <replaceable>boolean</replaceable>;
|
||||||
@@ -595,11 +602,11 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
dnssec-update-mode ( maintain | no-resign );
|
dnssec-update-mode ( maintain | no-resign );
|
||||||
dnssec-validation ( yes | no | auto );
|
dnssec-validation ( yes | no | auto );
|
||||||
dnstap { ( all | auth | client | forwarder |
|
dnstap { ( all | auth | client | forwarder |
|
||||||
resolver ) <optional> ( query | response ) </optional>; ... };
|
resolver ) [ ( query | response ) ]; ... };
|
||||||
dual-stack-servers <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>quoted_string</replaceable> <optional> port
|
dual-stack-servers [ port <replaceable>integer</replaceable> ] { ( <replaceable>quoted_string</replaceable> [ port
|
||||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> | <replaceable>ipv4_address</replaceable> <optional> port
|
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] | <replaceable>ipv4_address</replaceable> [ port
|
||||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||||
<replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> ); ... };
|
<replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] ); ... };
|
||||||
dyndb <replaceable>string</replaceable> <replaceable>quoted_string</replaceable> {
|
dyndb <replaceable>string</replaceable> <replaceable>quoted_string</replaceable> {
|
||||||
<replaceable>unspecified-text</replaceable> };
|
<replaceable>unspecified-text</replaceable> };
|
||||||
edns-udp-size <replaceable>integer</replaceable>;
|
edns-udp-size <replaceable>integer</replaceable>;
|
||||||
@@ -607,14 +614,15 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
empty-server <replaceable>string</replaceable>;
|
empty-server <replaceable>string</replaceable>;
|
||||||
empty-zones-enable <replaceable>boolean</replaceable>;
|
empty-zones-enable <replaceable>boolean</replaceable>;
|
||||||
fetch-quota-params <replaceable>integer</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable>;
|
fetch-quota-params <replaceable>integer</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable> <replaceable>fixedpoint</replaceable>;
|
||||||
fetches-per-server <replaceable>integer</replaceable> <optional> ( drop | fail ) </optional>;
|
fetches-per-server <replaceable>integer</replaceable> [ ( drop | fail ) ];
|
||||||
fetches-per-zone <replaceable>integer</replaceable> <optional> ( drop | fail ) </optional>;
|
fetches-per-zone <replaceable>integer</replaceable> [ ( drop | fail ) ];
|
||||||
filter-aaaa { <replaceable>address_match_element</replaceable>; ... };
|
filter-aaaa { <replaceable>address_match_element</replaceable>; ... };
|
||||||
filter-aaaa-on-v4 ( break-dnssec | <replaceable>boolean</replaceable> );
|
filter-aaaa-on-v4 ( break-dnssec | <replaceable>boolean</replaceable> );
|
||||||
filter-aaaa-on-v6 ( break-dnssec | <replaceable>boolean</replaceable> );
|
filter-aaaa-on-v6 ( break-dnssec | <replaceable>boolean</replaceable> );
|
||||||
forward ( first | only );
|
forward ( first | only );
|
||||||
forwarders <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable>
|
forwarders [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>ipv4_address</replaceable>
|
||||||
| <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional>; ... };
|
| <replaceable>ipv6_address</replaceable> ) [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ]; ... };
|
||||||
|
glue-cache <replaceable>boolean</replaceable>;
|
||||||
inline-signing <replaceable>boolean</replaceable>;
|
inline-signing <replaceable>boolean</replaceable>;
|
||||||
ixfr-from-differences ( master | slave | <replaceable>boolean</replaceable> );
|
ixfr-from-differences ( master | slave | <replaceable>boolean</replaceable> );
|
||||||
key <replaceable>string</replaceable> {
|
key <replaceable>string</replaceable> {
|
||||||
@@ -632,17 +640,17 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
match-clients { <replaceable>address_match_element</replaceable>; ... };
|
match-clients { <replaceable>address_match_element</replaceable>; ... };
|
||||||
match-destinations { <replaceable>address_match_element</replaceable>; ... };
|
match-destinations { <replaceable>address_match_element</replaceable>; ... };
|
||||||
match-recursive-only <replaceable>boolean</replaceable>;
|
match-recursive-only <replaceable>boolean</replaceable>;
|
||||||
max-acache-size ( unlimited | <replaceable>sizeval</replaceable> );
|
|
||||||
max-cache-size ( default | unlimited | <replaceable>sizeval</replaceable> | <replaceable>percentage</replaceable> );
|
max-cache-size ( default | unlimited | <replaceable>sizeval</replaceable> | <replaceable>percentage</replaceable> );
|
||||||
max-cache-ttl <replaceable>integer</replaceable>;
|
max-cache-ttl <replaceable>integer</replaceable>;
|
||||||
max-clients-per-query <replaceable>integer</replaceable>;
|
max-clients-per-query <replaceable>integer</replaceable>;
|
||||||
max-journal-size ( unlimited | <replaceable>sizeval</replaceable> );
|
max-journal-size ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||||
max-ncache-ttl <replaceable>integer</replaceable>;
|
max-ncache-ttl <replaceable>integer</replaceable>;
|
||||||
max-records <replaceable>integer</replaceable>;
|
max-records <replaceable>integer</replaceable>;
|
||||||
max-recursion-depth <replaceable>integer</replaceable>;
|
max-recursion-depth <replaceable>integer</replaceable>;
|
||||||
max-recursion-queries <replaceable>integer</replaceable>;
|
max-recursion-queries <replaceable>integer</replaceable>;
|
||||||
max-refresh-time <replaceable>integer</replaceable>;
|
max-refresh-time <replaceable>integer</replaceable>;
|
||||||
max-retry-time <replaceable>integer</replaceable>;
|
max-retry-time <replaceable>integer</replaceable>;
|
||||||
|
max-stale-ttl <replaceable>ttlval</replaceable>;
|
||||||
max-transfer-idle-in <replaceable>integer</replaceable>;
|
max-transfer-idle-in <replaceable>integer</replaceable>;
|
||||||
max-transfer-idle-out <replaceable>integer</replaceable>;
|
max-transfer-idle-out <replaceable>integer</replaceable>;
|
||||||
max-transfer-time-in <replaceable>integer</replaceable>;
|
max-transfer-time-in <replaceable>integer</replaceable>;
|
||||||
@@ -655,28 +663,28 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
minimal-any <replaceable>boolean</replaceable>;
|
minimal-any <replaceable>boolean</replaceable>;
|
||||||
minimal-responses ( no-auth | no-auth-recursive | <replaceable>boolean</replaceable> );
|
minimal-responses ( no-auth | no-auth-recursive | <replaceable>boolean</replaceable> );
|
||||||
multi-master <replaceable>boolean</replaceable>;
|
multi-master <replaceable>boolean</replaceable>;
|
||||||
|
new-zones-directory <replaceable>quoted_string</replaceable>;
|
||||||
no-case-compress { <replaceable>address_match_element</replaceable>; ... };
|
no-case-compress { <replaceable>address_match_element</replaceable>; ... };
|
||||||
nocookie-udp-size <replaceable>integer</replaceable>;
|
nocookie-udp-size <replaceable>integer</replaceable>;
|
||||||
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
||||||
notify-delay <replaceable>integer</replaceable>;
|
notify-delay <replaceable>integer</replaceable>;
|
||||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||||
dscp <replaceable>integer</replaceable> </optional>;
|
dscp <replaceable>integer</replaceable> ];
|
||||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>
|
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ]
|
||||||
<optional> dscp <replaceable>integer</replaceable> </optional>;
|
[ dscp <replaceable>integer</replaceable> ];
|
||||||
notify-to-soa <replaceable>boolean</replaceable>;
|
notify-to-soa <replaceable>boolean</replaceable>;
|
||||||
nsec3-test-zone <replaceable>boolean</replaceable>; // test only
|
|
||||||
nta-lifetime <replaceable>ttlval</replaceable>;
|
nta-lifetime <replaceable>ttlval</replaceable>;
|
||||||
nta-recheck <replaceable>ttlval</replaceable>;
|
nta-recheck <replaceable>ttlval</replaceable>;
|
||||||
nxdomain-redirect <replaceable>string</replaceable>;
|
nxdomain-redirect <replaceable>string</replaceable>;
|
||||||
preferred-glue <replaceable>string</replaceable>;
|
preferred-glue <replaceable>string</replaceable>;
|
||||||
prefetch <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
prefetch <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||||
provide-ixfr <replaceable>boolean</replaceable>;
|
provide-ixfr <replaceable>boolean</replaceable>;
|
||||||
query-source ( ( <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) <optional> port (
|
query-source ( ( [ address ] ( <replaceable>ipv4_address</replaceable> | * ) [ port (
|
||||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) </optional>
|
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv4_address</replaceable> | * ) ]
|
||||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||||
query-source-v6 ( ( <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
query-source-v6 ( ( [ address ] ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||||
<replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) </optional>
|
<replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] ( <replaceable>ipv6_address</replaceable> | * ) ]
|
||||||
port ( <replaceable>integer</replaceable> | * ) ) ) <optional> dscp <replaceable>integer</replaceable> </optional>;
|
port ( <replaceable>integer</replaceable> | * ) ) ) [ dscp <replaceable>integer</replaceable> ];
|
||||||
rate-limit {
|
rate-limit {
|
||||||
all-per-second <replaceable>integer</replaceable>;
|
all-per-second <replaceable>integer</replaceable>;
|
||||||
errors-per-second <replaceable>integer</replaceable>;
|
errors-per-second <replaceable>integer</replaceable>;
|
||||||
@@ -699,20 +707,26 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
request-ixfr <replaceable>boolean</replaceable>;
|
request-ixfr <replaceable>boolean</replaceable>;
|
||||||
request-nsid <replaceable>boolean</replaceable>;
|
request-nsid <replaceable>boolean</replaceable>;
|
||||||
require-server-cookie <replaceable>boolean</replaceable>;
|
require-server-cookie <replaceable>boolean</replaceable>;
|
||||||
|
resolver-nonbackoff-tries <replaceable>integer</replaceable>;
|
||||||
resolver-query-timeout <replaceable>integer</replaceable>;
|
resolver-query-timeout <replaceable>integer</replaceable>;
|
||||||
|
resolver-retry-interval <replaceable>integer</replaceable>;
|
||||||
response-padding { <replaceable>address_match_element</replaceable>; ... } block-size
|
response-padding { <replaceable>address_match_element</replaceable>; ... } block-size
|
||||||
<replaceable>integer</replaceable>;
|
<replaceable>integer</replaceable>;
|
||||||
response-policy { zone <replaceable>quoted_string</replaceable> <optional> log <replaceable>boolean</replaceable> </optional> <optional>
|
response-policy { zone <replaceable>quoted_string</replaceable> [ log <replaceable>boolean</replaceable> ] [
|
||||||
max-policy-ttl <replaceable>integer</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional> <optional>
|
max-policy-ttl <replaceable>integer</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ] [
|
||||||
policy ( cname | disabled | drop | given | no-op | nodata |
|
policy ( cname | disabled | drop | given | no-op | nodata |
|
||||||
nxdomain | passthru | tcp-only <replaceable>quoted_string</replaceable> ) </optional> <optional>
|
nxdomain | passthru | tcp-only <replaceable>quoted_string</replaceable> ) ] [
|
||||||
recursive-only <replaceable>boolean</replaceable> </optional>; ... } <optional> break-dnssec <replaceable>boolean</replaceable> </optional> <optional>
|
recursive-only <replaceable>boolean</replaceable> ] [ nsip-enable <replaceable>boolean</replaceable> ] [
|
||||||
max-policy-ttl <replaceable>integer</replaceable> </optional> <optional> min-update-interval <replaceable>integer</replaceable> </optional> <optional>
|
nsdname-enable <replaceable>boolean</replaceable> ]; ... } [ break-dnssec <replaceable>boolean</replaceable> ] [
|
||||||
min-ns-dots <replaceable>integer</replaceable> </optional> <optional> nsip-wait-recurse <replaceable>boolean</replaceable> </optional> <optional>
|
max-policy-ttl <replaceable>integer</replaceable> ] [ min-update-interval <replaceable>integer</replaceable> ] [
|
||||||
qname-wait-recurse <replaceable>boolean</replaceable> </optional> <optional> recursive-only <replaceable>boolean</replaceable> </optional>;
|
min-ns-dots <replaceable>integer</replaceable> ] [ nsip-wait-recurse <replaceable>boolean</replaceable> ] [
|
||||||
root-delegation-only <optional> exclude { <replaceable>quoted_string</replaceable>; ... } </optional>;
|
qname-wait-recurse <replaceable>boolean</replaceable> ] [ recursive-only <replaceable>boolean</replaceable> ] [
|
||||||
rrset-order { <optional> class <replaceable>string</replaceable> </optional> <optional> type <replaceable>string</replaceable> </optional> <optional> name
|
nsip-enable <replaceable>boolean</replaceable> ] [ nsdname-enable <replaceable>boolean</replaceable> ] [
|
||||||
<replaceable>quoted_string</replaceable> </optional> <replaceable>string</replaceable> <replaceable>string</replaceable>; ... };
|
dnsrps-enable <replaceable>boolean</replaceable> ] [ dnsrps-options { <replaceable>unspecified-text</replaceable>
|
||||||
|
} ];
|
||||||
|
root-delegation-only [ exclude { <replaceable>quoted_string</replaceable>; ... } ];
|
||||||
|
rrset-order { [ class <replaceable>string</replaceable> ] [ type <replaceable>string</replaceable> ] [ name
|
||||||
|
<replaceable>quoted_string</replaceable> ] <replaceable>string</replaceable> <replaceable>string</replaceable>; ... };
|
||||||
send-cookie <replaceable>boolean</replaceable>;
|
send-cookie <replaceable>boolean</replaceable>;
|
||||||
serial-update-method ( date | increment | unixtime );
|
serial-update-method ( date | increment | unixtime );
|
||||||
server <replaceable>netprefix</replaceable> {
|
server <replaceable>netprefix</replaceable> {
|
||||||
@@ -722,20 +736,20 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
edns-version <replaceable>integer</replaceable>;
|
edns-version <replaceable>integer</replaceable>;
|
||||||
keys <replaceable>server_key</replaceable>;
|
keys <replaceable>server_key</replaceable>;
|
||||||
max-udp-size <replaceable>integer</replaceable>;
|
max-udp-size <replaceable>integer</replaceable>;
|
||||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | *
|
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | *
|
||||||
) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable>
|
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable>
|
||||||
| * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
| * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
padding <replaceable>integer</replaceable>;
|
padding <replaceable>integer</replaceable>;
|
||||||
provide-ixfr <replaceable>boolean</replaceable>;
|
provide-ixfr <replaceable>boolean</replaceable>;
|
||||||
query-source ( ( <optional> address </optional> ( <replaceable>ipv4_address</replaceable> | * ) <optional> port
|
query-source ( ( [ address ] ( <replaceable>ipv4_address</replaceable> | * ) [ port
|
||||||
( <replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> (
|
( <replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] (
|
||||||
<replaceable>ipv4_address</replaceable> | * ) </optional> port ( <replaceable>integer</replaceable> | * ) ) ) <optional>
|
<replaceable>ipv4_address</replaceable> | * ) ] port ( <replaceable>integer</replaceable> | * ) ) ) [
|
||||||
dscp <replaceable>integer</replaceable> </optional>;
|
dscp <replaceable>integer</replaceable> ];
|
||||||
query-source-v6 ( ( <optional> address </optional> ( <replaceable>ipv6_address</replaceable> | * ) <optional>
|
query-source-v6 ( ( [ address ] ( <replaceable>ipv6_address</replaceable> | * ) [
|
||||||
port ( <replaceable>integer</replaceable> | * ) </optional> ) | ( <optional> <optional> address </optional> (
|
port ( <replaceable>integer</replaceable> | * ) ] ) | ( [ [ address ] (
|
||||||
<replaceable>ipv6_address</replaceable> | * ) </optional> port ( <replaceable>integer</replaceable> | * ) ) ) <optional>
|
<replaceable>ipv6_address</replaceable> | * ) ] port ( <replaceable>integer</replaceable> | * ) ) ) [
|
||||||
dscp <replaceable>integer</replaceable> </optional>;
|
dscp <replaceable>integer</replaceable> ];
|
||||||
request-expire <replaceable>boolean</replaceable>;
|
request-expire <replaceable>boolean</replaceable>;
|
||||||
request-ixfr <replaceable>boolean</replaceable>;
|
request-ixfr <replaceable>boolean</replaceable>;
|
||||||
request-nsid <replaceable>boolean</replaceable>;
|
request-nsid <replaceable>boolean</replaceable>;
|
||||||
@@ -743,24 +757,26 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
tcp-keepalive <replaceable>boolean</replaceable>;
|
tcp-keepalive <replaceable>boolean</replaceable>;
|
||||||
tcp-only <replaceable>boolean</replaceable>;
|
tcp-only <replaceable>boolean</replaceable>;
|
||||||
transfer-format ( many-answers | one-answer );
|
transfer-format ( many-answers | one-answer );
|
||||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> |
|
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> |
|
||||||
* ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
* ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||||
<replaceable>integer</replaceable> | * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
<replaceable>integer</replaceable> | * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
transfers <replaceable>integer</replaceable>;
|
transfers <replaceable>integer</replaceable>;
|
||||||
};
|
};
|
||||||
servfail-ttl <replaceable>ttlval</replaceable>;
|
servfail-ttl <replaceable>ttlval</replaceable>;
|
||||||
sig-signing-nodes <replaceable>integer</replaceable>;
|
sig-signing-nodes <replaceable>integer</replaceable>;
|
||||||
sig-signing-signatures <replaceable>integer</replaceable>;
|
sig-signing-signatures <replaceable>integer</replaceable>;
|
||||||
sig-signing-type <replaceable>integer</replaceable>;
|
sig-signing-type <replaceable>integer</replaceable>;
|
||||||
sig-validity-interval <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
sig-validity-interval <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||||
sortlist { <replaceable>address_match_element</replaceable>; ... };
|
sortlist { <replaceable>address_match_element</replaceable>; ... };
|
||||||
|
stale-answer-enable <replaceable>boolean</replaceable>;
|
||||||
|
stale-answer-ttl <replaceable>ttlval</replaceable>;
|
||||||
synth-from-dnssec <replaceable>boolean</replaceable>;
|
synth-from-dnssec <replaceable>boolean</replaceable>;
|
||||||
transfer-format ( many-answers | one-answer );
|
transfer-format ( many-answers | one-answer );
|
||||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||||
dscp <replaceable>integer</replaceable> </optional>;
|
dscp <replaceable>integer</replaceable> ];
|
||||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
] [ dscp <replaceable>integer</replaceable> ];
|
||||||
trust-anchor-telemetry <replaceable>boolean</replaceable>; // experimental
|
trust-anchor-telemetry <replaceable>boolean</replaceable>; // experimental
|
||||||
trusted-keys { <replaceable>string</replaceable> <replaceable>integer</replaceable>
|
trusted-keys { <replaceable>string</replaceable> <replaceable>integer</replaceable>
|
||||||
<replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>quoted_string</replaceable>;
|
<replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>quoted_string</replaceable>;
|
||||||
@@ -771,21 +787,21 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
v6-bias <replaceable>integer</replaceable>;
|
v6-bias <replaceable>integer</replaceable>;
|
||||||
zero-no-soa-ttl <replaceable>boolean</replaceable>;
|
zero-no-soa-ttl <replaceable>boolean</replaceable>;
|
||||||
zero-no-soa-ttl-cache <replaceable>boolean</replaceable>;
|
zero-no-soa-ttl-cache <replaceable>boolean</replaceable>;
|
||||||
zone <replaceable>string</replaceable> <optional> <replaceable>class</replaceable> </optional> {
|
zone <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||||
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-query-on { <replaceable>address_match_element</replaceable>; ... };
|
allow-query-on { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
||||||
also-notify <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { (
|
also-notify [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { (
|
||||||
<replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> |
|
<replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] |
|
||||||
<replaceable>ipv6_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>;
|
<replaceable>ipv6_address</replaceable> [ port <replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ];
|
||||||
... };
|
... };
|
||||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port (
|
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port (
|
||||||
<replaceable>integer</replaceable> | * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
<replaceable>integer</replaceable> | * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||||
<replaceable>integer</replaceable> | * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
<replaceable>integer</replaceable> | * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
auto-dnssec ( allow | maintain | off );
|
auto-dnssec ( allow | maintain | off );
|
||||||
check-dup-records ( fail | warn | ignore );
|
check-dup-records ( fail | warn | ignore );
|
||||||
check-integrity <replaceable>boolean</replaceable>;
|
check-integrity <replaceable>boolean</replaceable>;
|
||||||
@@ -807,9 +823,9 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
dnssec-update-mode ( maintain | no-resign );
|
dnssec-update-mode ( maintain | no-resign );
|
||||||
file <replaceable>quoted_string</replaceable>;
|
file <replaceable>quoted_string</replaceable>;
|
||||||
forward ( first | only );
|
forward ( first | only );
|
||||||
forwarders <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { (
|
forwarders [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { (
|
||||||
<replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional> <optional>
|
<replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) [ port <replaceable>integer</replaceable> ] [
|
||||||
dscp <replaceable>integer</replaceable> </optional>; ... };
|
dscp <replaceable>integer</replaceable> ]; ... };
|
||||||
in-view <replaceable>string</replaceable>;
|
in-view <replaceable>string</replaceable>;
|
||||||
inline-signing <replaceable>boolean</replaceable>;
|
inline-signing <replaceable>boolean</replaceable>;
|
||||||
ixfr-from-differences <replaceable>boolean</replaceable>;
|
ixfr-from-differences <replaceable>boolean</replaceable>;
|
||||||
@@ -817,11 +833,11 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
key-directory <replaceable>quoted_string</replaceable>;
|
key-directory <replaceable>quoted_string</replaceable>;
|
||||||
masterfile-format ( map | raw | text );
|
masterfile-format ( map | raw | text );
|
||||||
masterfile-style ( full | relative );
|
masterfile-style ( full | relative );
|
||||||
masters <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable>
|
masters [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable>
|
||||||
| <replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional>
|
| <replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [
|
||||||
port <replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
port <replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||||
max-ixfr-log-size ( default | unlimited |
|
max-ixfr-log-size ( default | unlimited |
|
||||||
max-journal-size ( unlimited | <replaceable>sizeval</replaceable> );
|
max-journal-size ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||||
max-records <replaceable>integer</replaceable>;
|
max-records <replaceable>integer</replaceable>;
|
||||||
max-refresh-time <replaceable>integer</replaceable>;
|
max-refresh-time <replaceable>integer</replaceable>;
|
||||||
max-retry-time <replaceable>integer</replaceable>;
|
max-retry-time <replaceable>integer</replaceable>;
|
||||||
@@ -835,29 +851,28 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
multi-master <replaceable>boolean</replaceable>;
|
multi-master <replaceable>boolean</replaceable>;
|
||||||
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
||||||
notify-delay <replaceable>integer</replaceable>;
|
notify-delay <replaceable>integer</replaceable>;
|
||||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | *
|
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | *
|
||||||
) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable>
|
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable>
|
||||||
| * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
| * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
notify-to-soa <replaceable>boolean</replaceable>;
|
notify-to-soa <replaceable>boolean</replaceable>;
|
||||||
nsec3-test-zone <replaceable>boolean</replaceable>; // test only
|
|
||||||
pubkey <replaceable>integer</replaceable>
|
pubkey <replaceable>integer</replaceable>
|
||||||
<replaceable>integer</replaceable>
|
<replaceable>integer</replaceable>
|
||||||
<replaceable>integer</replaceable>
|
<replaceable>integer</replaceable>
|
||||||
request-expire <replaceable>boolean</replaceable>;
|
request-expire <replaceable>boolean</replaceable>;
|
||||||
request-ixfr <replaceable>boolean</replaceable>;
|
request-ixfr <replaceable>boolean</replaceable>;
|
||||||
serial-update-method ( date | increment | unixtime );
|
serial-update-method ( date | increment | unixtime );
|
||||||
server-addresses { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional>
|
server-addresses { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) [
|
||||||
port <replaceable>integer</replaceable> </optional>; ... };
|
port <replaceable>integer</replaceable> ]; ... };
|
||||||
server-names { <replaceable>quoted_string</replaceable>; ... };
|
server-names { <replaceable>quoted_string</replaceable>; ... };
|
||||||
sig-signing-nodes <replaceable>integer</replaceable>;
|
sig-signing-nodes <replaceable>integer</replaceable>;
|
||||||
sig-signing-signatures <replaceable>integer</replaceable>;
|
sig-signing-signatures <replaceable>integer</replaceable>;
|
||||||
sig-signing-type <replaceable>integer</replaceable>;
|
sig-signing-type <replaceable>integer</replaceable>;
|
||||||
sig-validity-interval <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
sig-validity-interval <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> |
|
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> |
|
||||||
* ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
* ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port (
|
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port (
|
||||||
<replaceable>integer</replaceable> | * ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
<replaceable>integer</replaceable> | * ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
try-tcp-refresh <replaceable>boolean</replaceable>;
|
try-tcp-refresh <replaceable>boolean</replaceable>;
|
||||||
type ( delegation-only | forward | hint | master | redirect
|
type ( delegation-only | forward | hint | master | redirect
|
||||||
| slave | static-stub | stub );
|
| slave | static-stub | stub );
|
||||||
@@ -866,7 +881,7 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
6to4-self | external | krb5-self | krb5-subdomain |
|
6to4-self | external | krb5-self | krb5-subdomain |
|
||||||
ms-self | ms-subdomain | name | self | selfsub |
|
ms-self | ms-subdomain | name | self | selfsub |
|
||||||
selfwild | subdomain | tcp-self | wildcard | zonesub )
|
selfwild | subdomain | tcp-self | wildcard | zonesub )
|
||||||
<optional> <replaceable>string</replaceable> </optional> <replaceable>rrtypelist</replaceable>; ... };
|
[ <replaceable>string</replaceable> ] <replaceable>rrtypelist</replaceable>; ... };
|
||||||
use-alt-transfer-source <replaceable>boolean</replaceable>;
|
use-alt-transfer-source <replaceable>boolean</replaceable>;
|
||||||
zero-no-soa-ttl <replaceable>boolean</replaceable>;
|
zero-no-soa-ttl <replaceable>boolean</replaceable>;
|
||||||
zone-statistics ( full | terse | none | <replaceable>boolean</replaceable> );
|
zone-statistics ( full | terse | none | <replaceable>boolean</replaceable> );
|
||||||
@@ -879,20 +894,20 @@ view <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
<refsection><info><title>ZONE</title></info>
|
<refsection><info><title>ZONE</title></info>
|
||||||
|
|
||||||
<literallayout class="normal">
|
<literallayout class="normal">
|
||||||
zone <replaceable>string</replaceable> <optional> <replaceable>class</replaceable> </optional> {
|
zone <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
|
||||||
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
allow-notify { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
allow-query { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-query-on { <replaceable>address_match_element</replaceable>; ... };
|
allow-query-on { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
allow-transfer { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
allow-update { <replaceable>address_match_element</replaceable>; ... };
|
||||||
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
|
||||||
also-notify <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> |
|
also-notify [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> |
|
||||||
<replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
<replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||||
<replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
<replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||||
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
] [ dscp <replaceable>integer</replaceable> ];
|
||||||
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> |
|
alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> |
|
||||||
* ) </optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
* ) ] [ dscp <replaceable>integer</replaceable> ];
|
||||||
auto-dnssec ( allow | maintain | off );
|
auto-dnssec ( allow | maintain | off );
|
||||||
check-dup-records ( fail | warn | ignore );
|
check-dup-records ( fail | warn | ignore );
|
||||||
check-integrity <replaceable>boolean</replaceable>;
|
check-integrity <replaceable>boolean</replaceable>;
|
||||||
@@ -913,8 +928,8 @@ zone <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
dnssec-update-mode ( maintain | no-resign );
|
dnssec-update-mode ( maintain | no-resign );
|
||||||
file <replaceable>quoted_string</replaceable>;
|
file <replaceable>quoted_string</replaceable>;
|
||||||
forward ( first | only );
|
forward ( first | only );
|
||||||
forwarders <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable>
|
forwarders [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>ipv4_address</replaceable>
|
||||||
| <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional>; ... };
|
| <replaceable>ipv6_address</replaceable> ) [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ]; ... };
|
||||||
in-view <replaceable>string</replaceable>;
|
in-view <replaceable>string</replaceable>;
|
||||||
inline-signing <replaceable>boolean</replaceable>;
|
inline-signing <replaceable>boolean</replaceable>;
|
||||||
ixfr-from-differences <replaceable>boolean</replaceable>;
|
ixfr-from-differences <replaceable>boolean</replaceable>;
|
||||||
@@ -922,10 +937,10 @@ zone <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
key-directory <replaceable>quoted_string</replaceable>;
|
key-directory <replaceable>quoted_string</replaceable>;
|
||||||
masterfile-format ( map | raw | text );
|
masterfile-format ( map | raw | text );
|
||||||
masterfile-style ( full | relative );
|
masterfile-style ( full | relative );
|
||||||
masters <optional> port <replaceable>integer</replaceable> </optional> <optional> dscp <replaceable>integer</replaceable> </optional> { ( <replaceable>masters</replaceable> |
|
masters [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable> |
|
||||||
<replaceable>ipv4_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> | <replaceable>ipv6_address</replaceable> <optional> port
|
<replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [ port
|
||||||
<replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ... };
|
<replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
|
||||||
max-journal-size ( unlimited | <replaceable>sizeval</replaceable> );
|
max-journal-size ( default | unlimited | <replaceable>sizeval</replaceable> );
|
||||||
max-records <replaceable>integer</replaceable>;
|
max-records <replaceable>integer</replaceable>;
|
||||||
max-refresh-time <replaceable>integer</replaceable>;
|
max-refresh-time <replaceable>integer</replaceable>;
|
||||||
max-retry-time <replaceable>integer</replaceable>;
|
max-retry-time <replaceable>integer</replaceable>;
|
||||||
@@ -939,27 +954,26 @@ zone <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
multi-master <replaceable>boolean</replaceable>;
|
multi-master <replaceable>boolean</replaceable>;
|
||||||
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
notify ( explicit | master-only | <replaceable>boolean</replaceable> );
|
||||||
notify-delay <replaceable>integer</replaceable>;
|
notify-delay <replaceable>integer</replaceable>;
|
||||||
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
notify-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||||
dscp <replaceable>integer</replaceable> </optional>;
|
dscp <replaceable>integer</replaceable> ];
|
||||||
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>
|
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ]
|
||||||
<optional> dscp <replaceable>integer</replaceable> </optional>;
|
[ dscp <replaceable>integer</replaceable> ];
|
||||||
notify-to-soa <replaceable>boolean</replaceable>;
|
notify-to-soa <replaceable>boolean</replaceable>;
|
||||||
nsec3-test-zone <replaceable>boolean</replaceable>; // test only
|
|
||||||
pubkey <replaceable>integer</replaceable> <replaceable>integer</replaceable>
|
pubkey <replaceable>integer</replaceable> <replaceable>integer</replaceable>
|
||||||
request-expire <replaceable>boolean</replaceable>;
|
request-expire <replaceable>boolean</replaceable>;
|
||||||
request-ixfr <replaceable>boolean</replaceable>;
|
request-ixfr <replaceable>boolean</replaceable>;
|
||||||
serial-update-method ( date | increment | unixtime );
|
serial-update-method ( date | increment | unixtime );
|
||||||
server-addresses { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port
|
server-addresses { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) [ port
|
||||||
<replaceable>integer</replaceable> </optional>; ... };
|
<replaceable>integer</replaceable> ]; ... };
|
||||||
server-names { <replaceable>quoted_string</replaceable>; ... };
|
server-names { <replaceable>quoted_string</replaceable>; ... };
|
||||||
sig-signing-nodes <replaceable>integer</replaceable>;
|
sig-signing-nodes <replaceable>integer</replaceable>;
|
||||||
sig-signing-signatures <replaceable>integer</replaceable>;
|
sig-signing-signatures <replaceable>integer</replaceable>;
|
||||||
sig-signing-type <replaceable>integer</replaceable>;
|
sig-signing-type <replaceable>integer</replaceable>;
|
||||||
sig-validity-interval <replaceable>integer</replaceable> <optional> <replaceable>integer</replaceable> </optional>;
|
sig-validity-interval <replaceable>integer</replaceable> [ <replaceable>integer</replaceable> ];
|
||||||
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional> <optional>
|
transfer-source ( <replaceable>ipv4_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * ) ] [
|
||||||
dscp <replaceable>integer</replaceable> </optional>;
|
dscp <replaceable>integer</replaceable> ];
|
||||||
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * )
|
transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable> | * )
|
||||||
</optional> <optional> dscp <replaceable>integer</replaceable> </optional>;
|
] [ dscp <replaceable>integer</replaceable> ];
|
||||||
try-tcp-refresh <replaceable>boolean</replaceable>;
|
try-tcp-refresh <replaceable>boolean</replaceable>;
|
||||||
type ( delegation-only | forward | hint | master | redirect | slave
|
type ( delegation-only | forward | hint | master | redirect | slave
|
||||||
| static-stub | stub );
|
| static-stub | stub );
|
||||||
@@ -967,7 +981,7 @@ zone <replaceable>string</replaceable> <optional> <replaceable>class</replaceabl
|
|||||||
update-policy ( local | { ( deny | grant ) <replaceable>string</replaceable> ( 6to4-self |
|
update-policy ( local | { ( deny | grant ) <replaceable>string</replaceable> ( 6to4-self |
|
||||||
external | krb5-self | krb5-subdomain | ms-self | ms-subdomain
|
external | krb5-self | krb5-subdomain | ms-self | ms-subdomain
|
||||||
| name | self | selfsub | selfwild | subdomain | tcp-self |
|
| name | self | selfsub | selfwild | subdomain | tcp-self |
|
||||||
wildcard | zonesub ) <optional> <replaceable>string</replaceable> </optional> <replaceable>rrtypelist</replaceable>; ... };
|
wildcard | zonesub ) [ <replaceable>string</replaceable> ] <replaceable>rrtypelist</replaceable>; ... };
|
||||||
use-alt-transfer-source <replaceable>boolean</replaceable>;
|
use-alt-transfer-source <replaceable>boolean</replaceable>;
|
||||||
zero-no-soa-ttl <replaceable>boolean</replaceable>;
|
zero-no-soa-ttl <replaceable>boolean</replaceable>;
|
||||||
zone-statistics ( full | terse | none | <replaceable>boolean</replaceable> );
|
zone-statistics ( full | terse | none | <replaceable>boolean</replaceable> );
|
||||||
|
|||||||
+242
-229
@@ -1,6 +1,6 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
<!--
|
<!--
|
||||||
- Copyright (C) 2004-2017 Internet Systems Consortium, Inc. ("ISC")
|
- Copyright (C) 2004-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
-
|
-
|
||||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
- 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
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -71,14 +71,14 @@ acl
|
|||||||
<div class="literallayout"><p><br>
|
<div class="literallayout"><p><br>
|
||||||
controls {<br>
|
controls {<br>
|
||||||
inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> |<br>
|
inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> |<br>
|
||||||
* ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] allow<br>
|
* ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] allow<br>
|
||||||
{ <em class="replaceable"><code>address_match_element</code></em>; ... } [<span class="optional"><br>
|
{ <em class="replaceable"><code>address_match_element</code></em>; ... } [<br>
|
||||||
keys { <em class="replaceable"><code>string</code></em>; ... } </span>] [<span class="optional"> read-only<br>
|
keys { <em class="replaceable"><code>string</code></em>; ... } ] [ read-only<br>
|
||||||
<em class="replaceable"><code>boolean</code></em> </span>];<br>
|
<em class="replaceable"><code>boolean</code></em> ];<br>
|
||||||
unix <em class="replaceable"><code>quoted_string</code></em> perm <em class="replaceable"><code>integer</code></em><br>
|
unix <em class="replaceable"><code>quoted_string</code></em> perm <em class="replaceable"><code>integer</code></em><br>
|
||||||
owner <em class="replaceable"><code>integer</code></em> group <em class="replaceable"><code>integer</code></em> [<span class="optional"><br>
|
owner <em class="replaceable"><code>integer</code></em> group <em class="replaceable"><code>integer</code></em> [<br>
|
||||||
keys { <em class="replaceable"><code>string</code></em>; ... } </span>] [<span class="optional"> read-only<br>
|
keys { <em class="replaceable"><code>string</code></em>; ... } ] [ read-only<br>
|
||||||
<em class="replaceable"><code>boolean</code></em> </span>];<br>
|
<em class="replaceable"><code>boolean</code></em> ];<br>
|
||||||
};<br>
|
};<br>
|
||||||
</p></div>
|
</p></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -122,20 +122,21 @@ logging
|
|||||||
category <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>; ... };<br>
|
category <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>; ... };<br>
|
||||||
channel <em class="replaceable"><code>string</code></em> {<br>
|
channel <em class="replaceable"><code>string</code></em> {<br>
|
||||||
buffered <em class="replaceable"><code>boolean</code></em>;<br>
|
buffered <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
file <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> versions ( unlimited | <em class="replaceable"><code>integer</code></em> ) </span>]<br>
|
file <em class="replaceable"><code>quoted_string</code></em> [ versions ( unlimited | <em class="replaceable"><code>integer</code></em> ) ]<br>
|
||||||
[<span class="optional"> size <em class="replaceable"><code>size</code></em> </span>] [<span class="optional"> suffix ( increment | timestamp ) </span>];<br>
|
[ size <em class="replaceable"><code>size</code></em> ] [ suffix ( increment | timestamp ) ];<br>
|
||||||
null;<br>
|
null;<br>
|
||||||
print-category <em class="replaceable"><code>boolean</code></em>;<br>
|
print-category <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
print-severity <em class="replaceable"><code>boolean</code></em>;<br>
|
print-severity <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
print-time ( iso8601 | iso8601-utc | local | <em class="replaceable"><code>boolean</code></em> );<br>
|
print-time ( iso8601 | iso8601-utc | local | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
severity <em class="replaceable"><code>log_severity</code></em>;<br>
|
severity <em class="replaceable"><code>log_severity</code></em>;<br>
|
||||||
stderr;<br>
|
stderr;<br>
|
||||||
syslog [<span class="optional"> <em class="replaceable"><code>syslog_facility</code></em> </span>];<br>
|
syslog [ <em class="replaceable"><code>syslog_facility</code></em> ];<br>
|
||||||
};<br>
|
};<br>
|
||||||
};<br>
|
};<br>
|
||||||
</p></div>
|
</p></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="refsection">
|
<div class="refsection">
|
||||||
<a name="id-1.14"></a><h2>MANAGED-KEYS</h2>
|
<a name="id-1.14"></a><h2>MANAGED-KEYS</h2>
|
||||||
|
|
||||||
@@ -149,10 +150,10 @@ managed-keys
|
|||||||
<a name="id-1.15"></a><h2>MASTERS</h2>
|
<a name="id-1.15"></a><h2>MASTERS</h2>
|
||||||
|
|
||||||
<div class="literallayout"><p><br>
|
<div class="literallayout"><p><br>
|
||||||
masters <em class="replaceable"><code>string</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp<br>
|
masters <em class="replaceable"><code>string</code></em> [ port <em class="replaceable"><code>integer</code></em> ] [ dscp<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"><br>
|
<em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<br>
|
||||||
port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||||
</p></div>
|
</p></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -161,10 +162,6 @@ masters
|
|||||||
|
|
||||||
<div class="literallayout"><p><br>
|
<div class="literallayout"><p><br>
|
||||||
options {<br>
|
options {<br>
|
||||||
acache-cleaning-interval <em class="replaceable"><code>integer</code></em>;<br>
|
|
||||||
acache-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
|
||||||
additional-from-auth <em class="replaceable"><code>boolean</code></em>;<br>
|
|
||||||
additional-from-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
|
||||||
allow-new-zones <em class="replaceable"><code>boolean</code></em>;<br>
|
allow-new-zones <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
@@ -176,13 +173,13 @@ options
|
|||||||
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
also-notify [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
also-notify [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||||
<em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
<em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> |<br>
|
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||||
* ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
* ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
attach-cache <em class="replaceable"><code>string</code></em>;<br>
|
attach-cache <em class="replaceable"><code>string</code></em>;<br>
|
||||||
auth-nxdomain <em class="replaceable"><code>boolean</code></em>; // default changed<br>
|
auth-nxdomain <em class="replaceable"><code>boolean</code></em>; // default changed<br>
|
||||||
auto-dnssec ( allow | maintain | off );<br>
|
auto-dnssec ( allow | maintain | off );<br>
|
||||||
@@ -192,11 +189,11 @@ options
|
|||||||
bindkeys-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
bindkeys-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
blackhole { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
blackhole { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
cache-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
cache-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
catalog-zones { zone <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> default-masters [<span class="optional"> port<br>
|
catalog-zones { zone <em class="replaceable"><code>quoted_string</code></em> [ default-masters [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"><br>
|
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<br>
|
||||||
port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key<br>
|
port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] ) [ key<br>
|
||||||
<em class="replaceable"><code>string</code></em> </span>]; ... } </span>] [<span class="optional"> zone-directory <em class="replaceable"><code>quoted_string</code></em> </span>] [<span class="optional"><br>
|
<em class="replaceable"><code>string</code></em> ]; ... } ] [ zone-directory <em class="replaceable"><code>quoted_string</code></em> ] [<br>
|
||||||
in-memory <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
in-memory <em class="replaceable"><code>boolean</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||||
check-dup-records ( fail | warn | ignore );<br>
|
check-dup-records ( fail | warn | ignore );<br>
|
||||||
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
check-mx ( fail | warn | ignore );<br>
|
check-mx ( fail | warn | ignore );<br>
|
||||||
@@ -213,10 +210,10 @@ options
|
|||||||
cookie-secret <em class="replaceable"><code>string</code></em>;<br>
|
cookie-secret <em class="replaceable"><code>string</code></em>;<br>
|
||||||
coresize ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
coresize ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||||
datasize ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
datasize ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||||
deny-answer-addresses { <em class="replaceable"><code>address_match_element</code></em>; ... } [<span class="optional"><br>
|
deny-answer-addresses { <em class="replaceable"><code>address_match_element</code></em>; ... } [<br>
|
||||||
except-from { <em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
except-from { <em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||||
deny-answer-aliases { <em class="replaceable"><code>quoted_string</code></em>; ... } [<span class="optional"> except-from {<br>
|
deny-answer-aliases { <em class="replaceable"><code>quoted_string</code></em>; ... } [ except-from {<br>
|
||||||
<em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
<em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||||
dialup ( notify | notify-passive | passive | refresh | <em class="replaceable"><code>boolean</code></em> );<br>
|
dialup ( notify | notify-passive | passive | refresh | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
disable-algorithms <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>;<br>
|
disable-algorithms <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>;<br>
|
||||||
@@ -234,6 +231,8 @@ options
|
|||||||
};<br>
|
};<br>
|
||||||
dns64-contact <em class="replaceable"><code>string</code></em>;<br>
|
dns64-contact <em class="replaceable"><code>string</code></em>;<br>
|
||||||
dns64-server <em class="replaceable"><code>string</code></em>;<br>
|
dns64-server <em class="replaceable"><code>string</code></em>;<br>
|
||||||
|
dnsrps-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
|
dnsrps-options { <em class="replaceable"><code>unspecified-text</code></em> };<br>
|
||||||
dnssec-accept-expired <em class="replaceable"><code>boolean</code></em>;<br>
|
dnssec-accept-expired <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
dnssec-dnskey-kskonly <em class="replaceable"><code>boolean</code></em>;<br>
|
dnssec-dnskey-kskonly <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
dnssec-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
dnssec-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
@@ -245,35 +244,35 @@ options
|
|||||||
dnssec-update-mode ( maintain | no-resign );<br>
|
dnssec-update-mode ( maintain | no-resign );<br>
|
||||||
dnssec-validation ( yes | no | auto );<br>
|
dnssec-validation ( yes | no | auto );<br>
|
||||||
dnstap { ( all | auth | client | forwarder |<br>
|
dnstap { ( all | auth | client | forwarder |<br>
|
||||||
resolver ) [<span class="optional"> ( query | response ) </span>]; ... };<br>
|
resolver ) [ ( query | response ) ]; ... };<br>
|
||||||
dnstap-identity ( <em class="replaceable"><code>quoted_string</code></em> | none |<br>
|
dnstap-identity ( <em class="replaceable"><code>quoted_string</code></em> | none |<br>
|
||||||
hostname );<br>
|
hostname );<br>
|
||||||
dnstap-output ( file | unix ) <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"><br>
|
dnstap-output ( file | unix ) <em class="replaceable"><code>quoted_string</code></em> [<br>
|
||||||
size ( unlimited | <em class="replaceable"><code>size</code></em> ) </span>] [<span class="optional"> versions (<br>
|
size ( unlimited | <em class="replaceable"><code>size</code></em> ) ] [ versions (<br>
|
||||||
unlimited | <em class="replaceable"><code>integer</code></em> ) </span>] [<span class="optional"> suffix ( increment<br>
|
unlimited | <em class="replaceable"><code>integer</code></em> ) ] [ suffix ( increment<br>
|
||||||
| timestamp ) </span>];<br>
|
| timestamp ) ];<br>
|
||||||
dnstap-version ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
dnstap-version ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em>;<br>
|
dscp <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
dual-stack-servers [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> port<br>
|
dual-stack-servers [ port <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>quoted_string</code></em> [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port<br>
|
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv4_address</code></em> [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] ); ... };<br>
|
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] ); ... };<br>
|
||||||
dump-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
dump-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
edns-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
edns-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
empty-contact <em class="replaceable"><code>string</code></em>;<br>
|
empty-contact <em class="replaceable"><code>string</code></em>;<br>
|
||||||
empty-server <em class="replaceable"><code>string</code></em>;<br>
|
empty-server <em class="replaceable"><code>string</code></em>;<br>
|
||||||
empty-zones-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
empty-zones-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
fetch-quota-params <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em>;<br>
|
fetch-quota-params <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em>;<br>
|
||||||
fetches-per-server <em class="replaceable"><code>integer</code></em> [<span class="optional"> ( drop | fail ) </span>];<br>
|
fetches-per-server <em class="replaceable"><code>integer</code></em> [ ( drop | fail ) ];<br>
|
||||||
fetches-per-zone <em class="replaceable"><code>integer</code></em> [<span class="optional"> ( drop | fail ) </span>];<br>
|
fetches-per-zone <em class="replaceable"><code>integer</code></em> [ ( drop | fail ) ];<br>
|
||||||
files ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
files ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||||
filter-aaaa { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
filter-aaaa { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
filter-aaaa-on-v4 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
filter-aaaa-on-v4 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
filter-aaaa-on-v6 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
filter-aaaa-on-v6 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
flush-zones-on-shutdown <em class="replaceable"><code>boolean</code></em>;<br>
|
flush-zones-on-shutdown <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
forward ( first | only );<br>
|
forward ( first | only );<br>
|
||||||
forwarders [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
forwarders [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
||||||
| <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
| <em class="replaceable"><code>ipv6_address</code></em> ) [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||||
fstrm-set-buffer-hint <em class="replaceable"><code>integer</code></em>;<br>
|
fstrm-set-buffer-hint <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
fstrm-set-flush-timeout <em class="replaceable"><code>integer</code></em>;<br>
|
fstrm-set-flush-timeout <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
fstrm-set-input-queue-size <em class="replaceable"><code>integer</code></em>;<br>
|
fstrm-set-input-queue-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
@@ -282,7 +281,8 @@ options
|
|||||||
fstrm-set-output-queue-size <em class="replaceable"><code>integer</code></em>;<br>
|
fstrm-set-output-queue-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
fstrm-set-reopen-interval <em class="replaceable"><code>integer</code></em>;<br>
|
fstrm-set-reopen-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
geoip-directory ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
geoip-directory ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||||
geoip-use-ecs ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
geoip-use-ecs <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
|
glue-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
heartbeat-interval <em class="replaceable"><code>integer</code></em>;<br>
|
heartbeat-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
hostname ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
hostname ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||||
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
@@ -291,11 +291,11 @@ options
|
|||||||
keep-response-order { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
keep-response-order { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
key-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
key-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
lame-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
lame-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||||
listen-on [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp<br>
|
listen-on [ port <em class="replaceable"><code>integer</code></em> ] [ dscp<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] {<br>
|
<em class="replaceable"><code>integer</code></em> ] {<br>
|
||||||
<em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
<em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
listen-on-v6 [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp<br>
|
listen-on-v6 [ port <em class="replaceable"><code>integer</code></em> ] [ dscp<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] {<br>
|
<em class="replaceable"><code>integer</code></em> ] {<br>
|
||||||
<em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
<em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
lmdb-mapsize <em class="replaceable"><code>sizeval</code></em>;<br>
|
lmdb-mapsize <em class="replaceable"><code>sizeval</code></em>;<br>
|
||||||
lock-file ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
lock-file ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||||
@@ -303,11 +303,10 @@ options
|
|||||||
masterfile-format ( map | raw | text );<br>
|
masterfile-format ( map | raw | text );<br>
|
||||||
masterfile-style ( full | relative );<br>
|
masterfile-style ( full | relative );<br>
|
||||||
match-mapped-addresses <em class="replaceable"><code>boolean</code></em>;<br>
|
match-mapped-addresses <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
max-acache-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
|
||||||
max-cache-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> | <em class="replaceable"><code>percentage</code></em> );<br>
|
max-cache-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> | <em class="replaceable"><code>percentage</code></em> );<br>
|
||||||
max-cache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
max-cache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-clients-per-query <em class="replaceable"><code>integer</code></em>;<br>
|
max-clients-per-query <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-journal-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
max-journal-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||||
max-ncache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
max-ncache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-recursion-depth <em class="replaceable"><code>integer</code></em>;<br>
|
max-recursion-depth <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
@@ -315,6 +314,7 @@ options
|
|||||||
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-rsa-exponent-size <em class="replaceable"><code>integer</code></em>;<br>
|
max-rsa-exponent-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
|
max-stale-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||||
max-transfer-idle-in <em class="replaceable"><code>integer</code></em>;<br>
|
max-transfer-idle-in <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-transfer-idle-out <em class="replaceable"><code>integer</code></em>;<br>
|
max-transfer-idle-out <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-transfer-time-in <em class="replaceable"><code>integer</code></em>;<br>
|
max-transfer-time-in <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
@@ -329,33 +329,33 @@ options
|
|||||||
minimal-any <em class="replaceable"><code>boolean</code></em>;<br>
|
minimal-any <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
minimal-responses ( no-auth | no-auth-recursive | <em class="replaceable"><code>boolean</code></em> );<br>
|
minimal-responses ( no-auth | no-auth-recursive | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
|
new-zones-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
no-case-compress { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
no-case-compress { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
nocookie-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
nocookie-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
notify-rate <em class="replaceable"><code>integer</code></em>;<br>
|
notify-rate <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>]<br>
|
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ]<br>
|
||||||
[<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
[ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
nsec3-test-zone <em class="replaceable"><code>boolean</code></em>; // test only<br>
|
|
||||||
nta-lifetime <em class="replaceable"><code>ttlval</code></em>;<br>
|
nta-lifetime <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||||
nta-recheck <em class="replaceable"><code>ttlval</code></em>;<br>
|
nta-recheck <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||||
nxdomain-redirect <em class="replaceable"><code>string</code></em>;<br>
|
nxdomain-redirect <em class="replaceable"><code>string</code></em>;<br>
|
||||||
pid-file ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
pid-file ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||||
port <em class="replaceable"><code>integer</code></em>;<br>
|
port <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
preferred-glue <em class="replaceable"><code>string</code></em>;<br>
|
preferred-glue <em class="replaceable"><code>string</code></em>;<br>
|
||||||
prefetch <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
prefetch <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
query-source ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port (<br>
|
query-source ( ( [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port (<br>
|
||||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) </span>]<br>
|
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) ]<br>
|
||||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
query-source-v6 ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
query-source-v6 ( ( [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) </span>]<br>
|
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) ]<br>
|
||||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
querylog <em class="replaceable"><code>boolean</code></em>;<br>
|
querylog <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
random-device <em class="replaceable"><code>quoted_string</code></em>;<br>
|
random-device ( <em class="replaceable"><code>quoted_string</code></em> | none );<br>
|
||||||
rate-limit {<br>
|
rate-limit {<br>
|
||||||
all-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
all-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
errors-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
errors-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
@@ -381,20 +381,26 @@ options
|
|||||||
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
require-server-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
require-server-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
reserved-sockets <em class="replaceable"><code>integer</code></em>;<br>
|
reserved-sockets <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
|
resolver-nonbackoff-tries <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
resolver-query-timeout <em class="replaceable"><code>integer</code></em>;<br>
|
resolver-query-timeout <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
|
resolver-retry-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
response-padding { <em class="replaceable"><code>address_match_element</code></em>; ... } block-size<br>
|
response-padding { <em class="replaceable"><code>address_match_element</code></em>; ... } block-size<br>
|
||||||
<em class="replaceable"><code>integer</code></em>;<br>
|
<em class="replaceable"><code>integer</code></em>;<br>
|
||||||
response-policy { zone <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> log <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
response-policy { zone <em class="replaceable"><code>quoted_string</code></em> [ log <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"><br>
|
max-policy-ttl <em class="replaceable"><code>integer</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ] [<br>
|
||||||
policy ( cname | disabled | drop | given | no-op | nodata |<br>
|
policy ( cname | disabled | drop | given | no-op | nodata |<br>
|
||||||
nxdomain | passthru | tcp-only <em class="replaceable"><code>quoted_string</code></em> ) </span>] [<span class="optional"><br>
|
nxdomain | passthru | tcp-only <em class="replaceable"><code>quoted_string</code></em> ) ] [<br>
|
||||||
recursive-only <em class="replaceable"><code>boolean</code></em> </span>]; ... } [<span class="optional"> break-dnssec <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
recursive-only <em class="replaceable"><code>boolean</code></em> ] [ nsip-enable <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"><br>
|
nsdname-enable <em class="replaceable"><code>boolean</code></em> ]; ... } [ break-dnssec <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
min-ns-dots <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> nsip-wait-recurse <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
max-policy-ttl <em class="replaceable"><code>integer</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ] [<br>
|
||||||
qname-wait-recurse <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"> recursive-only <em class="replaceable"><code>boolean</code></em> </span>];<br>
|
min-ns-dots <em class="replaceable"><code>integer</code></em> ] [ nsip-wait-recurse <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
root-delegation-only [<span class="optional"> exclude { <em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
qname-wait-recurse <em class="replaceable"><code>boolean</code></em> ] [ recursive-only <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
rrset-order { [<span class="optional"> class <em class="replaceable"><code>string</code></em> </span>] [<span class="optional"> type <em class="replaceable"><code>string</code></em> </span>] [<span class="optional"> name<br>
|
nsip-enable <em class="replaceable"><code>boolean</code></em> ] [ nsdname-enable <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
<em class="replaceable"><code>quoted_string</code></em> </span>] <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>string</code></em>; ... };<br>
|
dnsrps-enable <em class="replaceable"><code>boolean</code></em> ] [ dnsrps-options { <em class="replaceable"><code>unspecified-text</code></em><br>
|
||||||
|
} ];<br>
|
||||||
|
root-delegation-only [ exclude { <em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||||
|
rrset-order { [ class <em class="replaceable"><code>string</code></em> ] [ type <em class="replaceable"><code>string</code></em> ] [ name<br>
|
||||||
|
<em class="replaceable"><code>quoted_string</code></em> ] <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>string</code></em>; ... };<br>
|
||||||
secroots-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
secroots-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
send-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
send-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
serial-query-rate <em class="replaceable"><code>integer</code></em>;<br>
|
serial-query-rate <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
@@ -407,9 +413,11 @@ options
|
|||||||
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
sig-validity-interval <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
sortlist { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
sortlist { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
stacksize ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
stacksize ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||||
|
stale-answer-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
|
stale-answer-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||||
startup-notify-rate <em class="replaceable"><code>integer</code></em>;<br>
|
startup-notify-rate <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
statistics-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
statistics-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
synth-from-dnssec <em class="replaceable"><code>boolean</code></em>;<br>
|
synth-from-dnssec <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
@@ -425,10 +433,10 @@ options
|
|||||||
tkey-gssapi-keytab <em class="replaceable"><code>quoted_string</code></em>;<br>
|
tkey-gssapi-keytab <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
transfer-format ( many-answers | one-answer );<br>
|
transfer-format ( many-answers | one-answer );<br>
|
||||||
transfer-message-size <em class="replaceable"><code>integer</code></em>;<br>
|
transfer-message-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
transfers-in <em class="replaceable"><code>integer</code></em>;<br>
|
transfers-in <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
transfers-out <em class="replaceable"><code>integer</code></em>;<br>
|
transfers-out <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
transfers-per-ns <em class="replaceable"><code>integer</code></em>;<br>
|
transfers-per-ns <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
@@ -458,18 +466,18 @@ server
|
|||||||
edns-version <em class="replaceable"><code>integer</code></em>;<br>
|
edns-version <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
keys <em class="replaceable"><code>server_key</code></em>;<br>
|
keys <em class="replaceable"><code>server_key</code></em>;<br>
|
||||||
max-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
max-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>]<br>
|
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ]<br>
|
||||||
[<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
[ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
padding <em class="replaceable"><code>integer</code></em>;<br>
|
padding <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
query-source ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port (<br>
|
query-source ( ( [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port (<br>
|
||||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) </span>]<br>
|
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) ]<br>
|
||||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
query-source-v6 ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
query-source-v6 ( ( [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) </span>]<br>
|
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) ]<br>
|
||||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
@@ -477,10 +485,10 @@ server
|
|||||||
tcp-keepalive <em class="replaceable"><code>boolean</code></em>;<br>
|
tcp-keepalive <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
tcp-only <em class="replaceable"><code>boolean</code></em>;<br>
|
tcp-only <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
transfer-format ( many-answers | one-answer );<br>
|
transfer-format ( many-answers | one-answer );<br>
|
||||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
transfers <em class="replaceable"><code>integer</code></em>;<br>
|
transfers <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
};<br>
|
};<br>
|
||||||
</p></div>
|
</p></div>
|
||||||
@@ -492,9 +500,9 @@ server
|
|||||||
<div class="literallayout"><p><br>
|
<div class="literallayout"><p><br>
|
||||||
statistics-channels {<br>
|
statistics-channels {<br>
|
||||||
inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> |<br>
|
inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> |<br>
|
||||||
* ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
* ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||||
allow { <em class="replaceable"><code>address_match_element</code></em>; ...<br>
|
allow { <em class="replaceable"><code>address_match_element</code></em>; ...<br>
|
||||||
} </span>];<br>
|
} ];<br>
|
||||||
};<br>
|
};<br>
|
||||||
</p></div>
|
</p></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -512,11 +520,7 @@ trusted-keys
|
|||||||
<a name="id-1.20"></a><h2>VIEW</h2>
|
<a name="id-1.20"></a><h2>VIEW</h2>
|
||||||
|
|
||||||
<div class="literallayout"><p><br>
|
<div class="literallayout"><p><br>
|
||||||
view <em class="replaceable"><code>string</code></em> [<span class="optional"> <em class="replaceable"><code>class</code></em> </span>] {<br>
|
view <em class="replaceable"><code>string</code></em> [ <em class="replaceable"><code>class</code></em> ] {<br>
|
||||||
acache-cleaning-interval <em class="replaceable"><code>integer</code></em>;<br>
|
|
||||||
acache-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
|
||||||
additional-from-auth <em class="replaceable"><code>boolean</code></em>;<br>
|
|
||||||
additional-from-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
|
||||||
allow-new-zones <em class="replaceable"><code>boolean</code></em>;<br>
|
allow-new-zones <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
@@ -528,22 +532,22 @@ view
|
|||||||
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
also-notify [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
also-notify [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||||
<em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
<em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> |<br>
|
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||||
* ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
* ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
attach-cache <em class="replaceable"><code>string</code></em>;<br>
|
attach-cache <em class="replaceable"><code>string</code></em>;<br>
|
||||||
auth-nxdomain <em class="replaceable"><code>boolean</code></em>; // default changed<br>
|
auth-nxdomain <em class="replaceable"><code>boolean</code></em>; // default changed<br>
|
||||||
auto-dnssec ( allow | maintain | off );<br>
|
auto-dnssec ( allow | maintain | off );<br>
|
||||||
cache-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
cache-file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
catalog-zones { zone <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> default-masters [<span class="optional"> port<br>
|
catalog-zones { zone <em class="replaceable"><code>quoted_string</code></em> [ default-masters [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"><br>
|
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<br>
|
||||||
port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key<br>
|
port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] ) [ key<br>
|
||||||
<em class="replaceable"><code>string</code></em> </span>]; ... } </span>] [<span class="optional"> zone-directory <em class="replaceable"><code>quoted_string</code></em> </span>] [<span class="optional"><br>
|
<em class="replaceable"><code>string</code></em> ]; ... } ] [ zone-directory <em class="replaceable"><code>quoted_string</code></em> ] [<br>
|
||||||
in-memory <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
in-memory <em class="replaceable"><code>boolean</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||||
check-dup-records ( fail | warn | ignore );<br>
|
check-dup-records ( fail | warn | ignore );<br>
|
||||||
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
check-mx ( fail | warn | ignore );<br>
|
check-mx ( fail | warn | ignore );<br>
|
||||||
@@ -556,10 +560,10 @@ view
|
|||||||
check-wildcard <em class="replaceable"><code>boolean</code></em>;<br>
|
check-wildcard <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
cleaning-interval <em class="replaceable"><code>integer</code></em>;<br>
|
cleaning-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
clients-per-query <em class="replaceable"><code>integer</code></em>;<br>
|
clients-per-query <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
deny-answer-addresses { <em class="replaceable"><code>address_match_element</code></em>; ... } [<span class="optional"><br>
|
deny-answer-addresses { <em class="replaceable"><code>address_match_element</code></em>; ... } [<br>
|
||||||
except-from { <em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
except-from { <em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||||
deny-answer-aliases { <em class="replaceable"><code>quoted_string</code></em>; ... } [<span class="optional"> except-from {<br>
|
deny-answer-aliases { <em class="replaceable"><code>quoted_string</code></em>; ... } [ except-from {<br>
|
||||||
<em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
<em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||||
dialup ( notify | notify-passive | passive | refresh | <em class="replaceable"><code>boolean</code></em> );<br>
|
dialup ( notify | notify-passive | passive | refresh | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
disable-algorithms <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>;<br>
|
disable-algorithms <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>;<br>
|
||||||
... };<br>
|
... };<br>
|
||||||
@@ -580,6 +584,8 @@ view
|
|||||||
};<br>
|
};<br>
|
||||||
dns64-contact <em class="replaceable"><code>string</code></em>;<br>
|
dns64-contact <em class="replaceable"><code>string</code></em>;<br>
|
||||||
dns64-server <em class="replaceable"><code>string</code></em>;<br>
|
dns64-server <em class="replaceable"><code>string</code></em>;<br>
|
||||||
|
dnsrps-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
|
dnsrps-options { <em class="replaceable"><code>unspecified-text</code></em> };<br>
|
||||||
dnssec-accept-expired <em class="replaceable"><code>boolean</code></em>;<br>
|
dnssec-accept-expired <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
dnssec-dnskey-kskonly <em class="replaceable"><code>boolean</code></em>;<br>
|
dnssec-dnskey-kskonly <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
dnssec-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
dnssec-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
@@ -591,11 +597,11 @@ view
|
|||||||
dnssec-update-mode ( maintain | no-resign );<br>
|
dnssec-update-mode ( maintain | no-resign );<br>
|
||||||
dnssec-validation ( yes | no | auto );<br>
|
dnssec-validation ( yes | no | auto );<br>
|
||||||
dnstap { ( all | auth | client | forwarder |<br>
|
dnstap { ( all | auth | client | forwarder |<br>
|
||||||
resolver ) [<span class="optional"> ( query | response ) </span>]; ... };<br>
|
resolver ) [ ( query | response ) ]; ... };<br>
|
||||||
dual-stack-servers [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> port<br>
|
dual-stack-servers [ port <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>quoted_string</code></em> [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port<br>
|
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv4_address</code></em> [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] ); ... };<br>
|
<em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] ); ... };<br>
|
||||||
dyndb <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>quoted_string</code></em> {<br>
|
dyndb <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>quoted_string</code></em> {<br>
|
||||||
<em class="replaceable"><code>unspecified-text</code></em> };<br>
|
<em class="replaceable"><code>unspecified-text</code></em> };<br>
|
||||||
edns-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
edns-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
@@ -603,14 +609,15 @@ view
|
|||||||
empty-server <em class="replaceable"><code>string</code></em>;<br>
|
empty-server <em class="replaceable"><code>string</code></em>;<br>
|
||||||
empty-zones-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
empty-zones-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
fetch-quota-params <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em>;<br>
|
fetch-quota-params <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em> <em class="replaceable"><code>fixedpoint</code></em>;<br>
|
||||||
fetches-per-server <em class="replaceable"><code>integer</code></em> [<span class="optional"> ( drop | fail ) </span>];<br>
|
fetches-per-server <em class="replaceable"><code>integer</code></em> [ ( drop | fail ) ];<br>
|
||||||
fetches-per-zone <em class="replaceable"><code>integer</code></em> [<span class="optional"> ( drop | fail ) </span>];<br>
|
fetches-per-zone <em class="replaceable"><code>integer</code></em> [ ( drop | fail ) ];<br>
|
||||||
filter-aaaa { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
filter-aaaa { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
filter-aaaa-on-v4 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
filter-aaaa-on-v4 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
filter-aaaa-on-v6 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
filter-aaaa-on-v6 ( break-dnssec | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
forward ( first | only );<br>
|
forward ( first | only );<br>
|
||||||
forwarders [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
forwarders [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
||||||
| <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
| <em class="replaceable"><code>ipv6_address</code></em> ) [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||||
|
glue-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
ixfr-from-differences ( master | slave | <em class="replaceable"><code>boolean</code></em> );<br>
|
ixfr-from-differences ( master | slave | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
key <em class="replaceable"><code>string</code></em> {<br>
|
key <em class="replaceable"><code>string</code></em> {<br>
|
||||||
@@ -628,17 +635,17 @@ view
|
|||||||
match-clients { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
match-clients { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
match-destinations { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
match-destinations { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
match-recursive-only <em class="replaceable"><code>boolean</code></em>;<br>
|
match-recursive-only <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
max-acache-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
|
||||||
max-cache-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> | <em class="replaceable"><code>percentage</code></em> );<br>
|
max-cache-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> | <em class="replaceable"><code>percentage</code></em> );<br>
|
||||||
max-cache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
max-cache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-clients-per-query <em class="replaceable"><code>integer</code></em>;<br>
|
max-clients-per-query <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-journal-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
max-journal-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||||
max-ncache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
max-ncache-ttl <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-recursion-depth <em class="replaceable"><code>integer</code></em>;<br>
|
max-recursion-depth <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-recursion-queries <em class="replaceable"><code>integer</code></em>;<br>
|
max-recursion-queries <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
|
max-stale-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||||
max-transfer-idle-in <em class="replaceable"><code>integer</code></em>;<br>
|
max-transfer-idle-in <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-transfer-idle-out <em class="replaceable"><code>integer</code></em>;<br>
|
max-transfer-idle-out <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-transfer-time-in <em class="replaceable"><code>integer</code></em>;<br>
|
max-transfer-time-in <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
@@ -651,28 +658,28 @@ view
|
|||||||
minimal-any <em class="replaceable"><code>boolean</code></em>;<br>
|
minimal-any <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
minimal-responses ( no-auth | no-auth-recursive | <em class="replaceable"><code>boolean</code></em> );<br>
|
minimal-responses ( no-auth | no-auth-recursive | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
|
new-zones-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
no-case-compress { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
no-case-compress { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
nocookie-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
nocookie-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>]<br>
|
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ]<br>
|
||||||
[<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
[ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
nsec3-test-zone <em class="replaceable"><code>boolean</code></em>; // test only<br>
|
|
||||||
nta-lifetime <em class="replaceable"><code>ttlval</code></em>;<br>
|
nta-lifetime <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||||
nta-recheck <em class="replaceable"><code>ttlval</code></em>;<br>
|
nta-recheck <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||||
nxdomain-redirect <em class="replaceable"><code>string</code></em>;<br>
|
nxdomain-redirect <em class="replaceable"><code>string</code></em>;<br>
|
||||||
preferred-glue <em class="replaceable"><code>string</code></em>;<br>
|
preferred-glue <em class="replaceable"><code>string</code></em>;<br>
|
||||||
prefetch <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
prefetch <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
query-source ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port (<br>
|
query-source ( ( [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port (<br>
|
||||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) </span>]<br>
|
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) ]<br>
|
||||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
query-source-v6 ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
query-source-v6 ( ( [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) </span>]<br>
|
<em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) ]<br>
|
||||||
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
rate-limit {<br>
|
rate-limit {<br>
|
||||||
all-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
all-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
errors-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
errors-per-second <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
@@ -695,20 +702,26 @@ view
|
|||||||
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
require-server-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
require-server-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
|
resolver-nonbackoff-tries <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
resolver-query-timeout <em class="replaceable"><code>integer</code></em>;<br>
|
resolver-query-timeout <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
|
resolver-retry-interval <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
response-padding { <em class="replaceable"><code>address_match_element</code></em>; ... } block-size<br>
|
response-padding { <em class="replaceable"><code>address_match_element</code></em>; ... } block-size<br>
|
||||||
<em class="replaceable"><code>integer</code></em>;<br>
|
<em class="replaceable"><code>integer</code></em>;<br>
|
||||||
response-policy { zone <em class="replaceable"><code>quoted_string</code></em> [<span class="optional"> log <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
response-policy { zone <em class="replaceable"><code>quoted_string</code></em> [ log <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"><br>
|
max-policy-ttl <em class="replaceable"><code>integer</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ] [<br>
|
||||||
policy ( cname | disabled | drop | given | no-op | nodata |<br>
|
policy ( cname | disabled | drop | given | no-op | nodata |<br>
|
||||||
nxdomain | passthru | tcp-only <em class="replaceable"><code>quoted_string</code></em> ) </span>] [<span class="optional"><br>
|
nxdomain | passthru | tcp-only <em class="replaceable"><code>quoted_string</code></em> ) ] [<br>
|
||||||
recursive-only <em class="replaceable"><code>boolean</code></em> </span>]; ... } [<span class="optional"> break-dnssec <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
recursive-only <em class="replaceable"><code>boolean</code></em> ] [ nsip-enable <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
max-policy-ttl <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> min-update-interval <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"><br>
|
nsdname-enable <em class="replaceable"><code>boolean</code></em> ]; ... } [ break-dnssec <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
min-ns-dots <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> nsip-wait-recurse <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"><br>
|
max-policy-ttl <em class="replaceable"><code>integer</code></em> ] [ min-update-interval <em class="replaceable"><code>integer</code></em> ] [<br>
|
||||||
qname-wait-recurse <em class="replaceable"><code>boolean</code></em> </span>] [<span class="optional"> recursive-only <em class="replaceable"><code>boolean</code></em> </span>];<br>
|
min-ns-dots <em class="replaceable"><code>integer</code></em> ] [ nsip-wait-recurse <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
root-delegation-only [<span class="optional"> exclude { <em class="replaceable"><code>quoted_string</code></em>; ... } </span>];<br>
|
qname-wait-recurse <em class="replaceable"><code>boolean</code></em> ] [ recursive-only <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
rrset-order { [<span class="optional"> class <em class="replaceable"><code>string</code></em> </span>] [<span class="optional"> type <em class="replaceable"><code>string</code></em> </span>] [<span class="optional"> name<br>
|
nsip-enable <em class="replaceable"><code>boolean</code></em> ] [ nsdname-enable <em class="replaceable"><code>boolean</code></em> ] [<br>
|
||||||
<em class="replaceable"><code>quoted_string</code></em> </span>] <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>string</code></em>; ... };<br>
|
dnsrps-enable <em class="replaceable"><code>boolean</code></em> ] [ dnsrps-options { <em class="replaceable"><code>unspecified-text</code></em><br>
|
||||||
|
} ];<br>
|
||||||
|
root-delegation-only [ exclude { <em class="replaceable"><code>quoted_string</code></em>; ... } ];<br>
|
||||||
|
rrset-order { [ class <em class="replaceable"><code>string</code></em> ] [ type <em class="replaceable"><code>string</code></em> ] [ name<br>
|
||||||
|
<em class="replaceable"><code>quoted_string</code></em> ] <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>string</code></em>; ... };<br>
|
||||||
send-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
send-cookie <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
serial-update-method ( date | increment | unixtime );<br>
|
serial-update-method ( date | increment | unixtime );<br>
|
||||||
server <em class="replaceable"><code>netprefix</code></em> {<br>
|
server <em class="replaceable"><code>netprefix</code></em> {<br>
|
||||||
@@ -718,20 +731,20 @@ view
|
|||||||
edns-version <em class="replaceable"><code>integer</code></em>;<br>
|
edns-version <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
keys <em class="replaceable"><code>server_key</code></em>;<br>
|
keys <em class="replaceable"><code>server_key</code></em>;<br>
|
||||||
max-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
max-udp-size <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | *<br>
|
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | *<br>
|
||||||
) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em><br>
|
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em><br>
|
||||||
| * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
| * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
padding <em class="replaceable"><code>integer</code></em>;<br>
|
padding <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
provide-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
query-source ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port<br>
|
query-source ( ( [ address ] ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port<br>
|
||||||
( <em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] (<br>
|
( <em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] (<br>
|
||||||
<em class="replaceable"><code>ipv4_address</code></em> | * ) </span>] port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"><br>
|
<em class="replaceable"><code>ipv4_address</code></em> | * ) ] port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
query-source-v6 ( ( [<span class="optional"> address </span>] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"><br>
|
query-source-v6 ( ( [ address ] ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<br>
|
||||||
port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] ) | ( [<span class="optional"> [<span class="optional"> address </span>] (<br>
|
port ( <em class="replaceable"><code>integer</code></em> | * ) ] ) | ( [ [ address ] (<br>
|
||||||
<em class="replaceable"><code>ipv6_address</code></em> | * ) </span>] port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<span class="optional"><br>
|
<em class="replaceable"><code>ipv6_address</code></em> | * ) ] port ( <em class="replaceable"><code>integer</code></em> | * ) ) ) [<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
request-nsid <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
@@ -739,24 +752,26 @@ view
|
|||||||
tcp-keepalive <em class="replaceable"><code>boolean</code></em>;<br>
|
tcp-keepalive <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
tcp-only <em class="replaceable"><code>boolean</code></em>;<br>
|
tcp-only <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
transfer-format ( many-answers | one-answer );<br>
|
transfer-format ( many-answers | one-answer );<br>
|
||||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> |<br>
|
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||||
* ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
* ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
<em class="replaceable"><code>integer</code></em> | * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
transfers <em class="replaceable"><code>integer</code></em>;<br>
|
transfers <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
};<br>
|
};<br>
|
||||||
servfail-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
servfail-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||||
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
sig-validity-interval <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
sortlist { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
sortlist { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
|
stale-answer-enable <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
|
stale-answer-ttl <em class="replaceable"><code>ttlval</code></em>;<br>
|
||||||
synth-from-dnssec <em class="replaceable"><code>boolean</code></em>;<br>
|
synth-from-dnssec <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
transfer-format ( many-answers | one-answer );<br>
|
transfer-format ( many-answers | one-answer );<br>
|
||||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
trust-anchor-telemetry <em class="replaceable"><code>boolean</code></em>; // experimental<br>
|
trust-anchor-telemetry <em class="replaceable"><code>boolean</code></em>; // experimental<br>
|
||||||
trusted-keys { <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>integer</code></em><br>
|
trusted-keys { <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>integer</code></em><br>
|
||||||
<em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>quoted_string</code></em>;<br>
|
<em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
@@ -767,21 +782,21 @@ view
|
|||||||
v6-bias <em class="replaceable"><code>integer</code></em>;<br>
|
v6-bias <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
zero-no-soa-ttl <em class="replaceable"><code>boolean</code></em>;<br>
|
zero-no-soa-ttl <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
zero-no-soa-ttl-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
zero-no-soa-ttl-cache <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
zone <em class="replaceable"><code>string</code></em> [<span class="optional"> <em class="replaceable"><code>class</code></em> </span>] {<br>
|
zone <em class="replaceable"><code>string</code></em> [ <em class="replaceable"><code>class</code></em> ] {<br>
|
||||||
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-query-on { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-query-on { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
also-notify [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { (<br>
|
also-notify [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { (<br>
|
||||||
<em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] |<br>
|
<em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] |<br>
|
||||||
<em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>];<br>
|
<em class="replaceable"><code>ipv6_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ];<br>
|
||||||
... };<br>
|
... };<br>
|
||||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port (<br>
|
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port (<br>
|
||||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
<em class="replaceable"><code>integer</code></em> | * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
<em class="replaceable"><code>integer</code></em> | * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
auto-dnssec ( allow | maintain | off );<br>
|
auto-dnssec ( allow | maintain | off );<br>
|
||||||
check-dup-records ( fail | warn | ignore );<br>
|
check-dup-records ( fail | warn | ignore );<br>
|
||||||
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
@@ -803,9 +818,9 @@ view
|
|||||||
dnssec-update-mode ( maintain | no-resign );<br>
|
dnssec-update-mode ( maintain | no-resign );<br>
|
||||||
file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
forward ( first | only );<br>
|
forward ( first | only );<br>
|
||||||
forwarders [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { (<br>
|
forwarders [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { (<br>
|
||||||
<em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"><br>
|
<em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [ port <em class="replaceable"><code>integer</code></em> ] [<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
dscp <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||||
in-view <em class="replaceable"><code>string</code></em>;<br>
|
in-view <em class="replaceable"><code>string</code></em>;<br>
|
||||||
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
ixfr-from-differences <em class="replaceable"><code>boolean</code></em>;<br>
|
ixfr-from-differences <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
@@ -813,11 +828,11 @@ view
|
|||||||
key-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
key-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
masterfile-format ( map | raw | text );<br>
|
masterfile-format ( map | raw | text );<br>
|
||||||
masterfile-style ( full | relative );<br>
|
masterfile-style ( full | relative );<br>
|
||||||
masters [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em><br>
|
masters [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em><br>
|
||||||
| <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"><br>
|
| <em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [<br>
|
||||||
port <em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
port <em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||||
max-ixfr-log-size ( default | unlimited |<br>
|
max-ixfr-log-size ( default | unlimited |<br>
|
||||||
max-journal-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
max-journal-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||||
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
@@ -831,29 +846,28 @@ view
|
|||||||
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | *<br>
|
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | *<br>
|
||||||
) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em><br>
|
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em><br>
|
||||||
| * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
| * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
nsec3-test-zone <em class="replaceable"><code>boolean</code></em>; // test only<br>
|
|
||||||
pubkey <em class="replaceable"><code>integer</code></em><br>
|
pubkey <em class="replaceable"><code>integer</code></em><br>
|
||||||
<em class="replaceable"><code>integer</code></em><br>
|
<em class="replaceable"><code>integer</code></em><br>
|
||||||
<em class="replaceable"><code>integer</code></em><br>
|
<em class="replaceable"><code>integer</code></em><br>
|
||||||
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
serial-update-method ( date | increment | unixtime );<br>
|
serial-update-method ( date | increment | unixtime );<br>
|
||||||
server-addresses { ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"><br>
|
server-addresses { ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [<br>
|
||||||
port <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
port <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||||
server-names { <em class="replaceable"><code>quoted_string</code></em>; ... };<br>
|
server-names { <em class="replaceable"><code>quoted_string</code></em>; ... };<br>
|
||||||
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
sig-validity-interval <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> |<br>
|
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||||
* ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
* ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port (<br>
|
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port (<br>
|
||||||
<em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
<em class="replaceable"><code>integer</code></em> | * ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
try-tcp-refresh <em class="replaceable"><code>boolean</code></em>;<br>
|
try-tcp-refresh <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
type ( delegation-only | forward | hint | master | redirect<br>
|
type ( delegation-only | forward | hint | master | redirect<br>
|
||||||
| slave | static-stub | stub );<br>
|
| slave | static-stub | stub );<br>
|
||||||
@@ -862,7 +876,7 @@ view
|
|||||||
6to4-self | external | krb5-self | krb5-subdomain |<br>
|
6to4-self | external | krb5-self | krb5-subdomain |<br>
|
||||||
ms-self | ms-subdomain | name | self | selfsub |<br>
|
ms-self | ms-subdomain | name | self | selfsub |<br>
|
||||||
selfwild | subdomain | tcp-self | wildcard | zonesub )<br>
|
selfwild | subdomain | tcp-self | wildcard | zonesub )<br>
|
||||||
[<span class="optional"> <em class="replaceable"><code>string</code></em> </span>] <em class="replaceable"><code>rrtypelist</code></em>; ... };<br>
|
[ <em class="replaceable"><code>string</code></em> ] <em class="replaceable"><code>rrtypelist</code></em>; ... };<br>
|
||||||
use-alt-transfer-source <em class="replaceable"><code>boolean</code></em>;<br>
|
use-alt-transfer-source <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
zero-no-soa-ttl <em class="replaceable"><code>boolean</code></em>;<br>
|
zero-no-soa-ttl <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
zone-statistics ( full | terse | none | <em class="replaceable"><code>boolean</code></em> );<br>
|
zone-statistics ( full | terse | none | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
@@ -876,20 +890,20 @@ view
|
|||||||
<a name="id-1.21"></a><h2>ZONE</h2>
|
<a name="id-1.21"></a><h2>ZONE</h2>
|
||||||
|
|
||||||
<div class="literallayout"><p><br>
|
<div class="literallayout"><p><br>
|
||||||
zone <em class="replaceable"><code>string</code></em> [<span class="optional"> <em class="replaceable"><code>class</code></em> </span>] {<br>
|
zone <em class="replaceable"><code>string</code></em> [ <em class="replaceable"><code>class</code></em> ] {<br>
|
||||||
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-query-on { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-query-on { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-transfer { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-update { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
allow-update-forwarding { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
|
||||||
also-notify [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
also-notify [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||||
<em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
<em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||||
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
alt-transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> |<br>
|
alt-transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> |<br>
|
||||||
* ) </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
* ) ] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
auto-dnssec ( allow | maintain | off );<br>
|
auto-dnssec ( allow | maintain | off );<br>
|
||||||
check-dup-records ( fail | warn | ignore );<br>
|
check-dup-records ( fail | warn | ignore );<br>
|
||||||
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
check-integrity <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
@@ -910,8 +924,8 @@ zone
|
|||||||
dnssec-update-mode ( maintain | no-resign );<br>
|
dnssec-update-mode ( maintain | no-resign );<br>
|
||||||
file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
file <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
forward ( first | only );<br>
|
forward ( first | only );<br>
|
||||||
forwarders [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
forwarders [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
|
||||||
| <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
| <em class="replaceable"><code>ipv6_address</code></em> ) [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||||
in-view <em class="replaceable"><code>string</code></em>;<br>
|
in-view <em class="replaceable"><code>string</code></em>;<br>
|
||||||
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
inline-signing <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
ixfr-from-differences <em class="replaceable"><code>boolean</code></em>;<br>
|
ixfr-from-differences <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
@@ -919,10 +933,10 @@ zone
|
|||||||
key-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
key-directory <em class="replaceable"><code>quoted_string</code></em>;<br>
|
||||||
masterfile-format ( map | raw | text );<br>
|
masterfile-format ( map | raw | text );<br>
|
||||||
masterfile-style ( full | relative );<br>
|
masterfile-style ( full | relative );<br>
|
||||||
masters [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
masters [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> |<br>
|
||||||
<em class="replaceable"><code>ipv4_address</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] | <em class="replaceable"><code>ipv6_address</code></em> [<span class="optional"> port<br>
|
<em class="replaceable"><code>ipv4_address</code></em> [ port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>] ) [<span class="optional"> key <em class="replaceable"><code>string</code></em> </span>]; ... };<br>
|
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
|
||||||
max-journal-size ( unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
max-journal-size ( default | unlimited | <em class="replaceable"><code>sizeval</code></em> );<br>
|
||||||
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
max-records <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
max-retry-time <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
@@ -936,27 +950,26 @@ zone
|
|||||||
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
notify ( explicit | master-only | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
notify-delay <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
notify-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>]<br>
|
notify-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ]<br>
|
||||||
[<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
[ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
nsec3-test-zone <em class="replaceable"><code>boolean</code></em>; // test only<br>
|
|
||||||
pubkey <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>integer</code></em><br>
|
pubkey <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>integer</code></em><br>
|
||||||
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
request-expire <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
serial-update-method ( date | increment | unixtime );<br>
|
serial-update-method ( date | increment | unixtime );<br>
|
||||||
server-addresses { ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [<span class="optional"> port<br>
|
server-addresses { ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> ) [ port<br>
|
||||||
<em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
|
<em class="replaceable"><code>integer</code></em> ]; ... };<br>
|
||||||
server-names { <em class="replaceable"><code>quoted_string</code></em>; ... };<br>
|
server-names { <em class="replaceable"><code>quoted_string</code></em>; ... };<br>
|
||||||
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-nodes <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-signatures <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
sig-signing-type <em class="replaceable"><code>integer</code></em>;<br>
|
||||||
sig-validity-interval <em class="replaceable"><code>integer</code></em> [<span class="optional"> <em class="replaceable"><code>integer</code></em> </span>];<br>
|
sig-validity-interval <em class="replaceable"><code>integer</code></em> [ <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * ) </span>] [<span class="optional"><br>
|
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
|
||||||
dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [<span class="optional"> port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
transfer-source-v6 ( <em class="replaceable"><code>ipv6_address</code></em> | * ) [ port ( <em class="replaceable"><code>integer</code></em> | * )<br>
|
||||||
</span>] [<span class="optional"> dscp <em class="replaceable"><code>integer</code></em> </span>];<br>
|
] [ dscp <em class="replaceable"><code>integer</code></em> ];<br>
|
||||||
try-tcp-refresh <em class="replaceable"><code>boolean</code></em>;<br>
|
try-tcp-refresh <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
type ( delegation-only | forward | hint | master | redirect | slave<br>
|
type ( delegation-only | forward | hint | master | redirect | slave<br>
|
||||||
| static-stub | stub );<br>
|
| static-stub | stub );<br>
|
||||||
@@ -964,7 +977,7 @@ zone
|
|||||||
update-policy ( local | { ( deny | grant ) <em class="replaceable"><code>string</code></em> ( 6to4-self |<br>
|
update-policy ( local | { ( deny | grant ) <em class="replaceable"><code>string</code></em> ( 6to4-self |<br>
|
||||||
external | krb5-self | krb5-subdomain | ms-self | ms-subdomain<br>
|
external | krb5-self | krb5-subdomain | ms-self | ms-subdomain<br>
|
||||||
| name | self | selfsub | selfwild | subdomain | tcp-self |<br>
|
| name | self | selfsub | selfwild | subdomain | tcp-self |<br>
|
||||||
wildcard | zonesub ) [<span class="optional"> <em class="replaceable"><code>string</code></em> </span>] <em class="replaceable"><code>rrtypelist</code></em>; ... };<br>
|
wildcard | zonesub ) [ <em class="replaceable"><code>string</code></em> ] <em class="replaceable"><code>rrtypelist</code></em>; ... };<br>
|
||||||
use-alt-transfer-source <em class="replaceable"><code>boolean</code></em>;<br>
|
use-alt-transfer-source <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
zero-no-soa-ttl <em class="replaceable"><code>boolean</code></em>;<br>
|
zero-no-soa-ttl <em class="replaceable"><code>boolean</code></em>;<br>
|
||||||
zone-statistics ( full | terse | none | <em class="replaceable"><code>boolean</code></em> );<br>
|
zone-statistics ( full | terse | none | <em class="replaceable"><code>boolean</code></em> );<br>
|
||||||
|
|||||||
+112
-75
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1999-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1999-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -2548,11 +2548,17 @@ catz_addmodzone_taskaction(isc_task_t *task, isc_event_t *event0) {
|
|||||||
RUNTIME_CHECK(zone == NULL);
|
RUNTIME_CHECK(zone == NULL);
|
||||||
/* Create a config for new zone */
|
/* Create a config for new zone */
|
||||||
confbuf = NULL;
|
confbuf = NULL;
|
||||||
dns_catz_generate_zonecfg(ev->origin, ev->entry, &confbuf);
|
result = dns_catz_generate_zonecfg(ev->origin, ev->entry, &confbuf);
|
||||||
cfg_parser_reset(cfg->add_parser);
|
if (result == ISC_R_SUCCESS) {
|
||||||
result = cfg_parse_buffer3(cfg->add_parser, confbuf, "catz", 0,
|
cfg_parser_reset(cfg->add_parser);
|
||||||
&cfg_type_addzoneconf, &zoneconf);
|
result = cfg_parse_buffer3(cfg->add_parser, confbuf, "catz", 0,
|
||||||
isc_buffer_free(&confbuf);
|
&cfg_type_addzoneconf, &zoneconf);
|
||||||
|
isc_buffer_free(&confbuf);
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Fail if either dns_catz_generate_zonecfg() or cfg_parse_buffer3()
|
||||||
|
* failed.
|
||||||
|
*/
|
||||||
if (result != ISC_R_SUCCESS) {
|
if (result != ISC_R_SUCCESS) {
|
||||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||||
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
|
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
|
||||||
@@ -3543,8 +3549,9 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) {
|
|||||||
fstrm_iothr_options_set_reopen_interval(fopt, i);
|
fstrm_iothr_options_set_reopen_interval(fopt, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
CHECKM(dns_dt_create(named_g_mctx, dmode, dpath,
|
CHECKM(dns_dt_create2(named_g_mctx, dmode, dpath,
|
||||||
&fopt, &named_g_server->dtenv),
|
&fopt, named_g_server->task,
|
||||||
|
&named_g_server->dtenv),
|
||||||
"unable to create dnstap environment");
|
"unable to create dnstap environment");
|
||||||
|
|
||||||
CHECKM(dns_dt_setupfile(named_g_server->dtenv,
|
CHECKM(dns_dt_setupfile(named_g_server->dtenv,
|
||||||
@@ -7395,7 +7402,7 @@ for_all_newzone_cfgs(newzone_cfg_cb_t callback, cfg_obj_t *config,
|
|||||||
cfg_obj_t *vconfig, isc_mem_t *mctx, dns_view_t *view,
|
cfg_obj_t *vconfig, isc_mem_t *mctx, dns_view_t *view,
|
||||||
cfg_aclconfctx_t *actx, MDB_txn *txn, MDB_dbi dbi)
|
cfg_aclconfctx_t *actx, MDB_txn *txn, MDB_dbi dbi)
|
||||||
{
|
{
|
||||||
const cfg_obj_t *zconfig, *zlist = NULL;
|
const cfg_obj_t *zconfig, *zlist;
|
||||||
isc_result_t result = ISC_R_SUCCESS;
|
isc_result_t result = ISC_R_SUCCESS;
|
||||||
cfg_obj_t *zconfigobj = NULL;
|
cfg_obj_t *zconfigobj = NULL;
|
||||||
isc_buffer_t *text = NULL;
|
isc_buffer_t *text = NULL;
|
||||||
@@ -7423,6 +7430,7 @@ for_all_newzone_cfgs(newzone_cfg_cb_t callback, cfg_obj_t *config,
|
|||||||
/*
|
/*
|
||||||
* Extract zone configuration from configuration object.
|
* Extract zone configuration from configuration object.
|
||||||
*/
|
*/
|
||||||
|
zlist = NULL;
|
||||||
result = cfg_map_get(zconfigobj, "zone", &zlist);
|
result = cfg_map_get(zconfigobj, "zone", &zlist);
|
||||||
if (result != ISC_R_SUCCESS) {
|
if (result != ISC_R_SUCCESS) {
|
||||||
break;
|
break;
|
||||||
@@ -7811,8 +7819,8 @@ load_configuration(const char *filename, named_server_t *server,
|
|||||||
if (access(server->bindkeysfile, R_OK) == 0) {
|
if (access(server->bindkeysfile, R_OK) == 0) {
|
||||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||||
NAMED_LOGMODULE_SERVER, ISC_LOG_INFO,
|
NAMED_LOGMODULE_SERVER, ISC_LOG_INFO,
|
||||||
"reading built-in trusted "
|
"reading built-in trust anchors "
|
||||||
"keys from file '%s'", server->bindkeysfile);
|
"from file '%s'", server->bindkeysfile);
|
||||||
|
|
||||||
CHECK(cfg_parser_create(named_g_mctx, named_g_lctx,
|
CHECK(cfg_parser_create(named_g_mctx, named_g_lctx,
|
||||||
&bindkeys_parser));
|
&bindkeys_parser));
|
||||||
@@ -7823,8 +7831,8 @@ load_configuration(const char *filename, named_server_t *server,
|
|||||||
} else {
|
} else {
|
||||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||||
NAMED_LOGMODULE_SERVER, ISC_LOG_INFO,
|
NAMED_LOGMODULE_SERVER, ISC_LOG_INFO,
|
||||||
"unable to open '%s' using built-in keys",
|
"unable to open '%s'; using built-in keys "
|
||||||
server->bindkeysfile);
|
"instead", server->bindkeysfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ensure exclusive access to configuration data. */
|
/* Ensure exclusive access to configuration data. */
|
||||||
@@ -9338,11 +9346,9 @@ shutdown_server(isc_task_t *task, isc_event_t *event) {
|
|||||||
*/
|
*/
|
||||||
static isc_result_t
|
static isc_result_t
|
||||||
get_matching_view(isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr,
|
get_matching_view(isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr,
|
||||||
dns_message_t *message, dns_ecs_t *ecs,
|
dns_message_t *message, dns_aclenv_t *env, dns_ecs_t *ecs,
|
||||||
isc_result_t *sigresult, dns_view_t **viewp)
|
isc_result_t *sigresult, dns_view_t **viewp)
|
||||||
{
|
{
|
||||||
dns_aclenv_t *env =
|
|
||||||
ns_interfacemgr_getaclenv(named_g_server->interfacemgr);
|
|
||||||
dns_view_t *view;
|
dns_view_t *view;
|
||||||
|
|
||||||
REQUIRE(message != NULL);
|
REQUIRE(message != NULL);
|
||||||
@@ -10186,14 +10192,17 @@ named_server_togglequerylog(named_server_t *server, isc_lex_t *lex) {
|
|||||||
prev = ns_server_getoption(server->sctx, NS_SERVER_LOGQUERIES);
|
prev = ns_server_getoption(server->sctx, NS_SERVER_LOGQUERIES);
|
||||||
|
|
||||||
ptr = next_token(lex, NULL);
|
ptr = next_token(lex, NULL);
|
||||||
if (ptr == NULL)
|
if (ptr == NULL) {
|
||||||
value = !prev;
|
value = !prev;
|
||||||
else if (strcasecmp(ptr, "yes") == 0 || strcasecmp(ptr, "on") == 0)
|
} else if (!strcasecmp(ptr, "on") || !strcasecmp(ptr, "yes") ||
|
||||||
|
!strcasecmp(ptr, "enable") || !strcasecmp(ptr, "true")) {
|
||||||
value = ISC_TRUE;
|
value = ISC_TRUE;
|
||||||
else if (strcasecmp(ptr, "no") == 0 || strcasecmp(ptr, "off") == 0)
|
} else if (!strcasecmp(ptr, "off") || !strcasecmp(ptr, "no") ||
|
||||||
|
!strcasecmp(ptr, "disable") || !strcasecmp(ptr, "false")) {
|
||||||
value = ISC_FALSE;
|
value = ISC_FALSE;
|
||||||
else
|
} else {
|
||||||
return (ISC_R_NOTFOUND);
|
return (DNS_R_SYNTAX);
|
||||||
|
}
|
||||||
|
|
||||||
if (value == prev)
|
if (value == prev)
|
||||||
return (ISC_R_SUCCESS);
|
return (ISC_R_SUCCESS);
|
||||||
@@ -10817,7 +10826,7 @@ named_server_setdebuglevel(named_server_t *server, isc_lex_t *lex) {
|
|||||||
isc_log_setdebuglevel(named_g_lctx, named_g_debuglevel);
|
isc_log_setdebuglevel(named_g_lctx, named_g_debuglevel);
|
||||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||||
NAMED_LOGMODULE_SERVER, ISC_LOG_INFO,
|
NAMED_LOGMODULE_SERVER, ISC_LOG_INFO,
|
||||||
"debug level is now %d", named_g_debuglevel);
|
"debug level is now %u", named_g_debuglevel);
|
||||||
return (ISC_R_SUCCESS);
|
return (ISC_R_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10842,15 +10851,16 @@ named_server_validation(named_server_t *server, isc_lex_t *lex,
|
|||||||
return (ISC_R_UNEXPECTEDEND);
|
return (ISC_R_UNEXPECTEDEND);
|
||||||
|
|
||||||
if (!strcasecmp(ptr, "on") || !strcasecmp(ptr, "yes") ||
|
if (!strcasecmp(ptr, "on") || !strcasecmp(ptr, "yes") ||
|
||||||
!strcasecmp(ptr, "enable") || !strcasecmp(ptr, "true"))
|
!strcasecmp(ptr, "enable") || !strcasecmp(ptr, "true")) {
|
||||||
enable = ISC_TRUE;
|
enable = ISC_TRUE;
|
||||||
else if (!strcasecmp(ptr, "off") || !strcasecmp(ptr, "no") ||
|
} else if (!strcasecmp(ptr, "off") || !strcasecmp(ptr, "no") ||
|
||||||
!strcasecmp(ptr, "disable") || !strcasecmp(ptr, "false"))
|
!strcasecmp(ptr, "disable") || !strcasecmp(ptr, "false")) {
|
||||||
enable = ISC_FALSE;
|
enable = ISC_FALSE;
|
||||||
else if (!strcasecmp(ptr, "check"))
|
} else if (!strcasecmp(ptr, "check") || !strcasecmp(ptr, "status")) {
|
||||||
set = ISC_FALSE;
|
set = ISC_FALSE;
|
||||||
else
|
} else {
|
||||||
return (DNS_R_SYNTAX);
|
return (DNS_R_SYNTAX);
|
||||||
|
}
|
||||||
|
|
||||||
/* Look for the view name. */
|
/* Look for the view name. */
|
||||||
ptr = next_token(lex, text);
|
ptr = next_token(lex, text);
|
||||||
@@ -11205,7 +11215,7 @@ named_server_status(named_server_t *server, isc_buffer_t **text) {
|
|||||||
zonecount, automatic);
|
zonecount, automatic);
|
||||||
CHECK(putstr(text, line));
|
CHECK(putstr(text, line));
|
||||||
|
|
||||||
snprintf(line, sizeof(line), "debug level: %d\n", named_g_debuglevel);
|
snprintf(line, sizeof(line), "debug level: %u\n", named_g_debuglevel);
|
||||||
CHECK(putstr(text, line));
|
CHECK(putstr(text, line));
|
||||||
|
|
||||||
snprintf(line, sizeof(line), "xfers running: %u\n", xferrunning);
|
snprintf(line, sizeof(line), "xfers running: %u\n", xferrunning);
|
||||||
@@ -11372,7 +11382,7 @@ named_server_tsigdelete(named_server_t *server, isc_lex_t *lex,
|
|||||||
}
|
}
|
||||||
isc_task_endexclusive(server->task);
|
isc_task_endexclusive(server->task);
|
||||||
|
|
||||||
snprintf(fbuf, sizeof(fbuf), "%d", foundkeys);
|
snprintf(fbuf, sizeof(fbuf), "%u", foundkeys);
|
||||||
|
|
||||||
CHECK(putstr(text, fbuf));
|
CHECK(putstr(text, fbuf));
|
||||||
CHECK(putstr(text, " tsig keys deleted."));
|
CHECK(putstr(text, " tsig keys deleted."));
|
||||||
@@ -12607,6 +12617,7 @@ do_addzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view,
|
|||||||
dns_zone_t *zone = NULL;
|
dns_zone_t *zone = NULL;
|
||||||
#ifndef HAVE_LMDB
|
#ifndef HAVE_LMDB
|
||||||
FILE *fp = NULL;
|
FILE *fp = NULL;
|
||||||
|
isc_boolean_t cleanup_config = ISC_FALSE;
|
||||||
#else /* HAVE_LMDB */
|
#else /* HAVE_LMDB */
|
||||||
MDB_txn *txn = NULL;
|
MDB_txn *txn = NULL;
|
||||||
MDB_dbi dbi;
|
MDB_dbi dbi;
|
||||||
@@ -12699,14 +12710,15 @@ do_addzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view,
|
|||||||
* we've created. If there was a previous one, merge the new
|
* we've created. If there was a previous one, merge the new
|
||||||
* zone into it.
|
* zone into it.
|
||||||
*/
|
*/
|
||||||
if (cfg->nzf_config == NULL)
|
if (cfg->nzf_config == NULL) {
|
||||||
cfg_obj_attach(zoneconf, &cfg->nzf_config);
|
cfg_obj_attach(zoneconf, &cfg->nzf_config);
|
||||||
else {
|
} else {
|
||||||
cfg_obj_t *z;
|
cfg_obj_t *z;
|
||||||
DE_CONST(zoneobj, z);
|
DE_CONST(zoneobj, z);
|
||||||
CHECK(cfg_parser_mapadd(cfg->add_parser,
|
CHECK(cfg_parser_mapadd(cfg->add_parser,
|
||||||
cfg->nzf_config, z, "zone"));
|
cfg->nzf_config, z, "zone"));
|
||||||
}
|
}
|
||||||
|
cleanup_config = ISC_TRUE;
|
||||||
#endif /* HAVE_LMDB */
|
#endif /* HAVE_LMDB */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -12752,6 +12764,12 @@ do_addzone(named_server_t *server, ns_cfgctx_t *cfg, dns_view_t *view,
|
|||||||
#ifndef HAVE_LMDB
|
#ifndef HAVE_LMDB
|
||||||
if (fp != NULL)
|
if (fp != NULL)
|
||||||
(void)isc_stdio_close(fp);
|
(void)isc_stdio_close(fp);
|
||||||
|
if (result != ISC_R_SUCCESS && cleanup_config) {
|
||||||
|
tresult = delete_zoneconf(view, cfg->add_parser,
|
||||||
|
cfg->nzf_config, name,
|
||||||
|
NULL);
|
||||||
|
RUNTIME_CHECK(tresult == ISC_R_SUCCESS);
|
||||||
|
}
|
||||||
#else /* HAVE_LMDB */
|
#else /* HAVE_LMDB */
|
||||||
if (txn != NULL)
|
if (txn != NULL)
|
||||||
(void) nzd_close(&txn, ISC_FALSE);
|
(void) nzd_close(&txn, ISC_FALSE);
|
||||||
@@ -13842,7 +13860,7 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
isc_buffer_t **text)
|
isc_buffer_t **text)
|
||||||
{
|
{
|
||||||
isc_result_t result = ISC_R_SUCCESS;
|
isc_result_t result = ISC_R_SUCCESS;
|
||||||
dns_zone_t *zone = NULL, *raw = NULL;
|
dns_zone_t *zone = NULL, *raw = NULL, *mayberaw = NULL;
|
||||||
const char *type, *file;
|
const char *type, *file;
|
||||||
char zonename[DNS_NAME_FORMATSIZE];
|
char zonename[DNS_NAME_FORMATSIZE];
|
||||||
isc_uint32_t serial, signed_serial, nodes;
|
isc_uint32_t serial, signed_serial, nodes;
|
||||||
@@ -13875,7 +13893,19 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
zonetype = dns_zone_gettype(zone);
|
/* Inline signing? */
|
||||||
|
CHECK(dns_zone_getdb(zone, &db));
|
||||||
|
dns_zone_getraw(zone, &raw);
|
||||||
|
hasraw = ISC_TF(raw != NULL);
|
||||||
|
if (hasraw) {
|
||||||
|
mayberaw = raw;
|
||||||
|
zonetype = dns_zone_gettype(raw);
|
||||||
|
CHECK(dns_zone_getdb(raw, &rawdb));
|
||||||
|
} else {
|
||||||
|
mayberaw = zone;
|
||||||
|
zonetype = dns_zone_gettype(zone);
|
||||||
|
}
|
||||||
|
|
||||||
switch (zonetype) {
|
switch (zonetype) {
|
||||||
case dns_zone_master:
|
case dns_zone_master:
|
||||||
type = "master";
|
type = "master";
|
||||||
@@ -13902,15 +13932,8 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
type = "unknown";
|
type = "unknown";
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Inline signing? */
|
|
||||||
CHECK(dns_zone_getdb(zone, &db));
|
|
||||||
dns_zone_getraw(zone, &raw);
|
|
||||||
hasraw = ISC_TF(raw != NULL);
|
|
||||||
if (hasraw)
|
|
||||||
CHECK(dns_zone_getdb(raw, &rawdb));
|
|
||||||
|
|
||||||
/* Serial number */
|
/* Serial number */
|
||||||
serial = dns_zone_getserial(hasraw ? raw : zone);
|
serial = dns_zone_getserial(mayberaw);
|
||||||
snprintf(serbuf, sizeof(serbuf), "%u", serial);
|
snprintf(serbuf, sizeof(serbuf), "%u", serial);
|
||||||
if (hasraw) {
|
if (hasraw) {
|
||||||
signed_serial = dns_zone_getserial(zone);
|
signed_serial = dns_zone_getserial(zone);
|
||||||
@@ -13928,8 +13951,8 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
DNS_ZONEKEY_MAINTAIN) != 0);
|
DNS_ZONEKEY_MAINTAIN) != 0);
|
||||||
|
|
||||||
/* Master files */
|
/* Master files */
|
||||||
file = dns_zone_getfile(hasraw ? raw : zone);
|
file = dns_zone_getfile(mayberaw);
|
||||||
nfiles = dns_zone_getincludes(hasraw ? raw : zone, &incfiles);
|
nfiles = dns_zone_getincludes(mayberaw, &incfiles);
|
||||||
|
|
||||||
/* Load time */
|
/* Load time */
|
||||||
dns_zone_getloadtime(zone, &loadtime);
|
dns_zone_getloadtime(zone, &loadtime);
|
||||||
@@ -13940,9 +13963,9 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
zonetype == dns_zone_stub ||
|
zonetype == dns_zone_stub ||
|
||||||
zonetype == dns_zone_redirect)
|
zonetype == dns_zone_redirect)
|
||||||
{
|
{
|
||||||
dns_zone_getexpiretime(zone, &expiretime);
|
dns_zone_getexpiretime(mayberaw, &expiretime);
|
||||||
isc_time_formathttptimestamp(&expiretime, xbuf, sizeof(xbuf));
|
isc_time_formathttptimestamp(&expiretime, xbuf, sizeof(xbuf));
|
||||||
dns_zone_getrefreshtime(zone, &refreshtime);
|
dns_zone_getrefreshtime(mayberaw, &refreshtime);
|
||||||
isc_time_formathttptimestamp(&refreshtime, rbuf, sizeof(rbuf));
|
isc_time_formathttptimestamp(&refreshtime, rbuf, sizeof(rbuf));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -13957,9 +13980,8 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
|
|
||||||
/* Dynamic? */
|
/* Dynamic? */
|
||||||
if (zonetype == dns_zone_master) {
|
if (zonetype == dns_zone_master) {
|
||||||
dynamic = dns_zone_isdynamic(hasraw ? raw : zone, ISC_TRUE);
|
dynamic = dns_zone_isdynamic(mayberaw, ISC_TRUE);
|
||||||
frozen = dynamic && !dns_zone_isdynamic(hasraw ? raw : zone,
|
frozen = dynamic && !dns_zone_isdynamic(mayberaw, ISC_FALSE);
|
||||||
ISC_FALSE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Next resign event */
|
/* Next resign event */
|
||||||
@@ -14008,8 +14030,9 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
CHECK(putstr(text, file));
|
CHECK(putstr(text, file));
|
||||||
for (i = 0; i < nfiles; i++) {
|
for (i = 0; i < nfiles; i++) {
|
||||||
CHECK(putstr(text, ", "));
|
CHECK(putstr(text, ", "));
|
||||||
if (incfiles[i] != NULL)
|
if (incfiles[i] != NULL) {
|
||||||
CHECK(putstr(text, incfiles[i]));
|
CHECK(putstr(text, incfiles[i]));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -14040,12 +14063,14 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
|
|
||||||
if (secure) {
|
if (secure) {
|
||||||
CHECK(putstr(text, "\nsecure: yes"));
|
CHECK(putstr(text, "\nsecure: yes"));
|
||||||
if (hasraw)
|
if (hasraw) {
|
||||||
CHECK(putstr(text, "\ninline signing: yes"));
|
CHECK(putstr(text, "\ninline signing: yes"));
|
||||||
else
|
} else {
|
||||||
CHECK(putstr(text, "\ninline signing: no"));
|
CHECK(putstr(text, "\ninline signing: no"));
|
||||||
} else
|
}
|
||||||
|
} else {
|
||||||
CHECK(putstr(text, "\nsecure: no"));
|
CHECK(putstr(text, "\nsecure: no"));
|
||||||
|
}
|
||||||
|
|
||||||
if (maintain) {
|
if (maintain) {
|
||||||
CHECK(putstr(text, "\nkey maintenance: automatic"));
|
CHECK(putstr(text, "\nkey maintenance: automatic"));
|
||||||
@@ -14053,10 +14078,11 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
CHECK(putstr(text, "\nnext key event: "));
|
CHECK(putstr(text, "\nnext key event: "));
|
||||||
CHECK(putstr(text, kbuf));
|
CHECK(putstr(text, kbuf));
|
||||||
}
|
}
|
||||||
} else if (allow)
|
} else if (allow) {
|
||||||
CHECK(putstr(text, "\nkey maintenance: on command"));
|
CHECK(putstr(text, "\nkey maintenance: on command"));
|
||||||
else if (secure || hasraw)
|
} else if (secure || hasraw) {
|
||||||
CHECK(putstr(text, "\nkey maintenance: none"));
|
CHECK(putstr(text, "\nkey maintenance: none"));
|
||||||
|
}
|
||||||
|
|
||||||
if (!isc_time_isepoch(&resigntime)) {
|
if (!isc_time_isepoch(&resigntime)) {
|
||||||
CHECK(putstr(text, "\nnext resign node: "));
|
CHECK(putstr(text, "\nnext resign node: "));
|
||||||
@@ -14067,40 +14093,50 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex,
|
|||||||
|
|
||||||
if (dynamic) {
|
if (dynamic) {
|
||||||
CHECK(putstr(text, "\ndynamic: yes"));
|
CHECK(putstr(text, "\ndynamic: yes"));
|
||||||
if (frozen)
|
if (frozen) {
|
||||||
CHECK(putstr(text, "\nfrozen: yes"));
|
CHECK(putstr(text, "\nfrozen: yes"));
|
||||||
else
|
} else {
|
||||||
CHECK(putstr(text, "\nfrozen: no"));
|
CHECK(putstr(text, "\nfrozen: no"));
|
||||||
} else
|
}
|
||||||
|
} else {
|
||||||
CHECK(putstr(text, "\ndynamic: no"));
|
CHECK(putstr(text, "\ndynamic: no"));
|
||||||
|
}
|
||||||
|
|
||||||
CHECK(putstr(text, "\nreconfigurable via modzone: "));
|
CHECK(putstr(text, "\nreconfigurable via modzone: "));
|
||||||
CHECK(putstr(text, dns_zone_getadded(zone) ? "yes" : "no"));
|
CHECK(putstr(text, dns_zone_getadded(zone) ? "yes" : "no"));
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
/* Indicate truncated output if possible. */
|
/* Indicate truncated output if possible. */
|
||||||
if (result == ISC_R_NOSPACE)
|
if (result == ISC_R_NOSPACE) {
|
||||||
(void) putstr(text, "\n...");
|
(void) putstr(text, "\n...");
|
||||||
if ((result == ISC_R_SUCCESS || result == ISC_R_NOSPACE))
|
}
|
||||||
|
if ((result == ISC_R_SUCCESS || result == ISC_R_NOSPACE)) {
|
||||||
(void) putnull(text);
|
(void) putnull(text);
|
||||||
|
}
|
||||||
|
|
||||||
if (db != NULL)
|
if (db != NULL) {
|
||||||
dns_db_detach(&db);
|
dns_db_detach(&db);
|
||||||
if (rawdb != NULL)
|
}
|
||||||
|
if (rawdb != NULL) {
|
||||||
dns_db_detach(&rawdb);
|
dns_db_detach(&rawdb);
|
||||||
if (incfiles != NULL) {
|
}
|
||||||
|
if (incfiles != NULL && mayberaw != NULL) {
|
||||||
int i;
|
int i;
|
||||||
isc_mem_t *mctx = dns_zone_getmctx(hasraw ? raw : zone);
|
isc_mem_t *mctx = dns_zone_getmctx(mayberaw);
|
||||||
|
|
||||||
for (i = 0; i < nfiles; i++)
|
for (i = 0; i < nfiles; i++) {
|
||||||
if (incfiles[i] != NULL)
|
if (incfiles[i] != NULL) {
|
||||||
isc_mem_free(mctx, incfiles[i]);
|
isc_mem_free(mctx, incfiles[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
isc_mem_free(mctx, incfiles);
|
isc_mem_free(mctx, incfiles);
|
||||||
}
|
}
|
||||||
if (raw != NULL)
|
if (raw != NULL) {
|
||||||
dns_zone_detach(&raw);
|
dns_zone_detach(&raw);
|
||||||
if (zone != NULL)
|
}
|
||||||
|
if (zone != NULL) {
|
||||||
dns_zone_detach(&zone);
|
dns_zone_detach(&zone);
|
||||||
|
}
|
||||||
return (result);
|
return (result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -14776,9 +14812,11 @@ named_server_dnstap(named_server_t *server, isc_lex_t *lex,
|
|||||||
unsigned int n;
|
unsigned int n;
|
||||||
ptr = next_token(lex, text);
|
ptr = next_token(lex, text);
|
||||||
if (ptr != NULL) {
|
if (ptr != NULL) {
|
||||||
n = sscanf(ptr, "%u", &backups);
|
unsigned int u;
|
||||||
if (n != 1U)
|
n = sscanf(ptr, "%u", &u);
|
||||||
|
if (n != 1U || u > INT_MAX)
|
||||||
return (ISC_R_BADNUMBER);
|
return (ISC_R_BADNUMBER);
|
||||||
|
backups = u;
|
||||||
} else {
|
} else {
|
||||||
backups = ISC_LOG_ROLLINFINITE;
|
backups = ISC_LOG_ROLLINFINITE;
|
||||||
}
|
}
|
||||||
@@ -14786,10 +14824,7 @@ named_server_dnstap(named_server_t *server, isc_lex_t *lex,
|
|||||||
return (DNS_R_SYNTAX);
|
return (DNS_R_SYNTAX);
|
||||||
}
|
}
|
||||||
|
|
||||||
result = isc_task_beginexclusive(server->task);
|
|
||||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
|
||||||
result = dns_dt_reopen(server->dtenv, backups);
|
result = dns_dt_reopen(server->dtenv, backups);
|
||||||
isc_task_endexclusive(server->task);
|
|
||||||
return (result);
|
return (result);
|
||||||
#else
|
#else
|
||||||
UNUSED(server);
|
UNUSED(server);
|
||||||
@@ -14895,13 +14930,15 @@ named_server_servestale(named_server_t *server, isc_lex_t *lex,
|
|||||||
if (ptr == NULL)
|
if (ptr == NULL)
|
||||||
return (ISC_R_UNEXPECTEDEND);
|
return (ISC_R_UNEXPECTEDEND);
|
||||||
|
|
||||||
if (strcasecmp(ptr, "on") == 0 || strcasecmp(ptr, "yes") == 0) {
|
if (!strcasecmp(ptr, "on") || !strcasecmp(ptr, "yes") ||
|
||||||
|
!strcasecmp(ptr, "enable") || !strcasecmp(ptr, "true")) {
|
||||||
staleanswersok = dns_stale_answer_yes;
|
staleanswersok = dns_stale_answer_yes;
|
||||||
} else if (strcasecmp(ptr, "off") == 0 || strcasecmp(ptr, "no") == 0) {
|
} else if (!strcasecmp(ptr, "off") || !strcasecmp(ptr, "no") ||
|
||||||
|
!strcasecmp(ptr, "disable") || !strcasecmp(ptr, "false")) {
|
||||||
staleanswersok = dns_stale_answer_no;
|
staleanswersok = dns_stale_answer_no;
|
||||||
} else if (strcasecmp(ptr, "reset") == 0) {
|
} else if (strcasecmp(ptr, "reset") == 0) {
|
||||||
staleanswersok = dns_stale_answer_conf;
|
staleanswersok = dns_stale_answer_conf;
|
||||||
} else if (strcasecmp(ptr, "status") == 0) {
|
} else if (!strcasecmp(ptr, "check") || !strcasecmp(ptr, "status")) {
|
||||||
wantstatus = ISC_TRUE;
|
wantstatus = ISC_TRUE;
|
||||||
} else
|
} else
|
||||||
return (DNS_R_SYNTAX);
|
return (DNS_R_SYNTAX);
|
||||||
|
|||||||
+3
-1
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1999-2002, 2004-2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1999-2002, 2004-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -755,7 +755,9 @@ mkdirpath(char *filename, void (*report)(const char *, ...)) {
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
setperms(uid_t uid, gid_t gid) {
|
setperms(uid_t uid, gid_t gid) {
|
||||||
|
#if defined(HAVE_SETEGID) || defined(HAVE_SETRESGID)
|
||||||
char strbuf[ISC_STRERRORSIZE];
|
char strbuf[ISC_STRERRORSIZE];
|
||||||
|
#endif
|
||||||
#if !defined(HAVE_SETEGID) && defined(HAVE_SETRESGID)
|
#if !defined(HAVE_SETEGID) && defined(HAVE_SETRESGID)
|
||||||
gid_t oldgid, tmpg;
|
gid_t oldgid, tmpg;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+5
-31
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1999-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1999-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -233,37 +233,10 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone,
|
|||||||
INSIST(0);
|
INSIST(0);
|
||||||
|
|
||||||
str = cfg_obj_asstring(matchtype);
|
str = cfg_obj_asstring(matchtype);
|
||||||
if (strcasecmp(str, "name") == 0)
|
CHECK(dns_ssu_mtypefromstring(str, &mtype));
|
||||||
mtype = dns_ssumatchtype_name;
|
if (mtype == dns_ssumatchtype_subdomain) {
|
||||||
else if (strcasecmp(str, "subdomain") == 0)
|
|
||||||
mtype = dns_ssumatchtype_subdomain;
|
|
||||||
else if (strcasecmp(str, "wildcard") == 0)
|
|
||||||
mtype = dns_ssumatchtype_wildcard;
|
|
||||||
else if (strcasecmp(str, "self") == 0)
|
|
||||||
mtype = dns_ssumatchtype_self;
|
|
||||||
else if (strcasecmp(str, "selfsub") == 0)
|
|
||||||
mtype = dns_ssumatchtype_selfsub;
|
|
||||||
else if (strcasecmp(str, "selfwild") == 0)
|
|
||||||
mtype = dns_ssumatchtype_selfwild;
|
|
||||||
else if (strcasecmp(str, "ms-self") == 0)
|
|
||||||
mtype = dns_ssumatchtype_selfms;
|
|
||||||
else if (strcasecmp(str, "krb5-self") == 0)
|
|
||||||
mtype = dns_ssumatchtype_selfkrb5;
|
|
||||||
else if (strcasecmp(str, "ms-subdomain") == 0)
|
|
||||||
mtype = dns_ssumatchtype_subdomainms;
|
|
||||||
else if (strcasecmp(str, "krb5-subdomain") == 0)
|
|
||||||
mtype = dns_ssumatchtype_subdomainkrb5;
|
|
||||||
else if (strcasecmp(str, "tcp-self") == 0)
|
|
||||||
mtype = dns_ssumatchtype_tcpself;
|
|
||||||
else if (strcasecmp(str, "6to4-self") == 0)
|
|
||||||
mtype = dns_ssumatchtype_6to4self;
|
|
||||||
else if (strcasecmp(str, "zonesub") == 0) {
|
|
||||||
mtype = dns_ssumatchtype_subdomain;
|
|
||||||
usezone = ISC_TRUE;
|
usezone = ISC_TRUE;
|
||||||
} else if (strcasecmp(str, "external") == 0)
|
}
|
||||||
mtype = dns_ssumatchtype_external;
|
|
||||||
else
|
|
||||||
INSIST(0);
|
|
||||||
|
|
||||||
dns_fixedname_init(&fident);
|
dns_fixedname_init(&fident);
|
||||||
str = cfg_obj_asstring(identity);
|
str = cfg_obj_asstring(identity);
|
||||||
@@ -1712,6 +1685,7 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
|||||||
ipkl.addrs,
|
ipkl.addrs,
|
||||||
ipkl.keys,
|
ipkl.keys,
|
||||||
ipkl.count);
|
ipkl.count);
|
||||||
|
count = ipkl.count;
|
||||||
dns_ipkeylist_clear(mctx, &ipkl);
|
dns_ipkeylist_clear(mctx, &ipkl);
|
||||||
RETERR(result);
|
RETERR(result);
|
||||||
} else
|
} else
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -2142,6 +2142,7 @@ show_message(FILE *stream, dns_message_t *msg, const char *description) {
|
|||||||
}
|
}
|
||||||
fprintf(stream, "%s\n%.*s", description,
|
fprintf(stream, "%s\n%.*s", description,
|
||||||
(int)isc_buffer_usedlength(buf), (char*)isc_buffer_base(buf));
|
(int)isc_buffer_usedlength(buf), (char*)isc_buffer_base(buf));
|
||||||
|
fflush(stream);
|
||||||
isc_buffer_free(&buf);
|
isc_buffer_free(&buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -232,7 +232,7 @@ main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
if (wait != 0) {
|
if (wait != 0) {
|
||||||
printf("WARNING: This action is irreversible! "
|
printf("WARNING: This action is irreversible! "
|
||||||
"Destroying key objects in %d seconds\n ", wait);
|
"Destroying key objects in %u seconds\n ", wait);
|
||||||
for (i = 0; i < wait; i++) {
|
for (i = 0; i < wait; i++) {
|
||||||
printf(".");
|
printf(".");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -125,7 +125,7 @@ main(int argc, char *argv[]) {
|
|||||||
printf("slot %lu\n", slot);
|
printf("slot %lu\n", slot);
|
||||||
|
|
||||||
if (id) {
|
if (id) {
|
||||||
printf("id %i\n", id);
|
printf("id %u\n", id);
|
||||||
attr_id[0] = (id >> 8) & 0xff;
|
attr_id[0] = (id >> 8) & 0xff;
|
||||||
attr_id[1] = id & 0xff;
|
attr_id[1] = id & 0xff;
|
||||||
} else if (label != NULL) {
|
} else if (label != NULL) {
|
||||||
|
|||||||
+4
-3
@@ -1,5 +1,5 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# Copyright (C) 2016 Internet Systems Consortium, Inc. ("ISC")
|
# Copyright (C) 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
#
|
#
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -12,6 +12,7 @@ setup(name='isc',
|
|||||||
description='Python functions to support BIND utilities',
|
description='Python functions to support BIND utilities',
|
||||||
url='https://www.isc.org/bind',
|
url='https://www.isc.org/bind',
|
||||||
author='Internet Systems Consortium, Inc',
|
author='Internet Systems Consortium, Inc',
|
||||||
author_email='bind9-bugs@isc.org',
|
author_email='info@isc.org',
|
||||||
license='ISC',
|
license='MPL',
|
||||||
|
requires=['ply'],
|
||||||
packages=['isc'])
|
packages=['isc'])
|
||||||
|
|||||||
+13
-13
@@ -1,4 +1,4 @@
|
|||||||
.\" Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
.\" Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
.\"
|
.\"
|
||||||
.\" This Source Code Form is subject to the terms of the Mozilla Public
|
.\" 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
|
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -437,7 +437,7 @@ All of these options can be shortened, i\&.e\&., to
|
|||||||
\fB\-f\fR\&.
|
\fB\-f\fR\&.
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
\fBquerylog\fR [on|off]
|
\fBquerylog\fR [ on | off ]
|
||||||
.RS 4
|
.RS 4
|
||||||
Enable or disable query logging\&. (For backward compatibility, this command can also be used without an argument to toggle query logging on and off\&.)
|
Enable or disable query logging\&. (For backward compatibility, this command can also be used without an argument to toggle query logging on and off\&.)
|
||||||
.sp
|
.sp
|
||||||
@@ -505,15 +505,6 @@ or waiting for the
|
|||||||
timer\&.
|
timer\&.
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
\fBserve\-stale ( on | off | reset | status) \fR\fB[\fIclass\fR [\fIview\fR]]\fR
|
|
||||||
.RS 4
|
|
||||||
Enable, disable, or reset the serving of stale answers as configured in named\&.conf\&. Serving of stale answers will remain disabled across
|
|
||||||
named\&.conf
|
|
||||||
reloads if disabled via rndc until it is reset via rndc\&.
|
|
||||||
.sp
|
|
||||||
Status will report whether serving of stale answers is currently enabled, disabled or not configured for a view\&. If serving of stale records is configured then the values of stale\-answer\-ttl and max\-stale\-ttl are reported\&.
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
\fBsecroots \fR\fB[\-]\fR\fB \fR\fB[\fIview \&.\&.\&.\fR]\fR
|
\fBsecroots \fR\fB[\-]\fR\fB \fR\fB[\fIview \&.\&.\&.\fR]\fR
|
||||||
.RS 4
|
.RS 4
|
||||||
Dump the security roots (i\&.e\&., trust anchors configured via
|
Dump the security roots (i\&.e\&., trust anchors configured via
|
||||||
@@ -533,6 +524,15 @@ See also
|
|||||||
\fBrndc managed\-keys\fR\&.
|
\fBrndc managed\-keys\fR\&.
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
|
\fBserve\-stale ( on | off | status | reset ) \fR\fB[\fIclass\fR [\fIview\fR]]\fR
|
||||||
|
.RS 4
|
||||||
|
Enable, disable, or reset the serving of stale answers as configured in named\&.conf\&. Serving of stale answers will remain disabled across
|
||||||
|
named\&.conf
|
||||||
|
reloads if disabled via rndc until it is reset via rndc\&.
|
||||||
|
.sp
|
||||||
|
Status will report whether serving of stale answers is currently enabled, disabled or not configured for a view\&. If serving of stale records is configured then the values of stale\-answer\-ttl and max\-stale\-ttl are reported\&.
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
\fBshowzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR
|
\fBshowzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR
|
||||||
.RS 4
|
.RS 4
|
||||||
Print the configuration of a running zone\&.
|
Print the configuration of a running zone\&.
|
||||||
@@ -681,7 +681,7 @@ List the names of all TSIG keys currently configured for use by
|
|||||||
in each view\&. The list both statically configured keys and dynamic TKEY\-negotiated keys\&.
|
in each view\&. The list both statically configured keys and dynamic TKEY\-negotiated keys\&.
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
\fBvalidation ( on | off | check ) \fR\fB[\fIview \&.\&.\&.\fR]\fR\fB \fR
|
\fBvalidation ( on | off | status ) \fR\fB[\fIview \&.\&.\&.\fR]\fR\fB \fR
|
||||||
.RS 4
|
.RS 4
|
||||||
Enable, disable, or check the current status of DNSSEC validation\&. Note
|
Enable, disable, or check the current status of DNSSEC validation\&. Note
|
||||||
\fBdnssec\-enable\fR
|
\fBdnssec\-enable\fR
|
||||||
@@ -730,5 +730,5 @@ BIND 9 Administrator Reference Manual\&.
|
|||||||
\fBInternet Systems Consortium, Inc\&.\fR
|
\fBInternet Systems Consortium, Inc\&.\fR
|
||||||
.SH "COPYRIGHT"
|
.SH "COPYRIGHT"
|
||||||
.br
|
.br
|
||||||
Copyright \(co 2000, 2001, 2004, 2005, 2007, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
Copyright \(co 2000, 2001, 2004, 2005, 2007, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
.br
|
.br
|
||||||
|
|||||||
+4
-4
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -144,7 +144,7 @@ command is one of the following:\n\
|
|||||||
nta -remove domain [view]\n\
|
nta -remove domain [view]\n\
|
||||||
Remove a negative trust anchor, re-enabling validation\n\
|
Remove a negative trust anchor, re-enabling validation\n\
|
||||||
for the given domain.\n\
|
for the given domain.\n\
|
||||||
querylog newstate\n\
|
querylog [ on | off ]\n\
|
||||||
Enable / disable query logging.\n\
|
Enable / disable query logging.\n\
|
||||||
reconfig Reload configuration file and new zones only.\n\
|
reconfig Reload configuration file and new zones only.\n\
|
||||||
recursing Dump the queries that are currently recursing (named.recursing)\n\
|
recursing Dump the queries that are currently recursing (named.recursing)\n\
|
||||||
@@ -158,7 +158,7 @@ command is one of the following:\n\
|
|||||||
scan Scan available network interfaces for changes.\n\
|
scan Scan available network interfaces for changes.\n\
|
||||||
secroots [view ...]\n\
|
secroots [view ...]\n\
|
||||||
Write security roots to the secroots file.\n\
|
Write security roots to the secroots file.\n\
|
||||||
serve-stale ( yes | no | reset ) [class [view]]\n\
|
serve-stale [ yes | no | reset | status ] [class [view]]\n\
|
||||||
Control whether stale answers are returned\n\
|
Control whether stale answers are returned\n\
|
||||||
showzone zone [class [view]]\n\
|
showzone zone [class [view]]\n\
|
||||||
Print a zone's configuration.\n\
|
Print a zone's configuration.\n\
|
||||||
@@ -202,7 +202,7 @@ command is one of the following:\n\
|
|||||||
Delete a TKEY-negotiated TSIG key.\n\
|
Delete a TKEY-negotiated TSIG key.\n\
|
||||||
tsig-list List all currently active TSIG keys, including both statically\n\
|
tsig-list List all currently active TSIG keys, including both statically\n\
|
||||||
configured and TKEY-negotiated keys.\n\
|
configured and TKEY-negotiated keys.\n\
|
||||||
validation newstate [view]\n\
|
validation [ yes | no | status ] [view]\n\
|
||||||
Enable / disable DNSSEC validation.\n\
|
Enable / disable DNSSEC validation.\n\
|
||||||
zonestatus zone [class [view]]\n\
|
zonestatus zone [class [view]]\n\
|
||||||
Display the current status of a zone.\n\
|
Display the current status of a zone.\n\
|
||||||
|
|||||||
+23
-22
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
- Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
- Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
-
|
-
|
||||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
- 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
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -39,6 +39,7 @@
|
|||||||
<year>2015</year>
|
<year>2015</year>
|
||||||
<year>2016</year>
|
<year>2016</year>
|
||||||
<year>2017</year>
|
<year>2017</year>
|
||||||
|
<year>2018</year>
|
||||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
</docinfo>
|
</docinfo>
|
||||||
@@ -645,7 +646,7 @@
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><userinput>querylog</userinput> <optional>on|off</optional> </term>
|
<term><userinput>querylog</userinput> <optional> on | off </optional> </term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Enable or disable query logging. (For backward
|
Enable or disable query logging. (For backward
|
||||||
@@ -751,25 +752,6 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term><userinput>serve-stale ( on | off | reset | status) <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Enable, disable, or reset the serving of stale answers
|
|
||||||
as configured in named.conf. Serving of stale answers
|
|
||||||
will remain disabled across <filename>named.conf</filename>
|
|
||||||
reloads if disabled via rndc until it is reset via rndc.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Status will report whether serving of stale answers is
|
|
||||||
currently enabled, disabled or not configured for a
|
|
||||||
view. If serving of stale records is configured then
|
|
||||||
the values of stale-answer-ttl and max-stale-ttl are
|
|
||||||
reported.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><userinput>secroots <optional>-</optional> <optional><replaceable>view ...</replaceable></optional></userinput></term>
|
<term><userinput>secroots <optional>-</optional> <optional><replaceable>view ...</replaceable></optional></userinput></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
@@ -799,6 +781,25 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><userinput>serve-stale ( on | off | status | reset ) <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional></userinput></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Enable, disable, or reset the serving of stale answers
|
||||||
|
as configured in named.conf. Serving of stale answers
|
||||||
|
will remain disabled across <filename>named.conf</filename>
|
||||||
|
reloads if disabled via rndc until it is reset via rndc.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Status will report whether serving of stale answers is
|
||||||
|
currently enabled, disabled or not configured for a
|
||||||
|
view. If serving of stale records is configured then
|
||||||
|
the values of stale-answer-ttl and max-stale-ttl are
|
||||||
|
reported.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><userinput>showzone <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional> </userinput></term>
|
<term><userinput>showzone <replaceable>zone</replaceable> <optional><replaceable>class</replaceable> <optional><replaceable>view</replaceable></optional></optional> </userinput></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
@@ -1049,7 +1050,7 @@
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><userinput>validation ( on | off | check ) <optional><replaceable>view ...</replaceable></optional> </userinput></term>
|
<term><userinput>validation ( on | off | status ) <optional><replaceable>view ...</replaceable></optional> </userinput></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Enable, disable, or check the current status of
|
Enable, disable, or check the current status of
|
||||||
|
|||||||
+19
-19
@@ -1,6 +1,6 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
<!--
|
<!--
|
||||||
- Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
|
- Copyright (C) 2000, 2001, 2004, 2005, 2007, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
-
|
-
|
||||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
- 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
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -555,7 +555,7 @@
|
|||||||
and <code class="option">-f</code>.
|
and <code class="option">-f</code>.
|
||||||
</p>
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><span class="term"><strong class="userinput"><code>querylog</code></strong> [<span class="optional">on|off</span>] </span></dt>
|
<dt><span class="term"><strong class="userinput"><code>querylog</code></strong> [<span class="optional"> on | off </span>] </span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<p>
|
<p>
|
||||||
Enable or disable query logging. (For backward
|
Enable or disable query logging. (For backward
|
||||||
@@ -638,22 +638,6 @@
|
|||||||
<span class="command"><strong>interface-interval</strong></span> timer.
|
<span class="command"><strong>interface-interval</strong></span> timer.
|
||||||
</p>
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><span class="term"><strong class="userinput"><code>serve-stale ( on | off | reset | status) [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
|
|
||||||
<dd>
|
|
||||||
<p>
|
|
||||||
Enable, disable, or reset the serving of stale answers
|
|
||||||
as configured in named.conf. Serving of stale answers
|
|
||||||
will remain disabled across <code class="filename">named.conf</code>
|
|
||||||
reloads if disabled via rndc until it is reset via rndc.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Status will report whether serving of stale answers is
|
|
||||||
currently enabled, disabled or not configured for a
|
|
||||||
view. If serving of stale records is configured then
|
|
||||||
the values of stale-answer-ttl and max-stale-ttl are
|
|
||||||
reported.
|
|
||||||
</p>
|
|
||||||
</dd>
|
|
||||||
<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>
|
<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>
|
<dd>
|
||||||
<p>
|
<p>
|
||||||
@@ -680,6 +664,22 @@
|
|||||||
See also <span class="command"><strong>rndc managed-keys</strong></span>.
|
See also <span class="command"><strong>rndc managed-keys</strong></span>.
|
||||||
</p>
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
|
<dt><span class="term"><strong class="userinput"><code>serve-stale ( on | off | status | reset ) [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
|
||||||
|
<dd>
|
||||||
|
<p>
|
||||||
|
Enable, disable, or reset the serving of stale answers
|
||||||
|
as configured in named.conf. Serving of stale answers
|
||||||
|
will remain disabled across <code class="filename">named.conf</code>
|
||||||
|
reloads if disabled via rndc until it is reset via rndc.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Status will report whether serving of stale answers is
|
||||||
|
currently enabled, disabled or not configured for a
|
||||||
|
view. If serving of stale records is configured then
|
||||||
|
the values of stale-answer-ttl and max-stale-ttl are
|
||||||
|
reported.
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
<dt><span class="term"><strong class="userinput"><code>showzone <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>] </code></strong></span></dt>
|
<dt><span class="term"><strong class="userinput"><code>showzone <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>] </code></strong></span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<p>
|
<p>
|
||||||
@@ -890,7 +890,7 @@
|
|||||||
TKEY-negotiated keys.
|
TKEY-negotiated keys.
|
||||||
</p>
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><span class="term"><strong class="userinput"><code>validation ( on | off | check ) [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>] </code></strong></span></dt>
|
<dt><span class="term"><strong class="userinput"><code>validation ( on | off | status ) [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>] </code></strong></span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<p>
|
<p>
|
||||||
Enable, disable, or check the current status of
|
Enable, disable, or check the current status of
|
||||||
|
|||||||
+35
-1
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2001, 2002, 2004, 2005, 2007, 2009-2011, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2001, 2002, 2004, 2005, 2007, 2009-2011, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
#include <isc/string.h>
|
#include <isc/string.h>
|
||||||
#include <isc/util.h>
|
#include <isc/util.h>
|
||||||
|
|
||||||
|
#include <isccfg/grammar.h>
|
||||||
#include <isccfg/namedconf.h>
|
#include <isccfg/namedconf.h>
|
||||||
|
|
||||||
#include <dns/log.h>
|
#include <dns/log.h>
|
||||||
@@ -64,6 +65,7 @@ main(int argc, char **argv) {
|
|||||||
isc_boolean_t grammar = ISC_FALSE;
|
isc_boolean_t grammar = ISC_FALSE;
|
||||||
isc_boolean_t memstats = ISC_FALSE;
|
isc_boolean_t memstats = ISC_FALSE;
|
||||||
char *filename = NULL;
|
char *filename = NULL;
|
||||||
|
unsigned int zonetype = 0;
|
||||||
|
|
||||||
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
|
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
|
||||||
|
|
||||||
@@ -97,6 +99,36 @@ main(int argc, char **argv) {
|
|||||||
while (argc > 1) {
|
while (argc > 1) {
|
||||||
if (strcmp(argv[1], "--grammar") == 0) {
|
if (strcmp(argv[1], "--grammar") == 0) {
|
||||||
grammar = ISC_TRUE;
|
grammar = ISC_TRUE;
|
||||||
|
} else if (strcmp(argv[1], "--zonegrammar") == 0) {
|
||||||
|
argv++, argc--;
|
||||||
|
if (argc <= 1) {
|
||||||
|
usage();
|
||||||
|
}
|
||||||
|
if (strcmp(argv[1], "master") == 0 ||
|
||||||
|
strcmp(argv[1], "primary") == 0)
|
||||||
|
{
|
||||||
|
zonetype = CFG_ZONE_MASTER;
|
||||||
|
} else if (strcmp(argv[1], "slave") == 0 ||
|
||||||
|
strcmp(argv[1], "seconary") == 0)
|
||||||
|
{
|
||||||
|
zonetype = CFG_ZONE_SLAVE;
|
||||||
|
} else if (strcmp(argv[1], "stub") == 0) {
|
||||||
|
zonetype = CFG_ZONE_STUB;
|
||||||
|
} else if (strcmp(argv[1], "static-stub") == 0) {
|
||||||
|
zonetype = CFG_ZONE_STATICSTUB;
|
||||||
|
} else if (strcmp(argv[1], "hint") == 0) {
|
||||||
|
zonetype = CFG_ZONE_HINT;
|
||||||
|
} else if (strcmp(argv[1], "forward") == 0) {
|
||||||
|
zonetype = CFG_ZONE_FORWARD;
|
||||||
|
} else if (strcmp(argv[1], "redirect") == 0) {
|
||||||
|
zonetype = CFG_ZONE_REDIRECT;
|
||||||
|
} else if (strcmp(argv[1], "delegation-only") == 0) {
|
||||||
|
zonetype = CFG_ZONE_DELEGATION;
|
||||||
|
} else if (strcmp(argv[1], "in-view") == 0) {
|
||||||
|
zonetype = CFG_ZONE_INVIEW;
|
||||||
|
} else {
|
||||||
|
usage();
|
||||||
|
}
|
||||||
} else if (strcmp(argv[1], "--memstats") == 0) {
|
} else if (strcmp(argv[1], "--memstats") == 0) {
|
||||||
memstats = ISC_TRUE;
|
memstats = ISC_TRUE;
|
||||||
} else if (strcmp(argv[1], "--named") == 0) {
|
} else if (strcmp(argv[1], "--named") == 0) {
|
||||||
@@ -115,6 +147,8 @@ main(int argc, char **argv) {
|
|||||||
if (type == NULL)
|
if (type == NULL)
|
||||||
usage();
|
usage();
|
||||||
cfg_print_grammar(type, output, NULL);
|
cfg_print_grammar(type, output, NULL);
|
||||||
|
} else if (zonetype != 0) {
|
||||||
|
cfg_print_zonegrammar(zonetype, output, NULL);
|
||||||
} else {
|
} else {
|
||||||
if (type == NULL || filename == NULL)
|
if (type == NULL || filename == NULL)
|
||||||
usage();
|
usage();
|
||||||
|
|||||||
+13
-13
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1999-2001, 2004, 2005, 2007, 2009, 2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1999-2001, 2004, 2005, 2007, 2009, 2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -54,19 +54,19 @@ use(dst_key_t *key, isc_mem_t *mctx) {
|
|||||||
ret = dst_context_create3(key, mctx,
|
ret = dst_context_create3(key, mctx,
|
||||||
DNS_LOGCATEGORY_GENERAL, ISC_TRUE, &ctx);
|
DNS_LOGCATEGORY_GENERAL, ISC_TRUE, &ctx);
|
||||||
if (ret != ISC_R_SUCCESS) {
|
if (ret != ISC_R_SUCCESS) {
|
||||||
printf("contextcreate(%d) returned: %s\n", dst_key_alg(key),
|
printf("contextcreate(%u) returned: %s\n", dst_key_alg(key),
|
||||||
isc_result_totext(ret));
|
isc_result_totext(ret));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ret = dst_context_adddata(ctx, &datareg);
|
ret = dst_context_adddata(ctx, &datareg);
|
||||||
if (ret != ISC_R_SUCCESS) {
|
if (ret != ISC_R_SUCCESS) {
|
||||||
printf("adddata(%d) returned: %s\n", dst_key_alg(key),
|
printf("adddata(%u) returned: %s\n", dst_key_alg(key),
|
||||||
isc_result_totext(ret));
|
isc_result_totext(ret));
|
||||||
dst_context_destroy(&ctx);
|
dst_context_destroy(&ctx);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ret = dst_context_sign(ctx, &sigbuf);
|
ret = dst_context_sign(ctx, &sigbuf);
|
||||||
printf("sign(%d) returned: %s\n", dst_key_alg(key),
|
printf("sign(%u) returned: %s\n", dst_key_alg(key),
|
||||||
isc_result_totext(ret));
|
isc_result_totext(ret));
|
||||||
dst_context_destroy(&ctx);
|
dst_context_destroy(&ctx);
|
||||||
|
|
||||||
@@ -75,19 +75,19 @@ use(dst_key_t *key, isc_mem_t *mctx) {
|
|||||||
ret = dst_context_create3(key, mctx,
|
ret = dst_context_create3(key, mctx,
|
||||||
DNS_LOGCATEGORY_GENERAL, ISC_FALSE, &ctx);
|
DNS_LOGCATEGORY_GENERAL, ISC_FALSE, &ctx);
|
||||||
if (ret != ISC_R_SUCCESS) {
|
if (ret != ISC_R_SUCCESS) {
|
||||||
printf("contextcreate(%d) returned: %s\n", dst_key_alg(key),
|
printf("contextcreate(%u) returned: %s\n", dst_key_alg(key),
|
||||||
isc_result_totext(ret));
|
isc_result_totext(ret));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ret = dst_context_adddata(ctx, &datareg);
|
ret = dst_context_adddata(ctx, &datareg);
|
||||||
if (ret != ISC_R_SUCCESS) {
|
if (ret != ISC_R_SUCCESS) {
|
||||||
printf("adddata(%d) returned: %s\n", dst_key_alg(key),
|
printf("adddata(%u) returned: %s\n", dst_key_alg(key),
|
||||||
isc_result_totext(ret));
|
isc_result_totext(ret));
|
||||||
dst_context_destroy(&ctx);
|
dst_context_destroy(&ctx);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ret = dst_context_verify(ctx, &sigreg);
|
ret = dst_context_verify(ctx, &sigreg);
|
||||||
printf("verify(%d) returned: %s\n", dst_key_alg(key),
|
printf("verify(%u) returned: %s\n", dst_key_alg(key),
|
||||||
isc_result_totext(ret));
|
isc_result_totext(ret));
|
||||||
dst_context_destroy(&ctx);
|
dst_context_destroy(&ctx);
|
||||||
}
|
}
|
||||||
@@ -104,19 +104,19 @@ dns(dst_key_t *key, isc_mem_t *mctx) {
|
|||||||
|
|
||||||
isc_buffer_init(&buf1, buffer1, sizeof(buffer1));
|
isc_buffer_init(&buf1, buffer1, sizeof(buffer1));
|
||||||
ret = dst_key_todns(key, &buf1);
|
ret = dst_key_todns(key, &buf1);
|
||||||
printf("todns(%d) returned: %s\n", dst_key_alg(key),
|
printf("todns(%u) returned: %s\n", dst_key_alg(key),
|
||||||
isc_result_totext(ret));
|
isc_result_totext(ret));
|
||||||
if (ret != ISC_R_SUCCESS)
|
if (ret != ISC_R_SUCCESS)
|
||||||
return;
|
return;
|
||||||
ret = dst_key_fromdns(dst_key_name(key), dns_rdataclass_in,
|
ret = dst_key_fromdns(dst_key_name(key), dns_rdataclass_in,
|
||||||
&buf1, mctx, &newkey);
|
&buf1, mctx, &newkey);
|
||||||
printf("fromdns(%d) returned: %s\n", dst_key_alg(key),
|
printf("fromdns(%u) returned: %s\n", dst_key_alg(key),
|
||||||
isc_result_totext(ret));
|
isc_result_totext(ret));
|
||||||
if (ret != ISC_R_SUCCESS)
|
if (ret != ISC_R_SUCCESS)
|
||||||
return;
|
return;
|
||||||
isc_buffer_init(&buf2, buffer2, sizeof(buffer2));
|
isc_buffer_init(&buf2, buffer2, sizeof(buffer2));
|
||||||
ret = dst_key_todns(newkey, &buf2);
|
ret = dst_key_todns(newkey, &buf2);
|
||||||
printf("todns2(%d) returned: %s\n", dst_key_alg(key),
|
printf("todns2(%u) returned: %s\n", dst_key_alg(key),
|
||||||
isc_result_totext(ret));
|
isc_result_totext(ret));
|
||||||
if (ret != ISC_R_SUCCESS)
|
if (ret != ISC_R_SUCCESS)
|
||||||
return;
|
return;
|
||||||
@@ -124,7 +124,7 @@ dns(dst_key_t *key, isc_mem_t *mctx) {
|
|||||||
isc_buffer_usedregion(&buf2, &r2);
|
isc_buffer_usedregion(&buf2, &r2);
|
||||||
match = ISC_TF(r1.length == r2.length &&
|
match = ISC_TF(r1.length == r2.length &&
|
||||||
memcmp(r1.base, r2.base, r1.length) == 0);
|
memcmp(r1.base, r2.base, r1.length) == 0);
|
||||||
printf("compare(%d): %s\n", dst_key_alg(key),
|
printf("compare(%u): %s\n", dst_key_alg(key),
|
||||||
match ? "true" : "false");
|
match ? "true" : "false");
|
||||||
dst_key_free(&newkey);
|
dst_key_free(&newkey);
|
||||||
}
|
}
|
||||||
@@ -194,11 +194,11 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx) {
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
printf("secrets don't match\n");
|
printf("secrets don't match\n");
|
||||||
printf("secret 1: %d bytes\n", r1.length);
|
printf("secret 1: %u bytes\n", r1.length);
|
||||||
for (i = 0; i < (int) r1.length; i++)
|
for (i = 0; i < (int) r1.length; i++)
|
||||||
printf("%02x ", r1.base[i]);
|
printf("%02x ", r1.base[i]);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("secret 2: %d bytes\n", r2.length);
|
printf("secret 2: %u bytes\n", r2.length);
|
||||||
for (i = 0; i < (int) r2.length; i++)
|
for (i = 0; i < (int) r2.length; i++)
|
||||||
printf("%02x ", r2.base[i]);
|
printf("%02x ", r2.base[i]);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -31,7 +31,7 @@ hex_dump(const char *msg, void *data, unsigned int length) {
|
|||||||
|
|
||||||
base = data;
|
base = data;
|
||||||
|
|
||||||
printf("DUMP of %d bytes: %s\n\t", length, msg);
|
printf("DUMP of %u bytes: %s\n\t", length, msg);
|
||||||
for (len = 0; len < length; len++) {
|
for (len = 0; len < length; len++) {
|
||||||
if (len % 16 == 0 && !first)
|
if (len % 16 == 0 && !first)
|
||||||
printf("\n\t");
|
printf("\n\t");
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -29,7 +29,7 @@ hex_dump(const char *msg, void *data, unsigned int length) {
|
|||||||
|
|
||||||
base = data;
|
base = data;
|
||||||
|
|
||||||
printf("DUMP of %d bytes: %s\n\t", length, msg);
|
printf("DUMP of %u bytes: %s\n\t", length, msg);
|
||||||
for (len = 0; len < length; len++) {
|
for (len = 0; len < length; len++) {
|
||||||
if (len % 16 == 0 && !first)
|
if (len % 16 == 0 && !first)
|
||||||
printf("\n\t");
|
printf("\n\t");
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2012, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000, 2001, 2004, 2005, 2007, 2012, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -54,11 +54,11 @@ main(void) {
|
|||||||
ISC_FSACCESS_READ | ISC_FSACCESS_WRITE,
|
ISC_FSACCESS_READ | ISC_FSACCESS_WRITE,
|
||||||
&access);
|
&access);
|
||||||
|
|
||||||
printf("fsaccess=%d\n", access);
|
printf("fsaccess=%u\n", access);
|
||||||
|
|
||||||
isc_fsaccess_add(ISC_FSACCESS_OTHER, ISC_FSACCESS_READ, &access);
|
isc_fsaccess_add(ISC_FSACCESS_OTHER, ISC_FSACCESS_READ, &access);
|
||||||
|
|
||||||
printf("fsaccess=%d\n", access);
|
printf("fsaccess=%u\n", access);
|
||||||
|
|
||||||
result = isc_fsaccess_set(PATH, access);
|
result = isc_fsaccess_set(PATH, access);
|
||||||
if (result != ISC_R_SUCCESS)
|
if (result != ISC_R_SUCCESS)
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2000, 2001, 2003-2005, 2007, 2008, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 2000, 2001, 2003-2005, 2007, 2008, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* 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/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: inter_test.c,v 1.16 2008/03/20 23:47:00 tbox Exp $ */
|
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -42,7 +40,7 @@ main(int argc, char **argv) {
|
|||||||
isc_result_totext(result));
|
isc_result_totext(result));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
fprintf(stdout, "%s %d %x\n", ifdata.name, ifdata.af,
|
fprintf(stdout, "%s %u %x\n", ifdata.name, ifdata.af,
|
||||||
ifdata.flags);
|
ifdata.flags);
|
||||||
INSIST(ifdata.af == AF_INET || ifdata.af == AF_INET6);
|
INSIST(ifdata.af == AF_INET || ifdata.af == AF_INET6);
|
||||||
res = inet_ntop(ifdata.af, &ifdata.address.type, buf,
|
res = inet_ntop(ifdata.af, &ifdata.address.type, buf,
|
||||||
@@ -89,7 +87,7 @@ main(int argc, char **argv) {
|
|||||||
isc_result_totext(result));
|
isc_result_totext(result));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
fprintf(stdout, "%s %d %x\n", ifdata.name, ifdata.af,
|
fprintf(stdout, "%s %u %x\n", ifdata.name, ifdata.af,
|
||||||
ifdata.flags);
|
ifdata.flags);
|
||||||
INSIST(ifdata.af == AF_INET || ifdata.af == AF_INET6);
|
INSIST(ifdata.af == AF_INET || ifdata.af == AF_INET6);
|
||||||
res = inet_ntop(ifdata.af, &ifdata.address.type, buf,
|
res = inet_ntop(ifdata.af, &ifdata.address.type, buf,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1999-2001, 2004, 2007, 2009, 2013, 2016 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1999-2001, 2004, 2007, 2009, 2013, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -170,7 +170,7 @@ memtest(void) {
|
|||||||
|
|
||||||
isc_mem_destroy(&mctx);
|
isc_mem_destroy(&mctx);
|
||||||
|
|
||||||
return(0);
|
return(nfails);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *a1 =
|
static const char *a1 =
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1998-2001, 2003-2005, 2007, 2009, 2015-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1998-2001, 2003-2005, 2007, 2009, 2015-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* 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/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: name_test.c,v 1.43 2009/09/02 23:48:01 tbox Exp $ */
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -123,8 +121,8 @@ main(int argc, char *argv[]) {
|
|||||||
dns_rootname, 0, NULL);
|
dns_rootname, 0, NULL);
|
||||||
if (result != 0) {
|
if (result != 0) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"dns_name_fromtext() failed: %d\n",
|
"dns_name_fromtext() failed: %s\n",
|
||||||
result);
|
dns_result_totext(result));
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
origin = &oname.name;
|
origin = &oname.name;
|
||||||
@@ -147,8 +145,8 @@ main(int argc, char *argv[]) {
|
|||||||
0, NULL);
|
0, NULL);
|
||||||
if (result != 0) {
|
if (result != 0) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"dns_name_fromtext() failed: %d\n",
|
"dns_name_fromtext() failed: %s\n",
|
||||||
result);
|
dns_result_totext(result));
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1998-2001, 2003-2005, 2007, 2009, 2011-2013, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1998-2001, 2003-2005, 2007, 2009, 2011-2013, 2015, 2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -33,9 +33,9 @@ char *Tokens[T_MAXTOKS];
|
|||||||
|
|
||||||
static int
|
static int
|
||||||
t_dns_rbtnodechain_init(char *dbfile, char *findname,
|
t_dns_rbtnodechain_init(char *dbfile, char *findname,
|
||||||
char *firstname, char *firstorigin,
|
|
||||||
char *nextname, char *nextorigin,
|
char *nextname, char *nextorigin,
|
||||||
char *prevname, char *prevorigin,
|
char *prevname, char *prevorigin,
|
||||||
|
char *firstname, char *firstorigin,
|
||||||
char *lastname, char *lastorigin);
|
char *lastname, char *lastorigin);
|
||||||
static char *
|
static char *
|
||||||
fixedname_totext(dns_fixedname_t *name);
|
fixedname_totext(dns_fixedname_t *name);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1999-2001, 2004, 2005, 2007, 2009, 2011, 2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1999-2001, 2004, 2005, 2007, 2009, 2011, 2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -177,7 +177,7 @@ detail(dns_rbt_t *rbt, dns_name_t *name) {
|
|||||||
printf("\n result from dns_rbtnodechain_current: %s\n",
|
printf("\n result from dns_rbtnodechain_current: %s\n",
|
||||||
dns_result_totext(result));
|
dns_result_totext(result));
|
||||||
|
|
||||||
printf(" level_matches = %d, level_count = %d\n",
|
printf(" level_matches = %u, level_count = %u\n",
|
||||||
chain.level_matches, chain.level_count);
|
chain.level_matches, chain.level_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1998-2001, 2004, 2005, 2007, 2013, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1998-2001, 2004, 2005, 2007, 2013, 2016-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -104,7 +104,7 @@ main(int argc, char *argv[]) {
|
|||||||
nworkers = 2;
|
nworkers = 2;
|
||||||
if (nworkers > 100)
|
if (nworkers > 100)
|
||||||
nworkers = 100;
|
nworkers = 100;
|
||||||
printf("%d workers\n", nworkers);
|
printf("%u workers\n", nworkers);
|
||||||
|
|
||||||
RUNTIME_CHECK(isc_rwlock_init(&lock, 5, 10) == ISC_R_SUCCESS);
|
RUNTIME_CHECK(isc_rwlock_init(&lock, 5, 10) == ISC_R_SUCCESS);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1998-2001, 2004, 2007, 2011, 2013, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1998-2001, 2004, 2007, 2011, 2013, 2016-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -139,7 +139,7 @@ new_task(isc_mem_t *mctx, const char *name) {
|
|||||||
INSIST(strlen(name) < sizeof(ti->name));
|
INSIST(strlen(name) < sizeof(ti->name));
|
||||||
strlcpy(ti->name, name, sizeof(ti->name));
|
strlcpy(ti->name, name, sizeof(ti->name));
|
||||||
} else {
|
} else {
|
||||||
snprintf(ti->name, sizeof(ti->name), "%d", task_count);
|
snprintf(ti->name, sizeof(ti->name), "%u", task_count);
|
||||||
}
|
}
|
||||||
RUNTIME_CHECK(isc_task_create(task_manager, 0, &ti->task) ==
|
RUNTIME_CHECK(isc_task_create(task_manager, 0, &ti->task) ==
|
||||||
ISC_R_SUCCESS);
|
ISC_R_SUCCESS);
|
||||||
@@ -175,7 +175,7 @@ main(int argc, char *argv[]) {
|
|||||||
workers = 8192;
|
workers = 8192;
|
||||||
} else
|
} else
|
||||||
workers = 2;
|
workers = 2;
|
||||||
printf("%d workers\n", workers);
|
printf("%u workers\n", workers);
|
||||||
|
|
||||||
mctx = NULL;
|
mctx = NULL;
|
||||||
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
|
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 1998-2001, 2004, 2007, 2008, 2012-2017 Internet Systems Consortium, Inc. ("ISC")
|
* Copyright (C) 1998-2001, 2004, 2007, 2008, 2012-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
*
|
*
|
||||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
* 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
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -42,8 +42,8 @@ my_send(isc_task_t *task, isc_event_t *event) {
|
|||||||
sock = event->ev_sender;
|
sock = event->ev_sender;
|
||||||
dev = (isc_socketevent_t *)event;
|
dev = (isc_socketevent_t *)event;
|
||||||
|
|
||||||
printf("my_send: %s task %p\n\t(sock %p, base %p, length %d, n %d, "
|
printf("my_send: %s task %p\n\t(sock %p, base %p, length %u, n %u, "
|
||||||
"result %d)\n",
|
"result %u)\n",
|
||||||
(char *)(event->ev_arg), task, sock,
|
(char *)(event->ev_arg), task, sock,
|
||||||
dev->region.base, dev->region.length,
|
dev->region.base, dev->region.length,
|
||||||
dev->n, dev->result);
|
dev->n, dev->result);
|
||||||
@@ -70,7 +70,7 @@ my_recv(isc_task_t *task, isc_event_t *event) {
|
|||||||
sock = event->ev_sender;
|
sock = event->ev_sender;
|
||||||
dev = (isc_socketevent_t *)event;
|
dev = (isc_socketevent_t *)event;
|
||||||
|
|
||||||
printf("Socket %s (sock %p, base %p, length %d, n %d, result %d)\n",
|
printf("Socket %s (sock %p, base %p, length %u, n %u, result %u)\n",
|
||||||
(char *)(event->ev_arg), sock,
|
(char *)(event->ev_arg), sock,
|
||||||
dev->region.base, dev->region.length,
|
dev->region.base, dev->region.length,
|
||||||
dev->n, dev->result);
|
dev->n, dev->result);
|
||||||
@@ -130,8 +130,8 @@ my_http_get(isc_task_t *task, isc_event_t *event) {
|
|||||||
sock = event->ev_sender;
|
sock = event->ev_sender;
|
||||||
dev = (isc_socketevent_t *)event;
|
dev = (isc_socketevent_t *)event;
|
||||||
|
|
||||||
printf("my_http_get: %s task %p\n\t(sock %p, base %p, length %d, "
|
printf("my_http_get: %s task %p\n\t(sock %p, base %p, length %u, "
|
||||||
"n %d, result %d)\n",
|
"n %u, result %u)\n",
|
||||||
(char *)(event->ev_arg), task, sock,
|
(char *)(event->ev_arg), task, sock,
|
||||||
dev->region.base, dev->region.length,
|
dev->region.base, dev->region.length,
|
||||||
dev->n, dev->result);
|
dev->n, dev->result);
|
||||||
@@ -160,7 +160,7 @@ my_connect(isc_task_t *task, isc_event_t *event) {
|
|||||||
sock = event->ev_sender;
|
sock = event->ev_sender;
|
||||||
dev = (isc_socket_connev_t *)event;
|
dev = (isc_socket_connev_t *)event;
|
||||||
|
|
||||||
printf("%s: Connection result: %d\n", (char *)(event->ev_arg),
|
printf("%s: Connection result: %u\n", (char *)(event->ev_arg),
|
||||||
dev->result);
|
dev->result);
|
||||||
|
|
||||||
if (dev->result != ISC_R_SUCCESS) {
|
if (dev->result != ISC_R_SUCCESS) {
|
||||||
@@ -200,7 +200,7 @@ my_listen(isc_task_t *task, isc_event_t *event) {
|
|||||||
|
|
||||||
dev = (isc_socket_newconnev_t *)event;
|
dev = (isc_socket_newconnev_t *)event;
|
||||||
|
|
||||||
printf("newcon %s (task %p, oldsock %p, newsock %p, result %d)\n",
|
printf("newcon %s (task %p, oldsock %p, newsock %p, result %u)\n",
|
||||||
name, task, event->ev_sender, dev->newsocket, dev->result);
|
name, task, event->ev_sender, dev->newsocket, dev->result);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
@@ -279,7 +279,7 @@ main(int argc, char *argv[]) {
|
|||||||
workers = 8192;
|
workers = 8192;
|
||||||
} else
|
} else
|
||||||
workers = 2;
|
workers = 2;
|
||||||
printf("%d workers\n", workers);
|
printf("%u workers\n", workers);
|
||||||
|
|
||||||
if (isc_net_probeipv6() == ISC_R_SUCCESS)
|
if (isc_net_probeipv6() == ISC_R_SUCCESS)
|
||||||
pf = PF_INET6;
|
pf = PF_INET6;
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
redirect.db
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
; 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/.
|
||||||
|
|
||||||
|
@ SOA ns3 hostmaster 0 0 0 0 0
|
||||||
|
@ NS ns3
|
||||||
|
ns3 A 10.53.0.3
|
||||||
@@ -672,5 +672,31 @@ n=`expr $n + 1`
|
|||||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
if ! $FEATURETEST --with-lmdb
|
||||||
|
then
|
||||||
|
echo "I:check that addzone is fully reversed on failure (--with-lmdb=no) ($n)"
|
||||||
|
ret=0
|
||||||
|
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone "test1.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
|
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone "test2.baz" '{ type master; file "dne.db"; };' > /dev/null 2>&1 && ret=1
|
||||||
|
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone "test3.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
|
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 delzone "test3.baz" > /dev/null 2>&1 || ret=1
|
||||||
|
grep test2.baz ns3/_default.nzf > /dev/null && ret=1
|
||||||
|
n=`expr $n + 1`
|
||||||
|
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "I:check that named restarts with multiple added zones ($n)"
|
||||||
|
ret=0
|
||||||
|
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone "test4.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
|
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 addzone "test5.baz" '{ type master; file "e.db"; };' > /dev/null 2>&1 || ret=1
|
||||||
|
$PERL $SYSTEMTESTTOP/stop.pl . ns3
|
||||||
|
$PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns3 || ret=1
|
||||||
|
$DIG -p 5300 @10.53.0.3 version.bind txt ch > dig.out.test$n || ret=1
|
||||||
|
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
|
||||||
|
n=`expr $n + 1`
|
||||||
|
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo "I:exit status: $status"
|
echo "I:exit status: $status"
|
||||||
[ $status -eq 0 ] || exit 1
|
[ $status -eq 0 ] || exit 1
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
# Copyright (C) 2018 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/.
|
||||||
|
|
||||||
|
rm -f */named.memstats
|
||||||
|
rm -f */named.run
|
||||||
|
rm -f dig.out.test*
|
||||||
|
rm -f ns2/example.com.bk
|
||||||
|
rm -f ns2/example.net.bk
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
; Copyright (C) 2018 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 300 ; 5 minutes
|
||||||
|
@ IN SOA ns root (
|
||||||
|
2018010100 ; serial
|
||||||
|
1800 ; refresh (30 minutes)
|
||||||
|
1800 ; retry (30 minutes)
|
||||||
|
1814400 ; expire (3 weeks)
|
||||||
|
3600 ; minimum (1 hour)
|
||||||
|
)
|
||||||
|
NS ns
|
||||||
|
ns A 10.53.0.1
|
||||||
|
www CNAME server.example.net.
|
||||||
|
inzone CNAME a.example.com.
|
||||||
|
a A 10.53.0.1
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
; Copyright (C) 2018 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 300 ; 5 minutes
|
||||||
|
@ IN SOA ns root (
|
||||||
|
2018010100 ; serial
|
||||||
|
1800 ; refresh (30 minutes)
|
||||||
|
1800 ; retry (30 minutes)
|
||||||
|
1814400 ; expire (3 weeks)
|
||||||
|
3600 ; minimum (1 hour)
|
||||||
|
)
|
||||||
|
NS ns
|
||||||
|
ns A 10.53.0.1
|
||||||
|
server A 10.53.0.100
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
controls { /* empty */ };
|
||||||
|
|
||||||
|
options {
|
||||||
|
query-source address 10.53.0.1;
|
||||||
|
notify-source 10.53.0.1;
|
||||||
|
transfer-source 10.53.0.1;
|
||||||
|
port 5300;
|
||||||
|
pid-file "named.pid";
|
||||||
|
listen-on { 10.53.0.1; };
|
||||||
|
listen-on-v6 { none; };
|
||||||
|
recursion no;
|
||||||
|
notify yes;
|
||||||
|
};
|
||||||
|
|
||||||
|
zone example.net {
|
||||||
|
type master;
|
||||||
|
file "example.net.db";
|
||||||
|
};
|
||||||
|
|
||||||
|
zone example.com {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
};
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
controls { /* empty */ };
|
||||||
|
|
||||||
|
options {
|
||||||
|
query-source address 10.53.0.2;
|
||||||
|
notify-source 10.53.0.2;
|
||||||
|
transfer-source 10.53.0.2;
|
||||||
|
port 5300;
|
||||||
|
pid-file "named.pid";
|
||||||
|
listen-on { 10.53.0.2; };
|
||||||
|
listen-on-v6 { none; };
|
||||||
|
recursion yes;
|
||||||
|
notify no;
|
||||||
|
};
|
||||||
|
|
||||||
|
zone example.net {
|
||||||
|
type slave;
|
||||||
|
masters { 10.53.0.1; };
|
||||||
|
file "example.net.bk";
|
||||||
|
};
|
||||||
|
|
||||||
|
zone example.com {
|
||||||
|
type slave;
|
||||||
|
masters { 10.53.0.1; };
|
||||||
|
file "example.com.bk";
|
||||||
|
};
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (C) 2018 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/.
|
||||||
|
|
||||||
|
SYSTEMTESTTOP=..
|
||||||
|
. $SYSTEMTESTTOP/conf.sh
|
||||||
|
|
||||||
|
DIGOPTS="+tcp"
|
||||||
|
|
||||||
|
status=0
|
||||||
|
n=0
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:wait for zones to finish transfering to ns2 ($n)"
|
||||||
|
for i in 1 2 3 4 5 6 7 8 9 10
|
||||||
|
do
|
||||||
|
ret=0
|
||||||
|
for zone in example.com example.net
|
||||||
|
do
|
||||||
|
$DIG $DIGOPTS -p 5300 @10.53.0.2 soa $zone > dig.out.test$n || ret=1
|
||||||
|
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
|
||||||
|
done
|
||||||
|
[ $ret -eq 0 ] && break
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
[ $ret -eq 0 ] || echo "I:failed"
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
#
|
||||||
|
# If recursion is unrequested or unavailable, then cross-zone CNAME records
|
||||||
|
# should not be followed. If both requested and available, they should be.
|
||||||
|
#
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:check that cross-zone CNAME record does not return target data (rd=0/ra=0) ($n)"
|
||||||
|
ret=0
|
||||||
|
$DIG $DIGOPTS +norec -p 5300 @10.53.0.1 www.example.com > dig.out.test$n || ret=1
|
||||||
|
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "flags: qr aa;" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "www.example.com.*CNAME.*server.example.net" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "server.example.net.*A.*10.53.0.100" dig.out.test$n > /dev/null && ret=1
|
||||||
|
[ $ret -eq 0 ] || echo "I:failed"
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:check that cross-zone CNAME record does not return target data (rd=1/ra=0) ($n)"
|
||||||
|
ret=0
|
||||||
|
$DIG $DIGOPTS +rec -p 5300 @10.53.0.1 www.example.com > dig.out.test$n || ret=1
|
||||||
|
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "flags: qr aa rd;" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "www.example.com.*CNAME.*server.example.net" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "server.example.net.*A.*10.53.0.100" dig.out.test$n > /dev/null && ret=1
|
||||||
|
[ $ret -eq 0 ] || echo "I:failed"
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:check that cross-zone CNAME record does not return target data (rd=0/ra=1) ($n)"
|
||||||
|
ret=0
|
||||||
|
$DIG $DIGOPTS +norec -p 5300 @10.53.0.2 www.example.com > dig.out.test$n || ret=1
|
||||||
|
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "flags: qr aa ra;" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "www.example.com.*CNAME.*server.example.net" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "server.example.net.*A.*10.53.0.100" dig.out.test$n > /dev/null && ret=1
|
||||||
|
[ $ret -eq 0 ] || echo "I:failed"
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:check that cross-zone CNAME records returns target data (rd=1/ra=1) ($n)"
|
||||||
|
ret=0
|
||||||
|
$DIG $DIGOPTS -p 5300 @10.53.0.2 www.example.com > dig.out.test$n || ret=1
|
||||||
|
grep "ANSWER: 2," dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "flags: qr aa rd ra;" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "www.example.com.*CNAME.*server.example.net" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "server.example.net.*A.*10.53.0.100" dig.out.test$n > /dev/null || ret=1
|
||||||
|
[ $ret -eq 0 ] || echo "I:failed"
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
#
|
||||||
|
# In-zone CNAME records should always be followed regardless of RD and RA.
|
||||||
|
#
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:check that in-zone CNAME records returns target data (rd=0/ra=0) ($n)"
|
||||||
|
ret=0
|
||||||
|
$DIG $DIGOPTS +norec -p 5300 @10.53.0.1 inzone.example.com > dig.out.test$n || ret=1
|
||||||
|
grep "ANSWER: 2," dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "flags: qr aa;" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "inzone.example.com.*CNAME.*a.example.com" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "a.example.com.*A.*10.53.0.1" dig.out.test$n > /dev/null || ret=1
|
||||||
|
[ $ret -eq 0 ] || echo "I:failed"
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:check that in-zone CNAME records returns target data (rd=1/ra=0) ($n)"
|
||||||
|
ret=0
|
||||||
|
$DIG $DIGOPTS +rec -p 5300 @10.53.0.1 inzone.example.com > dig.out.test$n || ret=1
|
||||||
|
grep "ANSWER: 2," dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "flags: qr aa rd;" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "inzone.example.com.*CNAME.*a.example.com" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "a.example.com.*A.*10.53.0.1" dig.out.test$n > /dev/null || ret=1
|
||||||
|
[ $ret -eq 0 ] || echo "I:failed"
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:check that in-zone CNAME records returns target data (rd=0/ra=1) ($n)"
|
||||||
|
ret=0
|
||||||
|
$DIG $DIGOPTS +norec -p 5300 @10.53.0.2 inzone.example.com > dig.out.test$n || ret=1
|
||||||
|
grep "ANSWER: 2," dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "flags: qr aa ra;" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "inzone.example.com.*CNAME.*a.example.com" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "a.example.com.*A.*10.53.0.1" dig.out.test$n > /dev/null || ret=1
|
||||||
|
[ $ret -eq 0 ] || echo "I:failed"
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:check that in-zone CNAME records returns target data (rd=1/ra=1) ($n)"
|
||||||
|
ret=0
|
||||||
|
$DIG $DIGOPTS -p 5300 @10.53.0.2 inzone.example.com > dig.out.test$n || ret=1
|
||||||
|
grep "ANSWER: 2," dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "flags: qr aa rd ra;" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "inzone.example.com.*CNAME.*a.example.com" dig.out.test$n > /dev/null || ret=1
|
||||||
|
grep "a.example.com.*A.*10.53.0.1" dig.out.test$n > /dev/null || ret=1
|
||||||
|
[ $ret -eq 0 ] || echo "I:failed"
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
echo "I:exit status: $status"
|
||||||
|
[ $status -eq 0 ] || exit 1
|
||||||
+163
-12
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh -x
|
#!/bin/sh -x
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
# Copyright (C) 2016-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
#
|
#
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -341,7 +341,7 @@ status=`expr $status + $ret`
|
|||||||
##########################################################################
|
##########################################################################
|
||||||
echo "I:Testing masters suboption and random labels"
|
echo "I:Testing masters suboption and random labels"
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: adding dom5.example with 'masters' suboption set and a random label ($n)"
|
echo "I: adding dom5.example with a valid masters suboption (IP without TSIG) and a random label ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
||||||
server 10.53.0.1 5300
|
server 10.53.0.1 5300
|
||||||
@@ -433,7 +433,7 @@ status=`expr $status + $ret`
|
|||||||
##########################################################################
|
##########################################################################
|
||||||
echo "I:Testing masters global option"
|
echo "I:Testing masters global option"
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: adding dom6.example and global masters option ($n)"
|
echo "I: adding dom6.example and a valid global masters option (IP without TSIG) ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
||||||
server 10.53.0.1 5300
|
server 10.53.0.1 5300
|
||||||
@@ -526,6 +526,77 @@ grep "status: REFUSED" dig.out.test$n > /dev/null || ret=1
|
|||||||
if [ $ret != 0 ]; then echo "I: failed"; fi
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
cur=`awk 'BEGIN {l=0} /^/ {l++} END { print l }' ns2/named.run`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I: adding dom6.example and an invalid global masters option (TSIG without IP) ($n)"
|
||||||
|
ret=0
|
||||||
|
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
||||||
|
server 10.53.0.1 5300
|
||||||
|
update add label1.masters.catalog1.example 3600 IN TXT "tsig_key"
|
||||||
|
update add 4346f565b4d63ddb99e5d2497ff22d04e878e8f8.zones.catalog1.example 3600 IN PTR dom6.example.
|
||||||
|
send
|
||||||
|
END
|
||||||
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I: waiting for slave to sync up ($n)"
|
||||||
|
ret=1
|
||||||
|
try=0
|
||||||
|
while test $try -lt 45
|
||||||
|
do
|
||||||
|
sleep 1
|
||||||
|
sed -n "$cur,"'$p' < ns2/named.run | grep "catz: adding zone 'dom6.example' from catalog 'catalog1.example'" > /dev/null && {
|
||||||
|
ret=0
|
||||||
|
break
|
||||||
|
}
|
||||||
|
try=`expr $try + 1`
|
||||||
|
done
|
||||||
|
if [ $ret = 0 ]; then
|
||||||
|
ret=1
|
||||||
|
try=0
|
||||||
|
while test $try -lt 45
|
||||||
|
do
|
||||||
|
sleep 1
|
||||||
|
sed -n "$cur,"'$p' < ns2/named.run | grep "error .* while trying to generate config for zone \"dom6.example\"" > /dev/null && {
|
||||||
|
|
||||||
|
ret=0
|
||||||
|
break
|
||||||
|
}
|
||||||
|
try=`expr $try + 1`
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I: removing dom6.example ($n)"
|
||||||
|
ret=0
|
||||||
|
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
||||||
|
server 10.53.0.1 5300
|
||||||
|
update delete label1.masters.catalog1.example 3600 IN TXT "tsig_key"
|
||||||
|
update delete 4346f565b4d63ddb99e5d2497ff22d04e878e8f8.zones.catalog1.example 3600 IN PTR dom6.example.
|
||||||
|
send
|
||||||
|
END
|
||||||
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I: waiting for slave to sync up ($n)"
|
||||||
|
ret=1
|
||||||
|
try=0
|
||||||
|
while test $try -lt 45
|
||||||
|
do
|
||||||
|
sleep 1
|
||||||
|
sed -n "$cur,"'$p' < ns2/named.run | grep "catz: deleting zone 'dom6.example' from catalog 'catalog1.example'" > /dev/null && {
|
||||||
|
ret=0
|
||||||
|
break
|
||||||
|
}
|
||||||
|
try=`expr $try + 1`
|
||||||
|
done
|
||||||
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
@@ -769,7 +840,7 @@ status=`expr $status + $ret`
|
|||||||
cur=`awk 'BEGIN {l=0} /^/ {l++} END { print l }' ns2/named.run`
|
cur=`awk 'BEGIN {l=0} /^/ {l++} END { print l }' ns2/named.run`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: adding domain dom9.example to catalog1 zone with masters and tsig key($n)"
|
echo "I: adding domain dom9.example to catalog1 zone with a valid masters suboption (IP with TSIG) ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
||||||
server 10.53.0.1 5300
|
server 10.53.0.1 5300
|
||||||
@@ -819,7 +890,7 @@ if [ $ret != 0 ]; then echo "I: failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: deleting domain dom9.example from catalog1 zone($n)"
|
echo "I: deleting domain dom9.example from catalog1 zone ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
||||||
server 10.53.0.1 5300
|
server 10.53.0.1 5300
|
||||||
@@ -855,6 +926,78 @@ grep "status: REFUSED" dig.out.test$n > /dev/null || ret=1
|
|||||||
if [ $ret != 0 ]; then echo "I: failed"; fi
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
cur=`awk 'BEGIN {l=0} /^/ {l++} END { print l }' ns2/named.run`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I: adding domain dom9.example to catalog1 zone with an invalid masters suboption (TSIG without IP) ($n)"
|
||||||
|
ret=0
|
||||||
|
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
||||||
|
server 10.53.0.1 5300
|
||||||
|
update add f0f989bc71c5c8ca3a1eb9c9ab5246521907e3af.zones.catalog1.example 3600 IN PTR dom9.example.
|
||||||
|
update add label1.masters.f0f989bc71c5c8ca3a1eb9c9ab5246521907e3af.zones.catalog1.example 3600 IN TXT "tsig_key"
|
||||||
|
send
|
||||||
|
END
|
||||||
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I: waiting for slave to sync up ($n)"
|
||||||
|
ret=1
|
||||||
|
try=0
|
||||||
|
while test $try -lt 45
|
||||||
|
do
|
||||||
|
sleep 1
|
||||||
|
sed -n "$cur,"'$p' < ns2/named.run | grep "catz: adding zone 'dom9.example' from catalog 'catalog1.example'" > /dev/null && {
|
||||||
|
ret=0
|
||||||
|
break
|
||||||
|
}
|
||||||
|
try=`expr $try + 1`
|
||||||
|
done
|
||||||
|
if [ $ret = 0 ]; then
|
||||||
|
ret=1
|
||||||
|
try=0
|
||||||
|
while test $try -lt 45
|
||||||
|
do
|
||||||
|
sleep 1
|
||||||
|
sed -n "$cur,"'$p' < ns2/named.run | grep "error .* while trying to generate config for zone \"dom9.example\"" > /dev/null && {
|
||||||
|
|
||||||
|
ret=0
|
||||||
|
break
|
||||||
|
}
|
||||||
|
try=`expr $try + 1`
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I: deleting domain dom9.example from catalog1 zone ($n)"
|
||||||
|
ret=0
|
||||||
|
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
||||||
|
server 10.53.0.1 5300
|
||||||
|
update delete f0f989bc71c5c8ca3a1eb9c9ab5246521907e3af.zones.catalog1.example 3600 IN PTR dom9.example.
|
||||||
|
update delete label1.masters.f0f989bc71c5c8ca3a1eb9c9ab5246521907e3af.zones.catalog1.example 3600 IN TXT "tsig_key"
|
||||||
|
send
|
||||||
|
END
|
||||||
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I: waiting for slave to sync up ($n)"
|
||||||
|
ret=1
|
||||||
|
try=0
|
||||||
|
while test $try -lt 45
|
||||||
|
do
|
||||||
|
sleep 1
|
||||||
|
sed -n "$cur,"'$p' < ns2/named.run | grep "catz: deleting zone 'dom9.example' from catalog 'catalog1.example'" > /dev/null && {
|
||||||
|
ret=0
|
||||||
|
break
|
||||||
|
}
|
||||||
|
try=`expr $try + 1`
|
||||||
|
done
|
||||||
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
echo "I:Testing very long domain in catalog"
|
echo "I:Testing very long domain in catalog"
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
@@ -933,7 +1076,7 @@ if [ $ret != 0 ]; then echo "I: failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: checking that zone-directory is populated with a hashed filename($n)"
|
echo "I: checking that zone-directory is populated with a hashed filename ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
[ -f "ns2/zonedir/__catz__4d70696f2335687069467f11f5d5378c480383f97782e553fb2d04a7bb2a23ed.db" ] || ret=1
|
[ -f "ns2/zonedir/__catz__4d70696f2335687069467f11f5d5378c480383f97782e553fb2d04a7bb2a23ed.db" ] || ret=1
|
||||||
if [ $ret != 0 ]; then echo "I: failed"; fi
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
@@ -1329,7 +1472,15 @@ if [ $ret != 0 ]; then echo "I: failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: reconfiguring slave - removing catalog4 catalog zone ($n)"
|
echo "I: reconfiguring slave - removing catalog4 catalog zone, adding non-existent catalog5 catalog zone ($n)"
|
||||||
|
ret=0
|
||||||
|
cat ns2/named.conf.in | sed -e "s/^#T2//" > ns2/named.conf
|
||||||
|
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reconfig > /dev/null 2>&1 && ret=1
|
||||||
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I: reconfiguring slave - removing non-existent catalog5 catalog zone ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
cat ns2/named.conf.in > ns2/named.conf
|
cat ns2/named.conf.in > ns2/named.conf
|
||||||
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reconfig || ret=1
|
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reconfig || ret=1
|
||||||
@@ -1405,7 +1556,7 @@ status=`expr $status + $ret`
|
|||||||
cur=`awk 'BEGIN {l=0} /^/ {l++} END { print l }' ns2/named.run`
|
cur=`awk 'BEGIN {l=0} /^/ {l++} END { print l }' ns2/named.run`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: Adding domain dom13.example to catalog1 zone with ns1 as master($n)"
|
echo "I: Adding domain dom13.example to catalog1 zone with ns1 as master ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
||||||
server 10.53.0.1 5300
|
server 10.53.0.1 5300
|
||||||
@@ -1457,7 +1608,7 @@ if [ $ret != 0 ]; then echo "I: failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: Adding domain dom13.example to catalog2 zone with ns3 as master($n)"
|
echo "I: Adding domain dom13.example to catalog2 zone with ns3 as master ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
||||||
server 10.53.0.3 5300
|
server 10.53.0.3 5300
|
||||||
@@ -1617,7 +1768,7 @@ status=`expr $status + $ret`
|
|||||||
cur=`awk 'BEGIN {l=0} /^/ {l++} END { print l }' ns2/named.run`
|
cur=`awk 'BEGIN {l=0} /^/ {l++} END { print l }' ns2/named.run`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: Adding domain dom14.example with rndc with ns1 as master($n)"
|
echo "I: Adding domain dom14.example with rndc with ns1 as master ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone dom14.example '{type slave; masters {10.53.0.1;};};' || ret=1
|
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 addzone dom14.example '{type slave; masters {10.53.0.1;};};' || ret=1
|
||||||
if [ $ret != 0 ]; then echo "I: failed"; fi
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
@@ -1651,7 +1802,7 @@ if [ $ret != 0 ]; then echo "I: failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: Adding domain dom14.example to catalog2 zone with ns3 as master($n)"
|
echo "I: Adding domain dom14.example to catalog2 zone with ns3 as master ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
$NSUPDATE -d <<END >> nsupdate.out.test$n 2>&1 || ret=1
|
||||||
server 10.53.0.3 5300
|
server 10.53.0.3 5300
|
||||||
@@ -1784,7 +1935,7 @@ status=`expr $status + $ret`
|
|||||||
sleep 3
|
sleep 3
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: checking that dom15.example is served by slave($n)"
|
echo "I: checking that dom15.example is served by slave ($n)"
|
||||||
for try in 0 1 2 3 4 5 6 7 8 9; do
|
for try in 0 1 2 3 4 5 6 7 8 9; do
|
||||||
$DIG soa dom15.example @10.53.0.2 -p 5300 > dig.out.test$n
|
$DIG soa dom15.example @10.53.0.2 -p 5300 > dig.out.test$n
|
||||||
ret=0
|
ret=0
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * self TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * selfsub TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * selfwild TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * ms-self TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * krb5-self TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * ms-subdomain TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * krb5-subdomain TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * tcp-self TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * 6to4-self TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
trusted-keys {
|
||||||
|
dlv.isc.org 257 3 5 "BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWE
|
||||||
|
n4MxDCE1+lLy2brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8
|
||||||
|
+jAGl2FZLK8t+1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ
|
||||||
|
2kJb56dhgMde5ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnG
|
||||||
|
xPPEmHAte/URkY62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mR
|
||||||
|
x/vwwMCTgNboMQKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWL
|
||||||
|
KjHzpT59k/VStTDN0YUuWrBNh";
|
||||||
|
};
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
trusted-keys {
|
||||||
|
# This key (19036) is to be phased out starting in 2017. It will
|
||||||
|
# remain in the root zone for some time after its successor key
|
||||||
|
# has been added. It will remain this file until it is removed from
|
||||||
|
# the root zone.
|
||||||
|
. 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
|
||||||
|
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
|
||||||
|
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
|
||||||
|
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
|
||||||
|
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
|
||||||
|
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
|
||||||
|
QxA+Uk1ihz0=";
|
||||||
|
};
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
trusted-keys {
|
||||||
|
# This key (20326) was published in the root zone in 2017.
|
||||||
|
# Servers which were already using the old key (19036) should
|
||||||
|
# roll seamlessly to this new one via RFC 5011 rollover. Servers
|
||||||
|
# being set up for the first time can use the contents of this
|
||||||
|
# file as initializing keys; thereafter, the keys in the
|
||||||
|
# managed key database will be trusted and maintained
|
||||||
|
# automatically.
|
||||||
|
. 257 3 8 "AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3
|
||||||
|
+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kv
|
||||||
|
ArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF
|
||||||
|
0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+e
|
||||||
|
oZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfd
|
||||||
|
RUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwN
|
||||||
|
R1AkUTV74bU=";
|
||||||
|
};
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
trusted-keys {
|
||||||
|
# This key (19036) is to be phased out starting in 2017. It will
|
||||||
|
# remain in the root zone for some time after its successor key
|
||||||
|
# has been added. It will remain this file until it is removed from
|
||||||
|
# the root zone.
|
||||||
|
. 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
|
||||||
|
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX
|
||||||
|
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD
|
||||||
|
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz
|
||||||
|
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS
|
||||||
|
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq
|
||||||
|
QxA+Uk1ihz0=";
|
||||||
|
|
||||||
|
# This key (20326) was published in the root zone in 2017.
|
||||||
|
# Servers which were already using the old key (19036) should
|
||||||
|
# roll seamlessly to this new one via RFC 5011 rollover. Servers
|
||||||
|
# being set up for the first time can use the contents of this
|
||||||
|
# file as initializing keys; thereafter, the keys in the
|
||||||
|
# managed key database will be trusted and maintained
|
||||||
|
# automatically.
|
||||||
|
. 257 3 8 "AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3
|
||||||
|
+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kv
|
||||||
|
ArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF
|
||||||
|
0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+e
|
||||||
|
oZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfd
|
||||||
|
RUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwN
|
||||||
|
R1AkUTV74bU=";
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * self * TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * krb5-subdomain . TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * tcp-self . TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * 6to4-self . TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * self . TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * selfsub . TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * selfsub * TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * selfwild * TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * selfwild . TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * krb5-self . TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * ms-self . TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2018 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/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
zone "example.com" {
|
||||||
|
type master;
|
||||||
|
file "example.com.db";
|
||||||
|
update-policy {
|
||||||
|
grant * ms-subdomain . TXT;
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2005, 2007, 2010-2017 Internet Systems Consortium, Inc. ("ISC")
|
# Copyright (C) 2005, 2007, 2010-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
#
|
#
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -40,14 +40,24 @@ status=`expr $status + $ret`
|
|||||||
|
|
||||||
for bad in bad-*.conf
|
for bad in bad-*.conf
|
||||||
do
|
do
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo "I: checking that named-checkconf detects error in $bad ($n)"
|
echo "I: checking that named-checkconf detects error in $bad ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$CHECKCONF $bad > checkconf.out 2>&1
|
$CHECKCONF $bad > checkconf.out 2>&1
|
||||||
if [ $? != 1 ]; then ret=1; fi
|
if [ $? != 1 ]; then ret=1; fi
|
||||||
grep "^$bad:[0-9]*: " checkconf.out > /dev/null || ret=1
|
grep "^$bad:[0-9]*: " checkconf.out > /dev/null || ret=1
|
||||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
case $bad in
|
||||||
status=`expr $status + $ret`
|
bad-update-policy[123].conf)
|
||||||
|
pat="identity and name fields are not the same"
|
||||||
|
grep "$pat" checkconf.out > /dev/null || ret=1
|
||||||
|
;;
|
||||||
|
bad-update-policy*.conf)
|
||||||
|
pat="name field not set to placeholder value"
|
||||||
|
grep "$pat" checkconf.out > /dev/null || ret=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
done
|
done
|
||||||
|
|
||||||
for good in good-*.conf
|
for good in good-*.conf
|
||||||
@@ -352,5 +362,36 @@ $CHECKCONF good-dlv-dlv.example.com.conf > checkconf.out$n 2>/dev/null || ret=1
|
|||||||
if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
|
if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I: check that the 2010 ICANN ROOT KSK without the 2017 ICANN ROOT KSK generates a warning ($n)"
|
||||||
|
ret=0
|
||||||
|
$CHECKCONF check-root-ksk-2010.conf > checkconf.out$n 2>/dev/null || ret=1
|
||||||
|
[ -s checkconf.out$n ] || ret=1
|
||||||
|
grep "trusted-key for root from 2010 without updated" checkconf.out$n > /dev/null || ret=1
|
||||||
|
if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
echo "I: check that the 2010 ICANN ROOT KSK with the 2017 ICANN ROOT KSK does not warning ($n)"
|
||||||
|
ret=0
|
||||||
|
$CHECKCONF check-root-ksk-both.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: check that the 2017 ICANN ROOT KSK alone does not warning ($n)"
|
||||||
|
ret=0
|
||||||
|
$CHECKCONF check-root-ksk-2017.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: check that the dlv.isc.org KSK generates a warning ($n)"
|
||||||
|
ret=0
|
||||||
|
$CHECKCONF check-dlv-ksk-key.conf > checkconf.out$n 2>/dev/null || ret=1
|
||||||
|
[ -s checkconf.out$n ] || ret=1
|
||||||
|
grep "trusted-key for dlv.isc.org still present" checkconf.out$n > /dev/null || ret=1
|
||||||
|
if [ $ret != 0 ]; then echo "I:failed"; ret=1; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo "I:exit status: $status"
|
echo "I:exit status: $status"
|
||||||
[ $status -eq 0 ] || exit 1
|
[ $status -eq 0 ] || exit 1
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
; Copyright (C) 2018 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 600
|
||||||
|
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||||
|
NS ns
|
||||||
|
ns A 192.0.2.1
|
||||||
|
|
||||||
|
$GENERATE 0-7 tkey$ TKEY "invalid.algorithm. 1516055980 1516140801 1 0 16 gRof8D2BFKvl/vrr9Lmnjw== 16 gRof8D2BFKvl/vrr9Lmnjw=="
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
; Copyright (C) 2018 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 600
|
||||||
|
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||||
|
NS ns
|
||||||
|
ns A 192.0.2.1
|
||||||
|
|
||||||
|
tkey TKEY invalid.algorithm. 1516055980 1516140801 1 0 16 gRof8D2BFKvl/vrr9Lmnjw== 16 gRof8D2BFKvl/vrr9Lmnjw==
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
; Copyright (C) 2018 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 600
|
||||||
|
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||||
|
NS ns
|
||||||
|
ns A 192.0.2.1
|
||||||
|
|
||||||
|
tsig TSIG hmac-sha1. 1516135665 300 20 thBt8DheAD7qpqSFTiGK999sxGg= 54994 NOERROR 0
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
|
# Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
#
|
#
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -72,7 +72,7 @@ KRB5_CONFIG=/dev/null
|
|||||||
# The "stress" test is not run by default since it creates enough
|
# The "stress" test is not run by default since it creates enough
|
||||||
# load on the machine to make it unusable to other users.
|
# load on the machine to make it unusable to other users.
|
||||||
# v6synth
|
# v6synth
|
||||||
SUBDIRS="acl additional addzone allow_query autosign builtin
|
SUBDIRS="acl additional addzone allow_query auth autosign builtin
|
||||||
cacheclean case catz cds chain
|
cacheclean case catz cds chain
|
||||||
checkconf @CHECKDS@ checknames checkzone cookie @COVERAGE@
|
checkconf @CHECKDS@ checknames checkzone cookie @COVERAGE@
|
||||||
database digdelv dlv dlz dlzexternal
|
database digdelv dlv dlz dlzexternal
|
||||||
@@ -125,6 +125,8 @@ else
|
|||||||
TESTSOCK6=false
|
TESTSOCK6=false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Windows process management leave empty
|
||||||
|
PSSUSPEND=
|
||||||
|
|
||||||
PYTHON=@PYTHON@
|
PYTHON=@PYTHON@
|
||||||
|
|
||||||
@@ -231,6 +233,7 @@ export PIPEQUERIES
|
|||||||
export PK11DEL
|
export PK11DEL
|
||||||
export PK11GEN
|
export PK11GEN
|
||||||
export PK11LIST
|
export PK11LIST
|
||||||
|
export PSSUSPEND
|
||||||
export PYTHON
|
export PYTHON
|
||||||
export RANDFILE
|
export RANDFILE
|
||||||
export RESOLVE
|
export RESOLVE
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
# Copyright (C) 2016-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
#
|
#
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -130,7 +130,11 @@ else
|
|||||||
TESTSOCK6=false
|
TESTSOCK6=false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# PsSuspend is part of PSTools and can be downloaded from
|
||||||
|
# https://download.sysinternals.com/files/PSTools.zip
|
||||||
|
#
|
||||||
|
PSSUSPEND=@PSSUSPEND@
|
||||||
PYTHON=@PYTHON@
|
PYTHON=@PYTHON@
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -221,6 +225,7 @@ export PIPEQUERIES
|
|||||||
export PK11DEL
|
export PK11DEL
|
||||||
export PK11GEN
|
export PK11GEN
|
||||||
export PK11LIST
|
export PK11LIST
|
||||||
|
export PSSUSPEND
|
||||||
export PYTHON
|
export PYTHON
|
||||||
export RANDFILE
|
export RANDFILE
|
||||||
export RESOLVE
|
export RESOLVE
|
||||||
|
|||||||
@@ -17,3 +17,4 @@ rm -f ns*/dnstap.out
|
|||||||
rm -f ns*/dnstap.out.save
|
rm -f ns*/dnstap.out.save
|
||||||
rm -f ns*/dnstap.out.save.?
|
rm -f ns*/dnstap.out.save.?
|
||||||
rm -f ns*/named.lock
|
rm -f ns*/named.lock
|
||||||
|
rm -f ydump.out
|
||||||
|
|||||||
@@ -400,7 +400,7 @@ fi
|
|||||||
if [ $HAS_PYYAML -ne 0 ] ; then
|
if [ $HAS_PYYAML -ne 0 ] ; then
|
||||||
echo "I:checking dnstap-read YAML output"
|
echo "I:checking dnstap-read YAML output"
|
||||||
ret=0
|
ret=0
|
||||||
$PYTHON ydump.py "$DNSTAPREAD" "ns3/dnstap.out.save" > /dev/null || ret=1
|
$PYTHON ydump.py "$DNSTAPREAD" "ns3/dnstap.out.save" > ydump.out || ret=1
|
||||||
if [ $ret != 0 ]; then echo "I: failed"; fi
|
if [ $ret != 0 ]; then echo "I: failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ usage() {
|
|||||||
fprintf(stderr, " --rpz-nsdname\n");
|
fprintf(stderr, " --rpz-nsdname\n");
|
||||||
fprintf(stderr, " --rpz-nsip\n");
|
fprintf(stderr, " --rpz-nsip\n");
|
||||||
fprintf(stderr, " --with-idn\n");
|
fprintf(stderr, " --with-idn\n");
|
||||||
|
fprintf(stderr, " --with-lmdb\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@@ -156,6 +157,14 @@ main(int argc, char **argv) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strcmp(argv[1], "--with-lmdb") == 0) {
|
||||||
|
#ifdef HAVE_LMDB
|
||||||
|
return (0);
|
||||||
|
#else
|
||||||
|
return (1);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
if (strcmp(argv[1], "--ipv6only=no") == 0) {
|
if (strcmp(argv[1], "--ipv6only=no") == 0) {
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
return (0);
|
return (0);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2011-2017 Internet Systems Consortium, Inc. ("ISC")
|
# Copyright (C) 2011-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
#
|
#
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -99,3 +99,4 @@ rm -f ns3/a-file
|
|||||||
rm -f ns*/named.lock
|
rm -f ns*/named.lock
|
||||||
rm -f dig.out.*
|
rm -f dig.out.*
|
||||||
rm -f ns3/nzf-*
|
rm -f ns3/nzf-*
|
||||||
|
rm -f rndc.out.ns*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2014, 2016, 2017 Internet Systems Consortium, Inc. ("ISC")
|
# Copyright (C) 2011-2014, 2016-2018 Internet Systems Consortium, Inc. ("ISC")
|
||||||
#
|
#
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@@ -1084,5 +1084,21 @@ grep "DNSKEY 8 1 [0-9]* [0-9]* [0-9]* ${kskid} " dig.out.ns3.test$n > /dev/null
|
|||||||
if [ $ret != 0 ]; then echo "I:failed"; fi
|
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:check that zonestatus reports 'type: master' for a inline master zone ($n)"
|
||||||
|
ret=0
|
||||||
|
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 zonestatus master > rndc.out.ns3.test$n
|
||||||
|
grep "type: master" rndc.out.ns3.test$n > /dev/null || ret=1
|
||||||
|
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||||
|
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
n=`expr $n + 1`
|
||||||
|
echo "I:check that zonestatus reports 'type: slave' for a inline slave zone ($n)"
|
||||||
|
ret=0
|
||||||
|
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 zonestatus bits > rndc.out.ns3.test$n
|
||||||
|
grep "type: slave" rndc.out.ns3.test$n > /dev/null || ret=1
|
||||||
|
if [ $ret != 0 ]; then echo "I:failed"; fi
|
||||||
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
echo "I:exit status: $status"
|
echo "I:exit status: $status"
|
||||||
[ $status -eq 0 ] || exit 1
|
[ $status -eq 0 ] || exit 1
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user