From 45d6379135504814ab723b57f0eb8be23393a51d Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 09:24:22 +0200 Subject: Adding upstream version 1:9.16.44. Signed-off-by: Daniel Baumann --- doc/misc/Makefile.in | 83 +++ doc/misc/acl.grammar.rst | 14 + doc/misc/controls.grammar.rst | 24 + doc/misc/delegation-only.zoneopt | 3 + doc/misc/delegation-only.zoneopt.rst | 16 + doc/misc/dnssec-policy.default.conf | 38 ++ doc/misc/dnssec-policy.grammar.rst | 28 + doc/misc/format-options.pl | 43 ++ doc/misc/forward.zoneopt | 6 + doc/misc/forward.zoneopt.rst | 19 + doc/misc/hint.zoneopt | 6 + doc/misc/hint.zoneopt.rst | 19 + doc/misc/in-view.zoneopt | 3 + doc/misc/in-view.zoneopt.rst | 16 + doc/misc/key.grammar.rst | 17 + doc/misc/logging.grammar.rst | 28 + doc/misc/managed-keys.grammar.rst | 17 + doc/misc/master.zoneopt | 61 ++ doc/misc/master.zoneopt.rst | 74 +++ doc/misc/mirror.zoneopt | 44 ++ doc/misc/mirror.zoneopt.rst | 57 ++ doc/misc/options | 1031 ++++++++++++++++++++++++++++++ doc/misc/options.active | 942 +++++++++++++++++++++++++++ doc/misc/options.grammar.rst | 313 +++++++++ doc/misc/parental-agents.grammar.rst | 18 + doc/misc/primaries.grammar.rst | 18 + doc/misc/redirect.zoneopt | 14 + doc/misc/redirect.zoneopt.rst | 27 + doc/misc/rst-grammars.pl | 81 +++ doc/misc/rst-options.pl | 135 ++++ doc/misc/rst-zoneopt.pl | 59 ++ doc/misc/server.grammar.rst | 45 ++ doc/misc/slave.zoneopt | 65 ++ doc/misc/slave.zoneopt.rst | 78 +++ doc/misc/sort-options.pl | 45 ++ doc/misc/static-stub.zoneopt | 11 + doc/misc/static-stub.zoneopt.rst | 24 + doc/misc/statistics-channels.grammar.rst | 19 + doc/misc/stub.zoneopt | 28 + doc/misc/stub.zoneopt.rst | 41 ++ doc/misc/trust-anchors.grammar.rst | 17 + doc/misc/trusted-keys.grammar.rst | 16 + 42 files changed, 3643 insertions(+) create mode 100644 doc/misc/Makefile.in create mode 100644 doc/misc/acl.grammar.rst create mode 100644 doc/misc/controls.grammar.rst create mode 100644 doc/misc/delegation-only.zoneopt create mode 100644 doc/misc/delegation-only.zoneopt.rst create mode 100644 doc/misc/dnssec-policy.default.conf create mode 100644 doc/misc/dnssec-policy.grammar.rst create mode 100644 doc/misc/format-options.pl create mode 100644 doc/misc/forward.zoneopt create mode 100644 doc/misc/forward.zoneopt.rst create mode 100644 doc/misc/hint.zoneopt create mode 100644 doc/misc/hint.zoneopt.rst create mode 100644 doc/misc/in-view.zoneopt create mode 100644 doc/misc/in-view.zoneopt.rst create mode 100644 doc/misc/key.grammar.rst create mode 100644 doc/misc/logging.grammar.rst create mode 100644 doc/misc/managed-keys.grammar.rst create mode 100644 doc/misc/master.zoneopt create mode 100644 doc/misc/master.zoneopt.rst create mode 100644 doc/misc/mirror.zoneopt create mode 100644 doc/misc/mirror.zoneopt.rst create mode 100644 doc/misc/options create mode 100644 doc/misc/options.active create mode 100644 doc/misc/options.grammar.rst create mode 100644 doc/misc/parental-agents.grammar.rst create mode 100644 doc/misc/primaries.grammar.rst create mode 100644 doc/misc/redirect.zoneopt create mode 100644 doc/misc/redirect.zoneopt.rst create mode 100644 doc/misc/rst-grammars.pl create mode 100644 doc/misc/rst-options.pl create mode 100644 doc/misc/rst-zoneopt.pl create mode 100644 doc/misc/server.grammar.rst create mode 100644 doc/misc/slave.zoneopt create mode 100644 doc/misc/slave.zoneopt.rst create mode 100644 doc/misc/sort-options.pl create mode 100644 doc/misc/static-stub.zoneopt create mode 100644 doc/misc/static-stub.zoneopt.rst create mode 100644 doc/misc/statistics-channels.grammar.rst create mode 100644 doc/misc/stub.zoneopt create mode 100644 doc/misc/stub.zoneopt.rst create mode 100644 doc/misc/trust-anchors.grammar.rst create mode 100644 doc/misc/trusted-keys.grammar.rst (limited to 'doc/misc') diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in new file mode 100644 index 0000000..35c79f1 --- /dev/null +++ b/doc/misc/Makefile.in @@ -0,0 +1,83 @@ +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# 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 https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +srcdir = @srcdir@ +VPATH = @srcdir@ +top_srcdir = @top_srcdir@ + +@BIND9_MAKE_RULES@ + +PERL = @PERL@ + +MANOBJS = options + +doc man:: ${MANOBJS} + +docclean manclean maintainer-clean:: + rm -f options + +# Do not make options depend on ../../bin/tests/cfg_test, doing so +# will cause excessively clever versions of make to attempt to build +# that program right here, right now, if it is missing, which will +# cause make doc to bomb. + +CFG_TEST = ../../bin/tests/cfg_test + +options: FORCE + if test -x ${CFG_TEST} ; \ + then \ + ${CFG_TEST} --named --grammar > $@.raw ; \ + ${PERL} ${srcdir}/sort-options.pl < $@.raw > $@.sorted ; \ + ${PERL} ${srcdir}/format-options.pl < $@.sorted > $@.new ; \ + mv -f $@.new $@ ; \ + ${CFG_TEST} --named --grammar --active > $@.raw ; \ + ${PERL} ${srcdir}/sort-options.pl < $@.raw > $@.sorted ; \ + ${PERL} ${srcdir}/format-options.pl < $@.sorted > $@.new ; \ + mv -f $@.new $@.active ; \ + rm -f $@.raw $@.sorted ; \ + ${CFG_TEST} --zonegrammar master --active > master.zoneopt ; \ + ${CFG_TEST} --zonegrammar slave --active > slave.zoneopt ; \ + ${CFG_TEST} --zonegrammar mirror --active > mirror.zoneopt ; \ + ${CFG_TEST} --zonegrammar forward --active > forward.zoneopt ; \ + ${CFG_TEST} --zonegrammar hint --active > hint.zoneopt ; \ + ${CFG_TEST} --zonegrammar stub --active > stub.zoneopt ; \ + ${CFG_TEST} --zonegrammar static-stub --active > static-stub.zoneopt ; \ + ${CFG_TEST} --zonegrammar redirect --active > redirect.zoneopt ; \ + ${CFG_TEST} --zonegrammar delegation-only --active > delegation-only.zoneopt ; \ + ${CFG_TEST} --zonegrammar in-view --active > in-view.zoneopt ; \ + else \ + rm -f $@.new $@.raw $@.sorted ; \ + fi + +rst: options rst-options.pl rst-zoneopt.pl rst-grammars.pl + ${PERL} rst-options.pl options.active > ${top_srcdir}/bin/named/named.conf.rst + ${PERL} rst-zoneopt.pl master.zoneopt > master.zoneopt.rst + ${PERL} rst-zoneopt.pl slave.zoneopt > slave.zoneopt.rst + ${PERL} rst-zoneopt.pl mirror.zoneopt > mirror.zoneopt.rst + ${PERL} rst-zoneopt.pl forward.zoneopt > forward.zoneopt.rst + ${PERL} rst-zoneopt.pl hint.zoneopt > hint.zoneopt.rst + ${PERL} rst-zoneopt.pl stub.zoneopt > stub.zoneopt.rst + ${PERL} rst-zoneopt.pl static-stub.zoneopt > static-stub.zoneopt.rst + ${PERL} rst-zoneopt.pl redirect.zoneopt > redirect.zoneopt.rst + ${PERL} rst-zoneopt.pl delegation-only.zoneopt > delegation-only.zoneopt.rst + ${PERL} rst-zoneopt.pl in-view.zoneopt > in-view.zoneopt.rst + ${PERL} rst-grammars.pl options.active acl > acl.grammar.rst + ${PERL} rst-grammars.pl options.active controls > controls.grammar.rst + ${PERL} rst-grammars.pl options.active key > key.grammar.rst + ${PERL} rst-grammars.pl options.active logging > logging.grammar.rst + ${PERL} rst-grammars.pl options.active parental-agents > parental-agents.grammar.rst + ${PERL} rst-grammars.pl options.active primaries > primaries.grammar.rst + ${PERL} rst-grammars.pl options.active options > options.grammar.rst + ${PERL} rst-grammars.pl options.active server > server.grammar.rst + ${PERL} rst-grammars.pl options.active statistics-channels > statistics-channels.grammar.rst + ${PERL} rst-grammars.pl options.active trust-anchors > trust-anchors.grammar.rst + ${PERL} rst-grammars.pl options.active managed-keys > managed-keys.grammar.rst + ${PERL} rst-grammars.pl options.active trusted-keys > trusted-keys.grammar.rst diff --git a/doc/misc/acl.grammar.rst b/doc/misc/acl.grammar.rst new file mode 100644 index 0000000..d27dab3 --- /dev/null +++ b/doc/misc/acl.grammar.rst @@ -0,0 +1,14 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + acl { ; ... }; diff --git a/doc/misc/controls.grammar.rst b/doc/misc/controls.grammar.rst new file mode 100644 index 0000000..440bce4 --- /dev/null +++ b/doc/misc/controls.grammar.rst @@ -0,0 +1,24 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + controls { + inet ( | | + * ) [ port ( | * ) ] allow + { ; ... } [ + keys { ; ... } ] [ read-only + ]; + unix perm + owner group [ + keys { ; ... } ] [ read-only + ]; + }; diff --git a/doc/misc/delegation-only.zoneopt b/doc/misc/delegation-only.zoneopt new file mode 100644 index 0000000..ab86327 --- /dev/null +++ b/doc/misc/delegation-only.zoneopt @@ -0,0 +1,3 @@ +zone [ ] { + type delegation-only; +}; diff --git a/doc/misc/delegation-only.zoneopt.rst b/doc/misc/delegation-only.zoneopt.rst new file mode 100644 index 0000000..2a262d1 --- /dev/null +++ b/doc/misc/delegation-only.zoneopt.rst @@ -0,0 +1,16 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + zone [ ] { + type delegation-only; + }; diff --git a/doc/misc/dnssec-policy.default.conf b/doc/misc/dnssec-policy.default.conf new file mode 100644 index 0000000..00b8a14 --- /dev/null +++ b/doc/misc/dnssec-policy.default.conf @@ -0,0 +1,38 @@ +/* + * Copyright (C) Internet Systems Consortium, Inc. ("ISC") + * + * SPDX-License-Identifier: MPL-2.0 + * + * 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 https://mozilla.org/MPL/2.0/. + * + * See the COPYRIGHT file distributed with this work for additional + * information regarding copyright ownership. + */ + +dnssec-policy "default" { + // Keys + keys { + csk key-directory lifetime unlimited algorithm 13; + }; + + // Key timings + dnskey-ttl 3600; + publish-safety 1h; + retire-safety 1h; + purge-keys P90D; + + // Signature timings + signatures-refresh 5d; + signatures-validity 14d; + signatures-validity-dnskey 14d; + + // Zone parameters + max-zone-ttl 86400; + zone-propagation-delay 300; + + // Parent parameters + parent-ds-ttl 86400; + parent-propagation-delay 1h; +}; diff --git a/doc/misc/dnssec-policy.grammar.rst b/doc/misc/dnssec-policy.grammar.rst new file mode 100644 index 0000000..b0b9692 --- /dev/null +++ b/doc/misc/dnssec-policy.grammar.rst @@ -0,0 +1,28 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + + dnssec-policy { + dnskey-ttl ; + keys { ( csk | ksk | zsk ) [ ( key-directory ) ] lifetime + algorithm [ ]; ... }; + max-zone-ttl ; + nsec3param [ iterations ] [ optout ] [ + salt-length ]; + parent-ds-ttl ; + parent-propagation-delay ; + publish-safety ; + purge-keys ; + retire-safety ; + signatures-refresh ; + signatures-validity ; + signatures-validity-dnskey ; + zone-propagation-delay ; + }; diff --git a/doc/misc/format-options.pl b/doc/misc/format-options.pl new file mode 100644 index 0000000..f4a36c2 --- /dev/null +++ b/doc/misc/format-options.pl @@ -0,0 +1,43 @@ +#!/usr/bin/perl + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# 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 https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +print <) { + chomp; + s/\t/ /g; + my $line = $_; + m!^( *)!; + my $indent = $1; + my $comment = ""; + if ( $line =~ m!//.*! ) { + $comment = $&; + $line =~ s!//.*!!; + } + my $start = ""; + while (length($line) >= 79 - length($comment)) { + $_ = $line; + # this makes sure that the comment has something in front of it + $len = 75 - length($comment); + m!^(.{0,$len}) (.*)$!; + $start = $start.$1."\n"; + $line = $indent." ".$2; + } + print $start.$line.$comment."\n"; +} diff --git a/doc/misc/forward.zoneopt b/doc/misc/forward.zoneopt new file mode 100644 index 0000000..e694813 --- /dev/null +++ b/doc/misc/forward.zoneopt @@ -0,0 +1,6 @@ +zone [ ] { + type forward; + delegation-only ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... }; +}; diff --git a/doc/misc/forward.zoneopt.rst b/doc/misc/forward.zoneopt.rst new file mode 100644 index 0000000..3ced3ac --- /dev/null +++ b/doc/misc/forward.zoneopt.rst @@ -0,0 +1,19 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + zone [ ] { + type forward; + delegation-only ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... }; + }; diff --git a/doc/misc/hint.zoneopt b/doc/misc/hint.zoneopt new file mode 100644 index 0000000..d7ec16c --- /dev/null +++ b/doc/misc/hint.zoneopt @@ -0,0 +1,6 @@ +zone [ ] { + type hint; + check-names ( fail | warn | ignore ); + delegation-only ; + file ; +}; diff --git a/doc/misc/hint.zoneopt.rst b/doc/misc/hint.zoneopt.rst new file mode 100644 index 0000000..998e662 --- /dev/null +++ b/doc/misc/hint.zoneopt.rst @@ -0,0 +1,19 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + zone [ ] { + type hint; + check-names ( fail | warn | ignore ); + delegation-only ; + file ; + }; diff --git a/doc/misc/in-view.zoneopt b/doc/misc/in-view.zoneopt new file mode 100644 index 0000000..c63c427 --- /dev/null +++ b/doc/misc/in-view.zoneopt @@ -0,0 +1,3 @@ +zone [ ] { + in-view ; +}; diff --git a/doc/misc/in-view.zoneopt.rst b/doc/misc/in-view.zoneopt.rst new file mode 100644 index 0000000..df1a587 --- /dev/null +++ b/doc/misc/in-view.zoneopt.rst @@ -0,0 +1,16 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + zone [ ] { + in-view ; + }; diff --git a/doc/misc/key.grammar.rst b/doc/misc/key.grammar.rst new file mode 100644 index 0000000..a417997 --- /dev/null +++ b/doc/misc/key.grammar.rst @@ -0,0 +1,17 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + key { + algorithm ; + secret ; + }; diff --git a/doc/misc/logging.grammar.rst b/doc/misc/logging.grammar.rst new file mode 100644 index 0000000..377d6e9 --- /dev/null +++ b/doc/misc/logging.grammar.rst @@ -0,0 +1,28 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + logging { + category { ; ... }; + channel { + buffered ; + file [ versions ( unlimited | ) ] + [ size ] [ suffix ( increment | timestamp ) ]; + null; + print-category ; + print-severity ; + print-time ( iso8601 | iso8601-utc | local | ); + severity ; + stderr; + syslog [ ]; + }; + }; diff --git a/doc/misc/managed-keys.grammar.rst b/doc/misc/managed-keys.grammar.rst new file mode 100644 index 0000000..a57f8ef --- /dev/null +++ b/doc/misc/managed-keys.grammar.rst @@ -0,0 +1,17 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + managed-keys { ( static-key + | initial-key | static-ds | + initial-ds ) + ; ... };, deprecated diff --git a/doc/misc/master.zoneopt b/doc/misc/master.zoneopt new file mode 100644 index 0000000..953e3a2 --- /dev/null +++ b/doc/misc/master.zoneopt @@ -0,0 +1,61 @@ +zone [ ] { + type ( master | primary ); + allow-query { ; ... }; + allow-query-on { ; ... }; + allow-transfer { ; ... }; + allow-update { ; ... }; + also-notify [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + auto-dnssec ( allow | maintain | off ); // deprecated + check-dup-records ( fail | warn | ignore ); + check-integrity ; + check-mx ( fail | warn | ignore ); + check-mx-cname ( fail | warn | ignore ); + check-names ( fail | warn | ignore ); + check-sibling ; + check-spf ( warn | ignore ); + check-srv-cname ( fail | warn | ignore ); + check-wildcard ; + database ; + dialup ( notify | notify-passive | passive | refresh | ); + dlz ; + dnskey-sig-validity ; + dnssec-dnskey-kskonly ; + dnssec-loadkeys-interval ; + dnssec-policy ; + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + file ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... }; + inline-signing ; + ixfr-from-differences ; + journal ; + key-directory ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-records ; + max-transfer-idle-out ; + max-transfer-time-out ; + max-zone-ttl ( unlimited | ); + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + notify-to-soa ; + parental-agents [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + parental-source ( | * ) [ port ( | * ) ] [ dscp ]; + parental-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + serial-update-method ( date | increment | unixtime ); + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + update-check-ksk ; + update-policy ( local | { ( deny | grant ) ( 6to4-self | external | krb5-self | krb5-selfsub | krb5-subdomain | ms-self | ms-selfsub | ms-subdomain | name | self | selfsub | selfwild | subdomain | tcp-self | wildcard | zonesub ) [ ] ; ... } ); + zero-no-soa-ttl ; + zone-statistics ( full | terse | none | ); +}; diff --git a/doc/misc/master.zoneopt.rst b/doc/misc/master.zoneopt.rst new file mode 100644 index 0000000..346d598 --- /dev/null +++ b/doc/misc/master.zoneopt.rst @@ -0,0 +1,74 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + zone [ ] { + type ( master | primary ); + allow-query { ; ... }; + allow-query-on { ; ... }; + allow-transfer { ; ... }; + allow-update { ; ... }; + also-notify [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + auto-dnssec ( allow | maintain | off ); // deprecated + check-dup-records ( fail | warn | ignore ); + check-integrity ; + check-mx ( fail | warn | ignore ); + check-mx-cname ( fail | warn | ignore ); + check-names ( fail | warn | ignore ); + check-sibling ; + check-spf ( warn | ignore ); + check-srv-cname ( fail | warn | ignore ); + check-wildcard ; + database ; + dialup ( notify | notify-passive | passive | refresh | ); + dlz ; + dnskey-sig-validity ; + dnssec-dnskey-kskonly ; + dnssec-loadkeys-interval ; + dnssec-policy ; + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + file ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... }; + inline-signing ; + ixfr-from-differences ; + journal ; + key-directory ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-records ; + max-transfer-idle-out ; + max-transfer-time-out ; + max-zone-ttl ( unlimited | ); + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + notify-to-soa ; + parental-agents [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + parental-source ( | * ) [ port ( | * ) ] [ dscp ]; + parental-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + serial-update-method ( date | increment | unixtime ); + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + update-check-ksk ; + update-policy ( local | { ( deny | grant ) ( 6to4-self | external | krb5-self | krb5-selfsub | krb5-subdomain | ms-self | ms-selfsub | ms-subdomain | name | self | selfsub | selfwild | subdomain | tcp-self | wildcard | zonesub ) [ ] ; ... } ); + zero-no-soa-ttl ; + zone-statistics ( full | terse | none | ); + }; diff --git a/doc/misc/mirror.zoneopt b/doc/misc/mirror.zoneopt new file mode 100644 index 0000000..3d45a3d --- /dev/null +++ b/doc/misc/mirror.zoneopt @@ -0,0 +1,44 @@ +zone [ ] { + type mirror; + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-on { ; ... }; + allow-transfer { ; ... }; + allow-update-forwarding { ; ... }; + also-notify [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + check-names ( fail | warn | ignore ); + database ; + file ; + ixfr-from-differences ; + journal ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-records ; + max-refresh-time ; + max-retry-time ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + min-refresh-time ; + min-retry-time ; + multi-master ; + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + primaries [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + request-expire ; + request-ixfr ; + transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + try-tcp-refresh ; + use-alt-transfer-source ; + zero-no-soa-ttl ; + zone-statistics ( full | terse | none | ); +}; diff --git a/doc/misc/mirror.zoneopt.rst b/doc/misc/mirror.zoneopt.rst new file mode 100644 index 0000000..b425a96 --- /dev/null +++ b/doc/misc/mirror.zoneopt.rst @@ -0,0 +1,57 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + zone [ ] { + type mirror; + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-on { ; ... }; + allow-transfer { ; ... }; + allow-update-forwarding { ; ... }; + also-notify [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + check-names ( fail | warn | ignore ); + database ; + file ; + ixfr-from-differences ; + journal ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-records ; + max-refresh-time ; + max-retry-time ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + min-refresh-time ; + min-retry-time ; + multi-master ; + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + primaries [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + request-expire ; + request-ixfr ; + transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + try-tcp-refresh ; + use-alt-transfer-source ; + zero-no-soa-ttl ; + zone-statistics ( full | terse | none | ); + }; diff --git a/doc/misc/options b/doc/misc/options new file mode 100644 index 0000000..0dbcf10 --- /dev/null +++ b/doc/misc/options @@ -0,0 +1,1031 @@ + +This is a summary of the named.conf options supported by +this version of BIND 9. + +acl { ; ... }; // may occur multiple times + +controls { + inet ( | | + * ) [ port ( | * ) ] allow + { ; ... } [ + keys { ; ... } ] [ read-only + ]; // may occur multiple times + unix perm + owner group [ + keys { ; ... } ] [ read-only + ]; // may occur multiple times +}; // may occur multiple times + +dlz { + database ; + search ; +}; // may occur multiple times + +dnssec-policy { + dnskey-ttl ; + keys { ( csk | ksk | zsk ) [ ( key-directory ) ] lifetime + algorithm [ ]; ... }; + max-zone-ttl ; + nsec3param [ iterations ] [ optout ] [ + salt-length ]; + parent-ds-ttl ; + parent-propagation-delay ; + parent-registration-delay ; // obsolete + publish-safety ; + purge-keys ; + retire-safety ; + signatures-refresh ; + signatures-validity ; + signatures-validity-dnskey ; + zone-propagation-delay ; +}; // may occur multiple times + +dyndb { + }; // may occur multiple times + +key { + algorithm ; + secret ; +}; // may occur multiple times + +logging { + category { ; ... }; // may occur multiple times + channel { + buffered ; + file [ versions ( unlimited | ) ] + [ size ] [ suffix ( increment | timestamp ) ]; + null; + print-category ; + print-severity ; + print-time ( iso8601 | iso8601-utc | local | ); + severity ; + stderr; + syslog [ ]; + }; // may occur multiple times +}; + +lwres { }; // obsolete, may occur multiple times + +managed-keys { ( static-key + | initial-key | static-ds | + initial-ds ) + ; ... }; // may occur multiple times, deprecated + +masters [ port ] [ dscp + ] { ( | + [ port ] | + [ port ] ) [ key + ]; ... }; // may occur multiple times + +options { + acache-cleaning-interval ; // obsolete + acache-enable ; // obsolete + additional-from-auth ; // obsolete + additional-from-cache ; // obsolete + allow-new-zones ; + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-cache { ; ... }; + allow-query-cache-on { ; ... }; + allow-query-on { ; ... }; + allow-recursion { ; ... }; + allow-recursion-on { ; ... }; + allow-transfer { ; ... }; + allow-update { ; ... }; + allow-update-forwarding { ; ... }; + allow-v6-synthesis { ; ... }; // obsolete + also-notify [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) + ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | + * ) ] [ dscp ]; + answer-cookie ; + attach-cache ; + auth-nxdomain ; // default changed + auto-dnssec ( allow | maintain | off ); // deprecated + automatic-interface-scan ; + avoid-v4-udp-ports { ; ... }; + avoid-v6-udp-ports { ; ... }; + bindkeys-file ; + blackhole { ; ... }; + cache-file ; // deprecated + catalog-zones { zone [ default-masters [ port ] + [ dscp ] { ( | [ port + ] | [ port ] ) [ key + ]; ... } ] [ zone-directory ] [ + in-memory ] [ min-update-interval ]; ... }; + check-dup-records ( fail | warn | ignore ); + check-integrity ; + check-mx ( fail | warn | ignore ); + check-mx-cname ( fail | warn | ignore ); + check-names ( primary | master | + secondary | slave | response ) ( + fail | warn | ignore ); // may occur multiple times + check-sibling ; + check-spf ( warn | ignore ); + check-srv-cname ( fail | warn | ignore ); + check-wildcard ; + cleaning-interval ; // obsolete + clients-per-query ; + cookie-algorithm ( aes | siphash24 ); + cookie-secret ; // may occur multiple times + coresize ( default | unlimited | ); + datasize ( default | unlimited | ); + deallocate-on-exit ; // ancient + deny-answer-addresses { ; ... } [ + except-from { ; ... } ]; + deny-answer-aliases { ; ... } [ except-from { ; ... + } ]; + dialup ( notify | notify-passive | passive | refresh | ); + directory ; + disable-algorithms { ; + ... }; // may occur multiple times + disable-ds-digests { ; + ... }; // may occur multiple times + disable-empty-zone ; // may occur multiple times + dns64 { + break-dnssec ; + clients { ; ... }; + exclude { ; ... }; + mapped { ; ... }; + recursive-only ; + suffix ; + }; // may occur multiple times + dns64-contact ; + dns64-server ; + dnskey-sig-validity ; + dnsrps-enable ; // not configured + dnsrps-options { }; // not configured + dnssec-accept-expired ; + dnssec-dnskey-kskonly ; + dnssec-enable ; // obsolete + dnssec-loadkeys-interval ; + dnssec-lookaside ( + trust-anchor | + auto | no ); // obsolete, may occur multiple times + dnssec-must-be-secure ; // may occur multiple times + dnssec-policy ; + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + dnssec-validation ( yes | no | auto ); + dnstap { ( all | auth | client | forwarder | resolver | update ) [ + ( query | response ) ]; ... }; + dnstap-identity ( | none | hostname ); + dnstap-output ( file | unix ) [ size ( unlimited | + ) ] [ versions ( unlimited | ) ] [ suffix ( + increment | timestamp ) ]; + dnstap-version ( | none ); + dscp ; // deprecated + dual-stack-servers [ port ] { ( [ port + ] [ dscp ] | [ port + ] [ dscp ] | [ port + ] [ dscp ] ); ... }; + dump-file ; + edns-udp-size ; + empty-contact ; + empty-server ; + empty-zones-enable ; + fake-iquery ; // ancient + fetch-glue ; // ancient + fetch-quota-params ; + fetches-per-server [ ( drop | fail ) ]; + fetches-per-zone [ ( drop | fail ) ]; + files ( default | unlimited | ); + filter-aaaa { ; ... }; // obsolete + filter-aaaa-on-v4 ; // obsolete + filter-aaaa-on-v6 ; // obsolete + flush-zones-on-shutdown ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( + | ) [ port ] [ dscp ]; ... }; + fstrm-set-buffer-hint ; + fstrm-set-flush-timeout ; + fstrm-set-input-queue-size ; + fstrm-set-output-notify-threshold ; + fstrm-set-output-queue-model ( mpsc | spsc ); + fstrm-set-output-queue-size ; + fstrm-set-reopen-interval ; + geoip-directory ( | none ); + geoip-use-ecs ; // obsolete + glue-cache ; + has-old-clients ; // ancient + heartbeat-interval ; + host-statistics ; // ancient + host-statistics-max ; // ancient + hostname ( | none ); + interface-interval ; + ixfr-from-differences ( primary | master | secondary | slave | + ); + keep-response-order { ; ... }; + key-directory ; + lame-ttl ; + listen-on [ port ] [ dscp + ] { + ; ... }; // may occur multiple times + listen-on-v6 [ port ] [ dscp + ] { + ; ... }; // may occur multiple times + lmdb-mapsize ; + lock-file ( | none ); + maintain-ixfr-base ; // ancient + managed-keys-directory ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + match-mapped-addresses ; + max-acache-size ( unlimited | ); // obsolete + max-cache-size ( default | unlimited | | ); + max-cache-ttl ; + max-clients-per-query ; + max-ixfr-log-size ( default | unlimited | ); // ancient + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-ncache-ttl ; + max-records ; + max-recursion-depth ; + max-recursion-queries ; + max-refresh-time ; + max-retry-time ; + max-rsa-exponent-size ; + max-stale-ttl ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + max-udp-size ; + max-zone-ttl ( unlimited | ); + memstatistics ; + memstatistics-file ; + message-compression ; + min-cache-ttl ; + min-ncache-ttl ; + min-refresh-time ; + min-retry-time ; + min-roots ; // ancient + minimal-any ; + minimal-responses ( no-auth | no-auth-recursive | ); + multi-master ; + multiple-cnames ; // ancient + named-xfer ; // ancient + new-zones-directory ; + no-case-compress { ; ... }; + nocookie-udp-size ; + nosit-udp-size ; // obsolete + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-rate ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + notify-to-soa ; + nsec3-test-zone ; // test only + nta-lifetime ; + nta-recheck ; + nxdomain-redirect ; + parental-source ( | * ) [ port ( | * ) ] [ + dscp ]; + parental-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + pid-file ( | none ); + port ; + preferred-glue ; + prefetch [ ]; + provide-ixfr ; + qname-minimization ( strict | relaxed | disabled | off ); + query-source ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + query-source-v6 ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + querylog ; + queryport-pool-ports ; // obsolete + queryport-pool-updateinterval ; // obsolete + random-device ( | none ); + rate-limit { + all-per-second ; + errors-per-second ; + exempt-clients { ; ... }; + ipv4-prefix-length ; + ipv6-prefix-length ; + log-only ; + max-table-size ; + min-table-size ; + nodata-per-second ; + nxdomains-per-second ; + qps-scale ; + referrals-per-second ; + responses-per-second ; + slip ; + window ; + }; + recursing-file ; + recursion ; + recursive-clients ; + request-expire ; + request-ixfr ; + request-nsid ; + request-sit ; // obsolete + require-server-cookie ; + reserved-sockets ; + resolver-nonbackoff-tries ; + resolver-query-timeout ; + resolver-retry-interval ; + response-padding { ; ... } block-size + ; + response-policy { zone [ add-soa ] [ log + ] [ max-policy-ttl ] [ min-update-interval + ] [ policy ( cname | disabled | drop | given | no-op + | nodata | nxdomain | passthru | tcp-only ) ] [ + recursive-only ] [ nsip-enable ] [ + nsdname-enable ]; ... } [ add-soa ] [ + break-dnssec ] [ max-policy-ttl ] [ + min-update-interval ] [ min-ns-dots ] [ + nsip-wait-recurse ] [ qname-wait-recurse ] + [ recursive-only ] [ nsip-enable ] [ + nsdname-enable ] [ dnsrps-enable ] [ + dnsrps-options { } ]; + reuseport ; + rfc2308-type1 ; // ancient + root-delegation-only [ exclude { ; ... } ]; + root-key-sentinel ; + rrset-order { [ class ] [ type ] [ name + ] ; ... }; + secroots-file ; + send-cookie ; + serial-queries ; // ancient + serial-query-rate ; + serial-update-method ( date | increment | unixtime ); + server-id ( | none | hostname ); + servfail-ttl ; + session-keyalg ; + session-keyfile ( | none ); + session-keyname ; + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + sit-secret ; // obsolete + sortlist { ; ... }; + stacksize ( default | unlimited | ); + stale-answer-client-timeout ( disabled | off | ); + stale-answer-enable ; + stale-answer-ttl ; + stale-cache-enable ; + stale-refresh-time ; + startup-notify-rate ; + statistics-file ; + statistics-interval ; // ancient + suppress-initial-notify ; // not yet implemented + synth-from-dnssec ; + tcp-advertised-timeout ; + tcp-clients ; + tcp-idle-timeout ; + tcp-initial-timeout ; + tcp-keepalive-timeout ; + tcp-listen-queue ; + tkey-dhkey ; + tkey-domain ; + tkey-gssapi-credential ; + tkey-gssapi-keytab ; + topology { ; ... }; // ancient + transfer-format ( many-answers | one-answer ); + transfer-message-size ; + transfer-source ( | * ) [ port ( | * ) ] [ + dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + transfers-in ; + transfers-out ; + transfers-per-ns ; + treat-cr-as-space ; // ancient + trust-anchor-telemetry ; // experimental + try-tcp-refresh ; + update-check-ksk ; + update-quota ; + use-alt-transfer-source ; + use-id-pool ; // ancient + use-ixfr ; // obsolete + use-queryport-pool ; // obsolete + use-v4-udp-ports { ; ... }; + use-v6-udp-ports { ; ... }; + v6-bias ; + validate-except { ; ... }; + version ( | none ); + zero-no-soa-ttl ; + zero-no-soa-ttl-cache ; + zone-statistics ( full | terse | none | ); +}; + +parental-agents [ port ] [ + dscp ] { ( | + [ port ] | + [ port ] ) [ key + ]; ... }; // may occur multiple times + +plugin ( query ) [ { + } ]; // may occur multiple times + +primaries [ port ] [ dscp + ] { ( | + [ port ] | + [ port ] ) [ key + ]; ... }; // may occur multiple times + +server { + bogus ; + edns ; + edns-udp-size ; + edns-version ; + keys ; + max-udp-size ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + padding ; + provide-ixfr ; + query-source ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + query-source-v6 ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + request-expire ; + request-ixfr ; + request-nsid ; + request-sit ; // obsolete + send-cookie ; + support-ixfr ; // obsolete + tcp-keepalive ; + tcp-only ; + transfer-format ( many-answers | one-answer ); + transfer-source ( | * ) [ port ( | * ) ] [ + dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + transfers ; +}; // may occur multiple times + +statistics-channels { + inet ( | | + * ) [ port ( | * ) ] [ + allow { ; ... + } ]; // may occur multiple times +}; // may occur multiple times + +trust-anchors { ( static-key | + initial-key | static-ds | initial-ds ) + + ; ... }; // may occur multiple times + +trusted-keys { + + ; ... }; // may occur multiple times, deprecated + +view [ ] { + acache-cleaning-interval ; // obsolete + acache-enable ; // obsolete + additional-from-auth ; // obsolete + additional-from-cache ; // obsolete + allow-new-zones ; + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-cache { ; ... }; + allow-query-cache-on { ; ... }; + allow-query-on { ; ... }; + allow-recursion { ; ... }; + allow-recursion-on { ; ... }; + allow-transfer { ; ... }; + allow-update { ; ... }; + allow-update-forwarding { ; ... }; + allow-v6-synthesis { ; ... }; // obsolete + also-notify [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) + ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | + * ) ] [ dscp ]; + attach-cache ; + auth-nxdomain ; // default changed + auto-dnssec ( allow | maintain | off ); // deprecated + cache-file ; // deprecated + catalog-zones { zone [ default-masters [ port ] + [ dscp ] { ( | [ port + ] | [ port ] ) [ key + ]; ... } ] [ zone-directory ] [ + in-memory ] [ min-update-interval ]; ... }; + check-dup-records ( fail | warn | ignore ); + check-integrity ; + check-mx ( fail | warn | ignore ); + check-mx-cname ( fail | warn | ignore ); + check-names ( primary | master | + secondary | slave | response ) ( + fail | warn | ignore ); // may occur multiple times + check-sibling ; + check-spf ( warn | ignore ); + check-srv-cname ( fail | warn | ignore ); + check-wildcard ; + cleaning-interval ; // obsolete + clients-per-query ; + deny-answer-addresses { ; ... } [ + except-from { ; ... } ]; + deny-answer-aliases { ; ... } [ except-from { ; ... + } ]; + dialup ( notify | notify-passive | passive | refresh | ); + disable-algorithms { ; + ... }; // may occur multiple times + disable-ds-digests { ; + ... }; // may occur multiple times + disable-empty-zone ; // may occur multiple times + dlz { + database ; + search ; + }; // may occur multiple times + dns64 { + break-dnssec ; + clients { ; ... }; + exclude { ; ... }; + mapped { ; ... }; + recursive-only ; + suffix ; + }; // may occur multiple times + dns64-contact ; + dns64-server ; + dnskey-sig-validity ; + dnsrps-enable ; // not configured + dnsrps-options { }; // not configured + dnssec-accept-expired ; + dnssec-dnskey-kskonly ; + dnssec-enable ; // obsolete + dnssec-loadkeys-interval ; + dnssec-lookaside ( + trust-anchor | + auto | no ); // obsolete, may occur multiple times + dnssec-must-be-secure ; // may occur multiple times + dnssec-policy ; + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + dnssec-validation ( yes | no | auto ); + dnstap { ( all | auth | client | forwarder | resolver | update ) [ + ( query | response ) ]; ... }; + dual-stack-servers [ port ] { ( [ port + ] [ dscp ] | [ port + ] [ dscp ] | [ port + ] [ dscp ] ); ... }; + dyndb { + }; // may occur multiple times + edns-udp-size ; + empty-contact ; + empty-server ; + empty-zones-enable ; + fetch-glue ; // ancient + fetch-quota-params ; + fetches-per-server [ ( drop | fail ) ]; + fetches-per-zone [ ( drop | fail ) ]; + filter-aaaa { ; ... }; // obsolete + filter-aaaa-on-v4 ; // obsolete + filter-aaaa-on-v6 ; // obsolete + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( + | ) [ port ] [ dscp ]; ... }; + glue-cache ; + ixfr-from-differences ( primary | master | secondary | slave | + ); + key { + algorithm ; + secret ; + }; // may occur multiple times + key-directory ; + lame-ttl ; + lmdb-mapsize ; + maintain-ixfr-base ; // ancient + managed-keys { ( + static-key | initial-key + | static-ds | initial-ds + ) + + ; ... }; // may occur multiple times, deprecated + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + match-clients { ; ... }; + match-destinations { ; ... }; + match-recursive-only ; + max-acache-size ( unlimited | ); // obsolete + max-cache-size ( default | unlimited | | ); + max-cache-ttl ; + max-clients-per-query ; + max-ixfr-log-size ( default | unlimited | ); // ancient + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-ncache-ttl ; + max-records ; + max-recursion-depth ; + max-recursion-queries ; + max-refresh-time ; + max-retry-time ; + max-stale-ttl ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + max-udp-size ; + max-zone-ttl ( unlimited | ); + message-compression ; + min-cache-ttl ; + min-ncache-ttl ; + min-refresh-time ; + min-retry-time ; + min-roots ; // ancient + minimal-any ; + minimal-responses ( no-auth | no-auth-recursive | ); + multi-master ; + new-zones-directory ; + no-case-compress { ; ... }; + nocookie-udp-size ; + nosit-udp-size ; // obsolete + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + notify-to-soa ; + nsec3-test-zone ; // test only + nta-lifetime ; + nta-recheck ; + nxdomain-redirect ; + parental-source ( | * ) [ port ( | * ) ] [ + dscp ]; + parental-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + plugin ( query ) [ { + } ]; // may occur multiple times + preferred-glue ; + prefetch [ ]; + provide-ixfr ; + qname-minimization ( strict | relaxed | disabled | off ); + query-source ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + query-source-v6 ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + queryport-pool-ports ; // obsolete + queryport-pool-updateinterval ; // obsolete + rate-limit { + all-per-second ; + errors-per-second ; + exempt-clients { ; ... }; + ipv4-prefix-length ; + ipv6-prefix-length ; + log-only ; + max-table-size ; + min-table-size ; + nodata-per-second ; + nxdomains-per-second ; + qps-scale ; + referrals-per-second ; + responses-per-second ; + slip ; + window ; + }; + recursion ; + request-expire ; + request-ixfr ; + request-nsid ; + request-sit ; // obsolete + require-server-cookie ; + resolver-nonbackoff-tries ; + resolver-query-timeout ; + resolver-retry-interval ; + response-padding { ; ... } block-size + ; + response-policy { zone [ add-soa ] [ log + ] [ max-policy-ttl ] [ min-update-interval + ] [ policy ( cname | disabled | drop | given | no-op + | nodata | nxdomain | passthru | tcp-only ) ] [ + recursive-only ] [ nsip-enable ] [ + nsdname-enable ]; ... } [ add-soa ] [ + break-dnssec ] [ max-policy-ttl ] [ + min-update-interval ] [ min-ns-dots ] [ + nsip-wait-recurse ] [ qname-wait-recurse ] + [ recursive-only ] [ nsip-enable ] [ + nsdname-enable ] [ dnsrps-enable ] [ + dnsrps-options { } ]; + rfc2308-type1 ; // ancient + root-delegation-only [ exclude { ; ... } ]; + root-key-sentinel ; + rrset-order { [ class ] [ type ] [ name + ] ; ... }; + send-cookie ; + serial-update-method ( date | increment | unixtime ); + server { + bogus ; + edns ; + edns-udp-size ; + edns-version ; + keys ; + max-udp-size ; + notify-source ( | * ) [ port ( | * + ) ] [ dscp ]; + notify-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + padding ; + provide-ixfr ; + query-source ( ( [ address ] ( | * ) [ port + ( | * ) ] ) | ( [ [ address ] ( + | * ) ] port ( | * ) ) ) [ + dscp ]; + query-source-v6 ( ( [ address ] ( | * ) [ + port ( | * ) ] ) | ( [ [ address ] ( + | * ) ] port ( | * ) ) ) [ + dscp ]; + request-expire ; + request-ixfr ; + request-nsid ; + request-sit ; // obsolete + send-cookie ; + support-ixfr ; // obsolete + tcp-keepalive ; + tcp-only ; + transfer-format ( many-answers | one-answer ); + transfer-source ( | * ) [ port ( | + * ) ] [ dscp ]; + transfer-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + transfers ; + }; // may occur multiple times + servfail-ttl ; + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + sortlist { ; ... }; + stale-answer-client-timeout ( disabled | off | ); + stale-answer-enable ; + stale-answer-ttl ; + stale-cache-enable ; + stale-refresh-time ; + suppress-initial-notify ; // not yet implemented + synth-from-dnssec ; + topology { ; ... }; // ancient + transfer-format ( many-answers | one-answer ); + transfer-source ( | * ) [ port ( | * ) ] [ + dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + trust-anchor-telemetry ; // experimental + trust-anchors { ( static-key | + initial-key | static-ds | initial-ds + ) + ; ... }; // may occur multiple times + trusted-keys { + + + ; ... }; // may occur multiple times, deprecated + try-tcp-refresh ; + update-check-ksk ; + use-alt-transfer-source ; + use-queryport-pool ; // obsolete + v6-bias ; + validate-except { ; ... }; + zero-no-soa-ttl ; + zero-no-soa-ttl-cache ; + zone [ ] { + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-on { ; ... }; + allow-transfer { ; ... }; + allow-update { ; ... }; + allow-update-forwarding { ; ... }; + also-notify [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; + ... }; + alt-transfer-source ( | * ) [ port ( + | * ) ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + auto-dnssec ( allow | maintain | off ); // deprecated + check-dup-records ( fail | warn | ignore ); + check-integrity ; + check-mx ( fail | warn | ignore ); + check-mx-cname ( fail | warn | ignore ); + check-names ( fail | warn | ignore ); + check-sibling ; + check-spf ( warn | ignore ); + check-srv-cname ( fail | warn | ignore ); + check-wildcard ; + database ; + delegation-only ; + dialup ( notify | notify-passive | passive | refresh | + ); + dlz ; + dnskey-sig-validity ; + dnssec-dnskey-kskonly ; + dnssec-loadkeys-interval ; + dnssec-policy ; + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + file ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( + | ) [ port ] [ + dscp ]; ... }; + in-view ; + inline-signing ; + ixfr-base ; // ancient + ixfr-from-differences ; + ixfr-tmp-file ; // ancient + journal ; + key-directory ; + maintain-ixfr-base ; // ancient + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; + ... }; + max-ixfr-log-size ( default | unlimited | + ); // ancient + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-records ; + max-refresh-time ; + max-retry-time ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + max-zone-ttl ( unlimited | ); + min-refresh-time ; + min-retry-time ; + multi-master ; + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * + ) ] [ dscp ]; + notify-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + notify-to-soa ; + nsec3-test-zone ; // test only + parental-agents [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; + ... }; + parental-source ( | * ) [ port ( | + * ) ] [ dscp ]; + parental-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + primaries [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; + ... }; + pubkey + ; // ancient + request-expire ; + request-ixfr ; + serial-update-method ( date | increment | unixtime ); + server-addresses { ( | ); ... }; + server-names { ; ... }; + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + transfer-source ( | * ) [ port ( | + * ) ] [ dscp ]; + transfer-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + try-tcp-refresh ; + type ( primary | master | secondary | slave | mirror | + delegation-only | forward | hint | redirect | + static-stub | stub ); + update-check-ksk ; + update-policy ( local | { ( deny | grant ) ( + 6to4-self | external | krb5-self | krb5-selfsub | + krb5-subdomain | ms-self | ms-selfsub | ms-subdomain | + name | self | selfsub | selfwild | subdomain | tcp-self + | wildcard | zonesub ) [ ] ; ... } ); + use-alt-transfer-source ; + zero-no-soa-ttl ; + zone-statistics ( full | terse | none | ); + }; // may occur multiple times + zone-statistics ( full | terse | none | ); +}; // may occur multiple times + +zone [ ] { + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-on { ; ... }; + allow-transfer { ; ... }; + allow-update { ; ... }; + allow-update-forwarding { ; ... }; + also-notify [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) + ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | + * ) ] [ dscp ]; + auto-dnssec ( allow | maintain | off ); // deprecated + check-dup-records ( fail | warn | ignore ); + check-integrity ; + check-mx ( fail | warn | ignore ); + check-mx-cname ( fail | warn | ignore ); + check-names ( fail | warn | ignore ); + check-sibling ; + check-spf ( warn | ignore ); + check-srv-cname ( fail | warn | ignore ); + check-wildcard ; + database ; + delegation-only ; + dialup ( notify | notify-passive | passive | refresh | ); + dlz ; + dnskey-sig-validity ; + dnssec-dnskey-kskonly ; + dnssec-loadkeys-interval ; + dnssec-policy ; + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + file ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( + | ) [ port ] [ dscp ]; ... }; + in-view ; + inline-signing ; + ixfr-base ; // ancient + ixfr-from-differences ; + ixfr-tmp-file ; // ancient + journal ; + key-directory ; + maintain-ixfr-base ; // ancient + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( + | [ port ] | [ port + ] ) [ key ]; ... }; + max-ixfr-log-size ( default | unlimited | ); // ancient + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-records ; + max-refresh-time ; + max-retry-time ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + max-zone-ttl ( unlimited | ); + min-refresh-time ; + min-retry-time ; + multi-master ; + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + notify-to-soa ; + nsec3-test-zone ; // test only + parental-agents [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; ... }; + parental-source ( | * ) [ port ( | * ) ] [ + dscp ]; + parental-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + primaries [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; ... }; + pubkey ; // ancient + request-expire ; + request-ixfr ; + serial-update-method ( date | increment | unixtime ); + server-addresses { ( | ); ... }; + server-names { ; ... }; + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + transfer-source ( | * ) [ port ( | * ) ] [ + dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + try-tcp-refresh ; + type ( primary | master | secondary | slave | mirror | + delegation-only | forward | hint | redirect | static-stub | + stub ); + update-check-ksk ; + update-policy ( local | { ( deny | grant ) ( 6to4-self | + external | krb5-self | krb5-selfsub | krb5-subdomain | ms-self + | ms-selfsub | ms-subdomain | name | self | selfsub | selfwild + | subdomain | tcp-self | wildcard | zonesub ) [ ] + ; ... } ); + use-alt-transfer-source ; + zero-no-soa-ttl ; + zone-statistics ( full | terse | none | ); +}; // may occur multiple times + diff --git a/doc/misc/options.active b/doc/misc/options.active new file mode 100644 index 0000000..eb75a86 --- /dev/null +++ b/doc/misc/options.active @@ -0,0 +1,942 @@ + +This is a summary of the named.conf options supported by +this version of BIND 9. + +acl { ; ... }; // may occur multiple times + +controls { + inet ( | | + * ) [ port ( | * ) ] allow + { ; ... } [ + keys { ; ... } ] [ read-only + ]; // may occur multiple times + unix perm + owner group [ + keys { ; ... } ] [ read-only + ]; // may occur multiple times +}; // may occur multiple times + +dlz { + database ; + search ; +}; // may occur multiple times + +dnssec-policy { + dnskey-ttl ; + keys { ( csk | ksk | zsk ) [ ( key-directory ) ] lifetime + algorithm [ ]; ... }; + max-zone-ttl ; + nsec3param [ iterations ] [ optout ] [ + salt-length ]; + parent-ds-ttl ; + parent-propagation-delay ; + publish-safety ; + purge-keys ; + retire-safety ; + signatures-refresh ; + signatures-validity ; + signatures-validity-dnskey ; + zone-propagation-delay ; +}; // may occur multiple times + +dyndb { + }; // may occur multiple times + +key { + algorithm ; + secret ; +}; // may occur multiple times + +logging { + category { ; ... }; // may occur multiple times + channel { + buffered ; + file [ versions ( unlimited | ) ] + [ size ] [ suffix ( increment | timestamp ) ]; + null; + print-category ; + print-severity ; + print-time ( iso8601 | iso8601-utc | local | ); + severity ; + stderr; + syslog [ ]; + }; // may occur multiple times +}; + +managed-keys { ( static-key + | initial-key | static-ds | + initial-ds ) + ; ... }; // may occur multiple times, deprecated + +masters [ port ] [ dscp + ] { ( | + [ port ] | + [ port ] ) [ key + ]; ... }; // may occur multiple times + +options { + allow-new-zones ; + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-cache { ; ... }; + allow-query-cache-on { ; ... }; + allow-query-on { ; ... }; + allow-recursion { ; ... }; + allow-recursion-on { ; ... }; + allow-transfer { ; ... }; + allow-update { ; ... }; + allow-update-forwarding { ; ... }; + also-notify [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) + ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | + * ) ] [ dscp ]; + answer-cookie ; + attach-cache ; + auth-nxdomain ; // default changed + auto-dnssec ( allow | maintain | off ); // deprecated + automatic-interface-scan ; + avoid-v4-udp-ports { ; ... }; + avoid-v6-udp-ports { ; ... }; + bindkeys-file ; + blackhole { ; ... }; + cache-file ; // deprecated + catalog-zones { zone [ default-masters [ port ] + [ dscp ] { ( | [ port + ] | [ port ] ) [ key + ]; ... } ] [ zone-directory ] [ + in-memory ] [ min-update-interval ]; ... }; + check-dup-records ( fail | warn | ignore ); + check-integrity ; + check-mx ( fail | warn | ignore ); + check-mx-cname ( fail | warn | ignore ); + check-names ( primary | master | + secondary | slave | response ) ( + fail | warn | ignore ); // may occur multiple times + check-sibling ; + check-spf ( warn | ignore ); + check-srv-cname ( fail | warn | ignore ); + check-wildcard ; + clients-per-query ; + cookie-algorithm ( aes | siphash24 ); + cookie-secret ; // may occur multiple times + coresize ( default | unlimited | ); + datasize ( default | unlimited | ); + deny-answer-addresses { ; ... } [ + except-from { ; ... } ]; + deny-answer-aliases { ; ... } [ except-from { ; ... + } ]; + dialup ( notify | notify-passive | passive | refresh | ); + directory ; + disable-algorithms { ; + ... }; // may occur multiple times + disable-ds-digests { ; + ... }; // may occur multiple times + disable-empty-zone ; // may occur multiple times + dns64 { + break-dnssec ; + clients { ; ... }; + exclude { ; ... }; + mapped { ; ... }; + recursive-only ; + suffix ; + }; // may occur multiple times + dns64-contact ; + dns64-server ; + dnskey-sig-validity ; + dnsrps-enable ; // not configured + dnsrps-options { }; // not configured + dnssec-accept-expired ; + dnssec-dnskey-kskonly ; + dnssec-loadkeys-interval ; + dnssec-must-be-secure ; // may occur multiple times + dnssec-policy ; + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + dnssec-validation ( yes | no | auto ); + dnstap { ( all | auth | client | forwarder | resolver | update ) [ + ( query | response ) ]; ... }; + dnstap-identity ( | none | hostname ); + dnstap-output ( file | unix ) [ size ( unlimited | + ) ] [ versions ( unlimited | ) ] [ suffix ( + increment | timestamp ) ]; + dnstap-version ( | none ); + dscp ; // deprecated + dual-stack-servers [ port ] { ( [ port + ] [ dscp ] | [ port + ] [ dscp ] | [ port + ] [ dscp ] ); ... }; + dump-file ; + edns-udp-size ; + empty-contact ; + empty-server ; + empty-zones-enable ; + fetch-quota-params ; + fetches-per-server [ ( drop | fail ) ]; + fetches-per-zone [ ( drop | fail ) ]; + files ( default | unlimited | ); + flush-zones-on-shutdown ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( + | ) [ port ] [ dscp ]; ... }; + fstrm-set-buffer-hint ; + fstrm-set-flush-timeout ; + fstrm-set-input-queue-size ; + fstrm-set-output-notify-threshold ; + fstrm-set-output-queue-model ( mpsc | spsc ); + fstrm-set-output-queue-size ; + fstrm-set-reopen-interval ; + geoip-directory ( | none ); + glue-cache ; + heartbeat-interval ; + hostname ( | none ); + interface-interval ; + ixfr-from-differences ( primary | master | secondary | slave | + ); + keep-response-order { ; ... }; + key-directory ; + lame-ttl ; + listen-on [ port ] [ dscp + ] { + ; ... }; // may occur multiple times + listen-on-v6 [ port ] [ dscp + ] { + ; ... }; // may occur multiple times + lmdb-mapsize ; + lock-file ( | none ); + managed-keys-directory ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + match-mapped-addresses ; + max-cache-size ( default | unlimited | | ); + max-cache-ttl ; + max-clients-per-query ; + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-ncache-ttl ; + max-records ; + max-recursion-depth ; + max-recursion-queries ; + max-refresh-time ; + max-retry-time ; + max-rsa-exponent-size ; + max-stale-ttl ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + max-udp-size ; + max-zone-ttl ( unlimited | ); + memstatistics ; + memstatistics-file ; + message-compression ; + min-cache-ttl ; + min-ncache-ttl ; + min-refresh-time ; + min-retry-time ; + minimal-any ; + minimal-responses ( no-auth | no-auth-recursive | ); + multi-master ; + new-zones-directory ; + no-case-compress { ; ... }; + nocookie-udp-size ; + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-rate ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + notify-to-soa ; + nta-lifetime ; + nta-recheck ; + nxdomain-redirect ; + parental-source ( | * ) [ port ( | * ) ] [ + dscp ]; + parental-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + pid-file ( | none ); + port ; + preferred-glue ; + prefetch [ ]; + provide-ixfr ; + qname-minimization ( strict | relaxed | disabled | off ); + query-source ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + query-source-v6 ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + querylog ; + random-device ( | none ); + rate-limit { + all-per-second ; + errors-per-second ; + exempt-clients { ; ... }; + ipv4-prefix-length ; + ipv6-prefix-length ; + log-only ; + max-table-size ; + min-table-size ; + nodata-per-second ; + nxdomains-per-second ; + qps-scale ; + referrals-per-second ; + responses-per-second ; + slip ; + window ; + }; + recursing-file ; + recursion ; + recursive-clients ; + request-expire ; + request-ixfr ; + request-nsid ; + require-server-cookie ; + reserved-sockets ; + resolver-nonbackoff-tries ; + resolver-query-timeout ; + resolver-retry-interval ; + response-padding { ; ... } block-size + ; + response-policy { zone [ add-soa ] [ log + ] [ max-policy-ttl ] [ min-update-interval + ] [ policy ( cname | disabled | drop | given | no-op + | nodata | nxdomain | passthru | tcp-only ) ] [ + recursive-only ] [ nsip-enable ] [ + nsdname-enable ]; ... } [ add-soa ] [ + break-dnssec ] [ max-policy-ttl ] [ + min-update-interval ] [ min-ns-dots ] [ + nsip-wait-recurse ] [ qname-wait-recurse ] + [ recursive-only ] [ nsip-enable ] [ + nsdname-enable ] [ dnsrps-enable ] [ + dnsrps-options { } ]; + reuseport ; + root-delegation-only [ exclude { ; ... } ]; + root-key-sentinel ; + rrset-order { [ class ] [ type ] [ name + ] ; ... }; + secroots-file ; + send-cookie ; + serial-query-rate ; + serial-update-method ( date | increment | unixtime ); + server-id ( | none | hostname ); + servfail-ttl ; + session-keyalg ; + session-keyfile ( | none ); + session-keyname ; + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + sortlist { ; ... }; + stacksize ( default | unlimited | ); + stale-answer-client-timeout ( disabled | off | ); + stale-answer-enable ; + stale-answer-ttl ; + stale-cache-enable ; + stale-refresh-time ; + startup-notify-rate ; + statistics-file ; + synth-from-dnssec ; + tcp-advertised-timeout ; + tcp-clients ; + tcp-idle-timeout ; + tcp-initial-timeout ; + tcp-keepalive-timeout ; + tcp-listen-queue ; + tkey-dhkey ; + tkey-domain ; + tkey-gssapi-credential ; + tkey-gssapi-keytab ; + transfer-format ( many-answers | one-answer ); + transfer-message-size ; + transfer-source ( | * ) [ port ( | * ) ] [ + dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + transfers-in ; + transfers-out ; + transfers-per-ns ; + trust-anchor-telemetry ; // experimental + try-tcp-refresh ; + update-check-ksk ; + update-quota ; + use-alt-transfer-source ; + use-v4-udp-ports { ; ... }; + use-v6-udp-ports { ; ... }; + v6-bias ; + validate-except { ; ... }; + version ( | none ); + zero-no-soa-ttl ; + zero-no-soa-ttl-cache ; + zone-statistics ( full | terse | none | ); +}; + +parental-agents [ port ] [ + dscp ] { ( | + [ port ] | + [ port ] ) [ key + ]; ... }; // may occur multiple times + +plugin ( query ) [ { + } ]; // may occur multiple times + +primaries [ port ] [ dscp + ] { ( | + [ port ] | + [ port ] ) [ key + ]; ... }; // may occur multiple times + +server { + bogus ; + edns ; + edns-udp-size ; + edns-version ; + keys ; + max-udp-size ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + padding ; + provide-ixfr ; + query-source ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + query-source-v6 ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + request-expire ; + request-ixfr ; + request-nsid ; + send-cookie ; + tcp-keepalive ; + tcp-only ; + transfer-format ( many-answers | one-answer ); + transfer-source ( | * ) [ port ( | * ) ] [ + dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + transfers ; +}; // may occur multiple times + +statistics-channels { + inet ( | | + * ) [ port ( | * ) ] [ + allow { ; ... + } ]; // may occur multiple times +}; // may occur multiple times + +trust-anchors { ( static-key | + initial-key | static-ds | initial-ds ) + + ; ... }; // may occur multiple times + +trusted-keys { + + ; ... }; // may occur multiple times, deprecated + +view [ ] { + allow-new-zones ; + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-cache { ; ... }; + allow-query-cache-on { ; ... }; + allow-query-on { ; ... }; + allow-recursion { ; ... }; + allow-recursion-on { ; ... }; + allow-transfer { ; ... }; + allow-update { ; ... }; + allow-update-forwarding { ; ... }; + also-notify [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) + ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | + * ) ] [ dscp ]; + attach-cache ; + auth-nxdomain ; // default changed + auto-dnssec ( allow | maintain | off ); // deprecated + cache-file ; // deprecated + catalog-zones { zone [ default-masters [ port ] + [ dscp ] { ( | [ port + ] | [ port ] ) [ key + ]; ... } ] [ zone-directory ] [ + in-memory ] [ min-update-interval ]; ... }; + check-dup-records ( fail | warn | ignore ); + check-integrity ; + check-mx ( fail | warn | ignore ); + check-mx-cname ( fail | warn | ignore ); + check-names ( primary | master | + secondary | slave | response ) ( + fail | warn | ignore ); // may occur multiple times + check-sibling ; + check-spf ( warn | ignore ); + check-srv-cname ( fail | warn | ignore ); + check-wildcard ; + clients-per-query ; + deny-answer-addresses { ; ... } [ + except-from { ; ... } ]; + deny-answer-aliases { ; ... } [ except-from { ; ... + } ]; + dialup ( notify | notify-passive | passive | refresh | ); + disable-algorithms { ; + ... }; // may occur multiple times + disable-ds-digests { ; + ... }; // may occur multiple times + disable-empty-zone ; // may occur multiple times + dlz { + database ; + search ; + }; // may occur multiple times + dns64 { + break-dnssec ; + clients { ; ... }; + exclude { ; ... }; + mapped { ; ... }; + recursive-only ; + suffix ; + }; // may occur multiple times + dns64-contact ; + dns64-server ; + dnskey-sig-validity ; + dnsrps-enable ; // not configured + dnsrps-options { }; // not configured + dnssec-accept-expired ; + dnssec-dnskey-kskonly ; + dnssec-loadkeys-interval ; + dnssec-must-be-secure ; // may occur multiple times + dnssec-policy ; + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + dnssec-validation ( yes | no | auto ); + dnstap { ( all | auth | client | forwarder | resolver | update ) [ + ( query | response ) ]; ... }; + dual-stack-servers [ port ] { ( [ port + ] [ dscp ] | [ port + ] [ dscp ] | [ port + ] [ dscp ] ); ... }; + dyndb { + }; // may occur multiple times + edns-udp-size ; + empty-contact ; + empty-server ; + empty-zones-enable ; + fetch-quota-params ; + fetches-per-server [ ( drop | fail ) ]; + fetches-per-zone [ ( drop | fail ) ]; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( + | ) [ port ] [ dscp ]; ... }; + glue-cache ; + ixfr-from-differences ( primary | master | secondary | slave | + ); + key { + algorithm ; + secret ; + }; // may occur multiple times + key-directory ; + lame-ttl ; + lmdb-mapsize ; + managed-keys { ( + static-key | initial-key + | static-ds | initial-ds + ) + + ; ... }; // may occur multiple times, deprecated + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + match-clients { ; ... }; + match-destinations { ; ... }; + match-recursive-only ; + max-cache-size ( default | unlimited | | ); + max-cache-ttl ; + max-clients-per-query ; + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-ncache-ttl ; + max-records ; + max-recursion-depth ; + max-recursion-queries ; + max-refresh-time ; + max-retry-time ; + max-stale-ttl ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + max-udp-size ; + max-zone-ttl ( unlimited | ); + message-compression ; + min-cache-ttl ; + min-ncache-ttl ; + min-refresh-time ; + min-retry-time ; + minimal-any ; + minimal-responses ( no-auth | no-auth-recursive | ); + multi-master ; + new-zones-directory ; + no-case-compress { ; ... }; + nocookie-udp-size ; + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + notify-to-soa ; + nta-lifetime ; + nta-recheck ; + nxdomain-redirect ; + parental-source ( | * ) [ port ( | * ) ] [ + dscp ]; + parental-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + plugin ( query ) [ { + } ]; // may occur multiple times + preferred-glue ; + prefetch [ ]; + provide-ixfr ; + qname-minimization ( strict | relaxed | disabled | off ); + query-source ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + query-source-v6 ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + rate-limit { + all-per-second ; + errors-per-second ; + exempt-clients { ; ... }; + ipv4-prefix-length ; + ipv6-prefix-length ; + log-only ; + max-table-size ; + min-table-size ; + nodata-per-second ; + nxdomains-per-second ; + qps-scale ; + referrals-per-second ; + responses-per-second ; + slip ; + window ; + }; + recursion ; + request-expire ; + request-ixfr ; + request-nsid ; + require-server-cookie ; + resolver-nonbackoff-tries ; + resolver-query-timeout ; + resolver-retry-interval ; + response-padding { ; ... } block-size + ; + response-policy { zone [ add-soa ] [ log + ] [ max-policy-ttl ] [ min-update-interval + ] [ policy ( cname | disabled | drop | given | no-op + | nodata | nxdomain | passthru | tcp-only ) ] [ + recursive-only ] [ nsip-enable ] [ + nsdname-enable ]; ... } [ add-soa ] [ + break-dnssec ] [ max-policy-ttl ] [ + min-update-interval ] [ min-ns-dots ] [ + nsip-wait-recurse ] [ qname-wait-recurse ] + [ recursive-only ] [ nsip-enable ] [ + nsdname-enable ] [ dnsrps-enable ] [ + dnsrps-options { } ]; + root-delegation-only [ exclude { ; ... } ]; + root-key-sentinel ; + rrset-order { [ class ] [ type ] [ name + ] ; ... }; + send-cookie ; + serial-update-method ( date | increment | unixtime ); + server { + bogus ; + edns ; + edns-udp-size ; + edns-version ; + keys ; + max-udp-size ; + notify-source ( | * ) [ port ( | * + ) ] [ dscp ]; + notify-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + padding ; + provide-ixfr ; + query-source ( ( [ address ] ( | * ) [ port + ( | * ) ] ) | ( [ [ address ] ( + | * ) ] port ( | * ) ) ) [ + dscp ]; + query-source-v6 ( ( [ address ] ( | * ) [ + port ( | * ) ] ) | ( [ [ address ] ( + | * ) ] port ( | * ) ) ) [ + dscp ]; + request-expire ; + request-ixfr ; + request-nsid ; + send-cookie ; + tcp-keepalive ; + tcp-only ; + transfer-format ( many-answers | one-answer ); + transfer-source ( | * ) [ port ( | + * ) ] [ dscp ]; + transfer-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + transfers ; + }; // may occur multiple times + servfail-ttl ; + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + sortlist { ; ... }; + stale-answer-client-timeout ( disabled | off | ); + stale-answer-enable ; + stale-answer-ttl ; + stale-cache-enable ; + stale-refresh-time ; + synth-from-dnssec ; + transfer-format ( many-answers | one-answer ); + transfer-source ( | * ) [ port ( | * ) ] [ + dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + trust-anchor-telemetry ; // experimental + trust-anchors { ( static-key | + initial-key | static-ds | initial-ds + ) + ; ... }; // may occur multiple times + trusted-keys { + + + ; ... }; // may occur multiple times, deprecated + try-tcp-refresh ; + update-check-ksk ; + use-alt-transfer-source ; + v6-bias ; + validate-except { ; ... }; + zero-no-soa-ttl ; + zero-no-soa-ttl-cache ; + zone [ ] { + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-on { ; ... }; + allow-transfer { ; ... }; + allow-update { ; ... }; + allow-update-forwarding { ; ... }; + also-notify [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; + ... }; + alt-transfer-source ( | * ) [ port ( + | * ) ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + auto-dnssec ( allow | maintain | off ); // deprecated + check-dup-records ( fail | warn | ignore ); + check-integrity ; + check-mx ( fail | warn | ignore ); + check-mx-cname ( fail | warn | ignore ); + check-names ( fail | warn | ignore ); + check-sibling ; + check-spf ( warn | ignore ); + check-srv-cname ( fail | warn | ignore ); + check-wildcard ; + database ; + delegation-only ; + dialup ( notify | notify-passive | passive | refresh | + ); + dlz ; + dnskey-sig-validity ; + dnssec-dnskey-kskonly ; + dnssec-loadkeys-interval ; + dnssec-policy ; + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + file ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( + | ) [ port ] [ + dscp ]; ... }; + in-view ; + inline-signing ; + ixfr-from-differences ; + journal ; + key-directory ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; + ... }; + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-records ; + max-refresh-time ; + max-retry-time ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + max-zone-ttl ( unlimited | ); + min-refresh-time ; + min-retry-time ; + multi-master ; + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * + ) ] [ dscp ]; + notify-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + notify-to-soa ; + parental-agents [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; + ... }; + parental-source ( | * ) [ port ( | + * ) ] [ dscp ]; + parental-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + primaries [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; + ... }; + request-expire ; + request-ixfr ; + serial-update-method ( date | increment | unixtime ); + server-addresses { ( | ); ... }; + server-names { ; ... }; + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + transfer-source ( | * ) [ port ( | + * ) ] [ dscp ]; + transfer-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + try-tcp-refresh ; + type ( primary | master | secondary | slave | mirror | + delegation-only | forward | hint | redirect | + static-stub | stub ); + update-check-ksk ; + update-policy ( local | { ( deny | grant ) ( + 6to4-self | external | krb5-self | krb5-selfsub | + krb5-subdomain | ms-self | ms-selfsub | ms-subdomain | + name | self | selfsub | selfwild | subdomain | tcp-self + | wildcard | zonesub ) [ ] ; ... } ); + use-alt-transfer-source ; + zero-no-soa-ttl ; + zone-statistics ( full | terse | none | ); + }; // may occur multiple times + zone-statistics ( full | terse | none | ); +}; // may occur multiple times + +zone [ ] { + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-on { ; ... }; + allow-transfer { ; ... }; + allow-update { ; ... }; + allow-update-forwarding { ; ... }; + also-notify [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) + ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | + * ) ] [ dscp ]; + auto-dnssec ( allow | maintain | off ); // deprecated + check-dup-records ( fail | warn | ignore ); + check-integrity ; + check-mx ( fail | warn | ignore ); + check-mx-cname ( fail | warn | ignore ); + check-names ( fail | warn | ignore ); + check-sibling ; + check-spf ( warn | ignore ); + check-srv-cname ( fail | warn | ignore ); + check-wildcard ; + database ; + delegation-only ; + dialup ( notify | notify-passive | passive | refresh | ); + dlz ; + dnskey-sig-validity ; + dnssec-dnskey-kskonly ; + dnssec-loadkeys-interval ; + dnssec-policy ; + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + file ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( + | ) [ port ] [ dscp ]; ... }; + in-view ; + inline-signing ; + ixfr-from-differences ; + journal ; + key-directory ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( + | [ port ] | [ port + ] ) [ key ]; ... }; + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-records ; + max-refresh-time ; + max-retry-time ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + max-zone-ttl ( unlimited | ); + min-refresh-time ; + min-retry-time ; + multi-master ; + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + notify-to-soa ; + parental-agents [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; ... }; + parental-source ( | * ) [ port ( | * ) ] [ + dscp ]; + parental-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + primaries [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; ... }; + request-expire ; + request-ixfr ; + serial-update-method ( date | increment | unixtime ); + server-addresses { ( | ); ... }; + server-names { ; ... }; + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + transfer-source ( | * ) [ port ( | * ) ] [ + dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + try-tcp-refresh ; + type ( primary | master | secondary | slave | mirror | + delegation-only | forward | hint | redirect | static-stub | + stub ); + update-check-ksk ; + update-policy ( local | { ( deny | grant ) ( 6to4-self | + external | krb5-self | krb5-selfsub | krb5-subdomain | ms-self + | ms-selfsub | ms-subdomain | name | self | selfsub | selfwild + | subdomain | tcp-self | wildcard | zonesub ) [ ] + ; ... } ); + use-alt-transfer-source ; + zero-no-soa-ttl ; + zone-statistics ( full | terse | none | ); +}; // may occur multiple times + diff --git a/doc/misc/options.grammar.rst b/doc/misc/options.grammar.rst new file mode 100644 index 0000000..beef353 --- /dev/null +++ b/doc/misc/options.grammar.rst @@ -0,0 +1,313 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + options { + allow-new-zones ; + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-cache { ; ... }; + allow-query-cache-on { ; ... }; + allow-query-on { ; ... }; + allow-recursion { ; ... }; + allow-recursion-on { ; ... }; + allow-transfer { ; ... }; + allow-update { ; ... }; + allow-update-forwarding { ; ... }; + also-notify [ port ] [ dscp ] { ( + | [ port ] | + [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) + ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | + * ) ] [ dscp ]; + answer-cookie ; + attach-cache ; + auth-nxdomain ; // default changed + auto-dnssec ( allow | maintain | off ); // deprecated + automatic-interface-scan ; + avoid-v4-udp-ports { ; ... }; + avoid-v6-udp-ports { ; ... }; + bindkeys-file ; + blackhole { ; ... }; + cache-file ; // deprecated + catalog-zones { zone [ default-masters [ port ] + [ dscp ] { ( | [ port + ] | [ port ] ) [ key + ]; ... } ] [ zone-directory ] [ + in-memory ] [ min-update-interval ]; ... }; + check-dup-records ( fail | warn | ignore ); + check-integrity ; + check-mx ( fail | warn | ignore ); + check-mx-cname ( fail | warn | ignore ); + check-names ( primary | master | + secondary | slave | response ) ( + fail | warn | ignore ); + check-sibling ; + check-spf ( warn | ignore ); + check-srv-cname ( fail | warn | ignore ); + check-wildcard ; + clients-per-query ; + cookie-algorithm ( aes | siphash24 ); + cookie-secret ; + coresize ( default | unlimited | ); + datasize ( default | unlimited | ); + deny-answer-addresses { ; ... } [ + except-from { ; ... } ]; + deny-answer-aliases { ; ... } [ except-from { ; ... + } ]; + dialup ( notify | notify-passive | passive | refresh | ); + directory ; + disable-algorithms { ; + ... }; + disable-ds-digests { ; + ... }; + disable-empty-zone ; + dns64 { + break-dnssec ; + clients { ; ... }; + exclude { ; ... }; + mapped { ; ... }; + recursive-only ; + suffix ; + }; + dns64-contact ; + dns64-server ; + dnskey-sig-validity ; + dnsrps-enable ; + dnsrps-options { }; + dnssec-accept-expired ; + dnssec-dnskey-kskonly ; + dnssec-loadkeys-interval ; + dnssec-must-be-secure ; + dnssec-policy ; + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + dnssec-validation ( yes | no | auto ); + dnstap { ( all | auth | client | forwarder | resolver | update ) [ + ( query | response ) ]; ... }; + dnstap-identity ( | none | hostname ); + dnstap-output ( file | unix ) [ size ( unlimited | + ) ] [ versions ( unlimited | ) ] [ suffix ( + increment | timestamp ) ]; + dnstap-version ( | none ); + dscp ; + dual-stack-servers [ port ] { ( [ port + ] [ dscp ] | [ port + ] [ dscp ] | [ port + ] [ dscp ] ); ... }; + dump-file ; + edns-udp-size ; + empty-contact ; + empty-server ; + empty-zones-enable ; + fetch-quota-params ; + fetches-per-server [ ( drop | fail ) ]; + fetches-per-zone [ ( drop | fail ) ]; + files ( default | unlimited | ); + flush-zones-on-shutdown ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( + | ) [ port ] [ dscp ]; ... }; + fstrm-set-buffer-hint ; + fstrm-set-flush-timeout ; + fstrm-set-input-queue-size ; + fstrm-set-output-notify-threshold ; + fstrm-set-output-queue-model ( mpsc | spsc ); + fstrm-set-output-queue-size ; + fstrm-set-reopen-interval ; + geoip-directory ( | none ); + glue-cache ; + heartbeat-interval ; + hostname ( | none ); + interface-interval ; + ixfr-from-differences ( primary | master | secondary | slave | + ); + keep-response-order { ; ... }; + key-directory ; + lame-ttl ; + listen-on [ port ] [ dscp + ] { + ; ... }; + listen-on-v6 [ port ] [ dscp + ] { + ; ... }; + lmdb-mapsize ; + lock-file ( | none ); + managed-keys-directory ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + match-mapped-addresses ; + max-cache-size ( default | unlimited | | ); + max-cache-ttl ; + max-clients-per-query ; + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-ncache-ttl ; + max-records ; + max-recursion-depth ; + max-recursion-queries ; + max-refresh-time ; + max-retry-time ; + max-rsa-exponent-size ; + max-stale-ttl ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + max-udp-size ; + max-zone-ttl ( unlimited | ); + memstatistics ; + memstatistics-file ; + message-compression ; + min-cache-ttl ; + min-ncache-ttl ; + min-refresh-time ; + min-retry-time ; + minimal-any ; + minimal-responses ( no-auth | no-auth-recursive | ); + multi-master ; + new-zones-directory ; + no-case-compress { ; ... }; + nocookie-udp-size ; + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-rate ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + notify-to-soa ; + nta-lifetime ; + nta-recheck ; + nxdomain-redirect ; + parental-source ( | * ) [ port ( | * ) ] [ + dscp ]; + parental-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + pid-file ( | none ); + port ; + preferred-glue ; + prefetch [ ]; + provide-ixfr ; + qname-minimization ( strict | relaxed | disabled | off ); + query-source ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + query-source-v6 ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + querylog ; + random-device ( | none ); + rate-limit { + all-per-second ; + errors-per-second ; + exempt-clients { ; ... }; + ipv4-prefix-length ; + ipv6-prefix-length ; + log-only ; + max-table-size ; + min-table-size ; + nodata-per-second ; + nxdomains-per-second ; + qps-scale ; + referrals-per-second ; + responses-per-second ; + slip ; + window ; + }; + recursing-file ; + recursion ; + recursive-clients ; + request-expire ; + request-ixfr ; + request-nsid ; + require-server-cookie ; + reserved-sockets ; + resolver-nonbackoff-tries ; + resolver-query-timeout ; + resolver-retry-interval ; + response-padding { ; ... } block-size + ; + response-policy { zone [ add-soa ] [ log + ] [ max-policy-ttl ] [ min-update-interval + ] [ policy ( cname | disabled | drop | given | no-op + | nodata | nxdomain | passthru | tcp-only ) ] [ + recursive-only ] [ nsip-enable ] [ + nsdname-enable ]; ... } [ add-soa ] [ + break-dnssec ] [ max-policy-ttl ] [ + min-update-interval ] [ min-ns-dots ] [ + nsip-wait-recurse ] [ qname-wait-recurse ] + [ recursive-only ] [ nsip-enable ] [ + nsdname-enable ] [ dnsrps-enable ] [ + dnsrps-options { } ]; + reuseport ; + root-delegation-only [ exclude { ; ... } ]; + root-key-sentinel ; + rrset-order { [ class ] [ type ] [ name + ] ; ... }; + secroots-file ; + send-cookie ; + serial-query-rate ; + serial-update-method ( date | increment | unixtime ); + server-id ( | none | hostname ); + servfail-ttl ; + session-keyalg ; + session-keyfile ( | none ); + session-keyname ; + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + sortlist { ; ... }; + stacksize ( default | unlimited | ); + stale-answer-client-timeout ( disabled | off | ); + stale-answer-enable ; + stale-answer-ttl ; + stale-cache-enable ; + stale-refresh-time ; + startup-notify-rate ; + statistics-file ; + synth-from-dnssec ; + tcp-advertised-timeout ; + tcp-clients ; + tcp-idle-timeout ; + tcp-initial-timeout ; + tcp-keepalive-timeout ; + tcp-listen-queue ; + tkey-dhkey ; + tkey-domain ; + tkey-gssapi-credential ; + tkey-gssapi-keytab ; + transfer-format ( many-answers | one-answer ); + transfer-message-size ; + transfer-source ( | * ) [ port ( | * ) ] [ + dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + transfers-in ; + transfers-out ; + transfers-per-ns ; + trust-anchor-telemetry ; // experimental + try-tcp-refresh ; + update-check-ksk ; + update-quota ; + use-alt-transfer-source ; + use-v4-udp-ports { ; ... }; + use-v6-udp-ports { ; ... }; + v6-bias ; + validate-except { ; ... }; + version ( | none ); + zero-no-soa-ttl ; + zero-no-soa-ttl-cache ; + zone-statistics ( full | terse | none | ); + }; diff --git a/doc/misc/parental-agents.grammar.rst b/doc/misc/parental-agents.grammar.rst new file mode 100644 index 0000000..509d01c --- /dev/null +++ b/doc/misc/parental-agents.grammar.rst @@ -0,0 +1,18 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + parental-agents [ port ] [ + dscp ] { ( | + [ port ] | + [ port ] ) [ key + ]; ... }; diff --git a/doc/misc/primaries.grammar.rst b/doc/misc/primaries.grammar.rst new file mode 100644 index 0000000..7e1901e --- /dev/null +++ b/doc/misc/primaries.grammar.rst @@ -0,0 +1,18 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + primaries [ port ] [ dscp + ] { ( | + [ port ] | + [ port ] ) [ key + ]; ... }; diff --git a/doc/misc/redirect.zoneopt b/doc/misc/redirect.zoneopt new file mode 100644 index 0000000..6a5ef66 --- /dev/null +++ b/doc/misc/redirect.zoneopt @@ -0,0 +1,14 @@ +zone [ ] { + type redirect; + allow-query { ; ... }; + allow-query-on { ; ... }; + dlz ; + file ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + max-records ; + max-zone-ttl ( unlimited | ); + primaries [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + zone-statistics ( full | terse | none | ); +}; diff --git a/doc/misc/redirect.zoneopt.rst b/doc/misc/redirect.zoneopt.rst new file mode 100644 index 0000000..51c378a --- /dev/null +++ b/doc/misc/redirect.zoneopt.rst @@ -0,0 +1,27 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + zone [ ] { + type redirect; + allow-query { ; ... }; + allow-query-on { ; ... }; + dlz ; + file ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + max-records ; + max-zone-ttl ( unlimited | ); + primaries [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + zone-statistics ( full | terse | none | ); + }; diff --git a/doc/misc/rst-grammars.pl b/doc/misc/rst-grammars.pl new file mode 100644 index 0000000..56ff5ea --- /dev/null +++ b/doc/misc/rst-grammars.pl @@ -0,0 +1,81 @@ +#!/usr/bin/perl + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# 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 https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +use warnings; +use strict; + +if (@ARGV < 2) { + print STDERR <<'END'; +usage: + perl docbook-options.pl options_file section > section.grammar.xml +END + exit 1; +} + +my $FILE = shift; +my $SECTION = shift; + +open (FH, "<", $FILE) or die "Can't open $FILE"; + +print <) { + if (m{^\s*$}) { + last if $preamble > 0; + } else { + $preamble++; + } +} + +my $display = 0; +while () { + if (m{^$SECTION\b}) { + $display = 1 + } + + if (m{// not.*implemented} || m{// obsolete} || + m{// ancient} || m{// test.*only}) + { + next; + } + + s{ // not configured}{}; + s{ // non-operational}{}; + s{ // may occur multiple times}{}; + s{[[]}{[}g; + s{[]]}{]}g; + s{ }{\t}g; + + if (m{^\s*$} && $display) { + last; + } + if ($display) { + print " " . $_; + } +} diff --git a/doc/misc/rst-options.pl b/doc/misc/rst-options.pl new file mode 100644 index 0000000..7b5d490 --- /dev/null +++ b/doc/misc/rst-options.pl @@ -0,0 +1,135 @@ +#!/usr/bin/perl + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# 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 https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +use warnings; +use strict; + +if (@ARGV < 1) { + print STDERR <<'END'; +usage: + perl rst-options.pl options_file >named.conf.rst +END + exit 1; +} + +my $FILE = shift; + +open (FH, "<", $FILE) or die "Can't open $FILE"; + +print <) { + if (m{^\s*$}) { + last if $preamble > 0; + } else { + $preamble++; + } +} + +my $blank = 0; +while () { + if (m{// not.*implemented} || m{// obsolete} || + m{// ancient} || m{// test.*only}) + { + next; + } + + s{ // not configured}{}; + s{ // non-operational}{}; + s{ (// )*may occur multiple times}{}; + s{<([a-z0-9_-]+)>}{$1}g; + s{ // deprecated,*}{// deprecated}; + s{[[]}{[}g; + s{[]]}{]}g; + s{ }{\t}g; + if (m{^([a-z0-9-]+) }) { + my $HEADING = uc $1; + my $UNDERLINE = $HEADING; + $UNDERLINE =~ s/./^/g; + print $HEADING . "\n"; + print $UNDERLINE . "\n\n"; + if ($HEADING eq "TRUSTED-KEYS") { + print "Deprecated - see DNSSEC-KEYS.\n\n"; + } + if ($HEADING eq "MANAGED-KEYS") { + print "See DNSSEC-KEYS.\n\n" ; + } + print "::\n\n"; + } + + if (m{^\s*$}) { + if (!$blank) { + print "\n"; + $blank = 1; + } + next; + } else { + $blank = 0; + } + print " " . $_; + +} + +print <) { + if (m{// not.*implemented} || m{// obsolete} || + m{// ancient} || m{// test.*only}) + { + next; + } + + s{ // not configured}{}; + s{ // may occur multiple times}{}; + s{[[]}{[}g; + s{[]]}{]}g; + s{ }{\t}g; + + print " " . $_; +} diff --git a/doc/misc/server.grammar.rst b/doc/misc/server.grammar.rst new file mode 100644 index 0000000..526636e --- /dev/null +++ b/doc/misc/server.grammar.rst @@ -0,0 +1,45 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + server { + bogus ; + edns ; + edns-udp-size ; + edns-version ; + keys ; + max-udp-size ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + padding ; + provide-ixfr ; + query-source ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + query-source-v6 ( ( [ address ] ( | * ) [ port ( + | * ) ] ) | ( [ [ address ] ( | * ) ] + port ( | * ) ) ) [ dscp ]; + request-expire ; + request-ixfr ; + request-nsid ; + send-cookie ; + tcp-keepalive ; + tcp-only ; + transfer-format ( many-answers | one-answer ); + transfer-source ( | * ) [ port ( | * ) ] [ + dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + transfers ; + }; diff --git a/doc/misc/slave.zoneopt b/doc/misc/slave.zoneopt new file mode 100644 index 0000000..c46202d --- /dev/null +++ b/doc/misc/slave.zoneopt @@ -0,0 +1,65 @@ +zone [ ] { + type ( slave | secondary ); + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-on { ; ... }; + allow-transfer { ; ... }; + allow-update-forwarding { ; ... }; + also-notify [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + auto-dnssec ( allow | maintain | off ); // deprecated + check-names ( fail | warn | ignore ); + database ; + dialup ( notify | notify-passive | passive | refresh | ); + dlz ; + dnskey-sig-validity ; + dnssec-dnskey-kskonly ; + dnssec-loadkeys-interval ; + dnssec-policy ; + dnssec-update-mode ( maintain | no-resign ); + file ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... }; + inline-signing ; + ixfr-from-differences ; + journal ; + key-directory ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-records ; + max-refresh-time ; + max-retry-time ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + min-refresh-time ; + min-retry-time ; + multi-master ; + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + notify-to-soa ; + parental-agents [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + parental-source ( | * ) [ port ( | * ) ] [ dscp ]; + parental-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + primaries [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + request-expire ; + request-ixfr ; + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + try-tcp-refresh ; + update-check-ksk ; + use-alt-transfer-source ; + zero-no-soa-ttl ; + zone-statistics ( full | terse | none | ); +}; diff --git a/doc/misc/slave.zoneopt.rst b/doc/misc/slave.zoneopt.rst new file mode 100644 index 0000000..468a7f4 --- /dev/null +++ b/doc/misc/slave.zoneopt.rst @@ -0,0 +1,78 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + zone [ ] { + type ( slave | secondary ); + allow-notify { ; ... }; + allow-query { ; ... }; + allow-query-on { ; ... }; + allow-transfer { ; ... }; + allow-update-forwarding { ; ... }; + also-notify [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + alt-transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + alt-transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + auto-dnssec ( allow | maintain | off ); // deprecated + check-names ( fail | warn | ignore ); + database ; + dialup ( notify | notify-passive | passive | refresh | ); + dlz ; + dnskey-sig-validity ; + dnssec-dnskey-kskonly ; + dnssec-loadkeys-interval ; + dnssec-policy ; + dnssec-update-mode ( maintain | no-resign ); + file ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... }; + inline-signing ; + ixfr-from-differences ; + journal ; + key-directory ; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + max-ixfr-ratio ( unlimited | ); + max-journal-size ( default | unlimited | ); + max-records ; + max-refresh-time ; + max-retry-time ; + max-transfer-idle-in ; + max-transfer-idle-out ; + max-transfer-time-in ; + max-transfer-time-out ; + min-refresh-time ; + min-retry-time ; + multi-master ; + notify ( explicit | master-only | primary-only | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + notify-to-soa ; + parental-agents [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + parental-source ( | * ) [ port ( | * ) ] [ dscp ]; + parental-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + primaries [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + request-expire ; + request-ixfr ; + sig-signing-nodes ; + sig-signing-signatures ; + sig-signing-type ; + sig-validity-interval [ ]; + transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + try-tcp-refresh ; + update-check-ksk ; + use-alt-transfer-source ; + zero-no-soa-ttl ; + zone-statistics ( full | terse | none | ); + }; diff --git a/doc/misc/sort-options.pl b/doc/misc/sort-options.pl new file mode 100644 index 0000000..f60b0b7 --- /dev/null +++ b/doc/misc/sort-options.pl @@ -0,0 +1,45 @@ +#!/bin/perl + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# 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 https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +sub sortlevel() { + my @options = (); + my $fin = ""; + my $i = 0; + while (<>) { + if (/^\s*};$/ || /^\s*}; \/\/.*$/) { + $fin = $_; + # print 2, $_; + last; + } + next if (/^$/); + if (/{$/) { + # print 3, $_; + my $sec = $_; + push(@options, $sec . sortlevel()); + } else { + push(@options, $_); + # print 1, $_; + } + $i++; + } + my $result = ""; + foreach my $i (sort @options) { + $result = ${result}.${i}; + $result = $result."\n" if ($i =~ /^[a-z]/i); + # print 5, ${i}; + } + $result = ${result}.${fin}; + return ($result); +} + +print sortlevel(); diff --git a/doc/misc/static-stub.zoneopt b/doc/misc/static-stub.zoneopt new file mode 100644 index 0000000..f89d462 --- /dev/null +++ b/doc/misc/static-stub.zoneopt @@ -0,0 +1,11 @@ +zone [ ] { + type static-stub; + allow-query { ; ... }; + allow-query-on { ; ... }; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... }; + max-records ; + server-addresses { ( | ); ... }; + server-names { ; ... }; + zone-statistics ( full | terse | none | ); +}; diff --git a/doc/misc/static-stub.zoneopt.rst b/doc/misc/static-stub.zoneopt.rst new file mode 100644 index 0000000..d307586 --- /dev/null +++ b/doc/misc/static-stub.zoneopt.rst @@ -0,0 +1,24 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + zone [ ] { + type static-stub; + allow-query { ; ... }; + allow-query-on { ; ... }; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... }; + max-records ; + server-addresses { ( | ); ... }; + server-names { ; ... }; + zone-statistics ( full | terse | none | ); + }; diff --git a/doc/misc/statistics-channels.grammar.rst b/doc/misc/statistics-channels.grammar.rst new file mode 100644 index 0000000..7a4ef27 --- /dev/null +++ b/doc/misc/statistics-channels.grammar.rst @@ -0,0 +1,19 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + statistics-channels { + inet ( | | + * ) [ port ( | * ) ] [ + allow { ; ... + } ]; + }; diff --git a/doc/misc/stub.zoneopt b/doc/misc/stub.zoneopt new file mode 100644 index 0000000..2db604d --- /dev/null +++ b/doc/misc/stub.zoneopt @@ -0,0 +1,28 @@ +zone [ ] { + type stub; + allow-query { ; ... }; + allow-query-on { ; ... }; + check-names ( fail | warn | ignore ); + database ; + delegation-only ; + dialup ( notify | notify-passive | passive | refresh | ); + file ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... }; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + max-records ; + max-refresh-time ; + max-retry-time ; + max-transfer-idle-in ; + max-transfer-time-in ; + min-refresh-time ; + min-retry-time ; + multi-master ; + primaries [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + use-alt-transfer-source ; + zone-statistics ( full | terse | none | ); +}; diff --git a/doc/misc/stub.zoneopt.rst b/doc/misc/stub.zoneopt.rst new file mode 100644 index 0000000..6b5ce2d --- /dev/null +++ b/doc/misc/stub.zoneopt.rst @@ -0,0 +1,41 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + zone [ ] { + type stub; + allow-query { ; ... }; + allow-query-on { ; ... }; + check-names ( fail | warn | ignore ); + database ; + delegation-only ; + dialup ( notify | notify-passive | passive | refresh | ); + file ; + forward ( first | only ); + forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... }; + masterfile-format ( map | raw | text ); + masterfile-style ( full | relative ); + masters [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + max-records ; + max-refresh-time ; + max-retry-time ; + max-transfer-idle-in ; + max-transfer-time-in ; + min-refresh-time ; + min-retry-time ; + multi-master ; + primaries [ port ] [ dscp ] { ( | [ port ] | [ port ] ) [ key ]; ... }; + transfer-source ( | * ) [ port ( | * ) ] [ dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; + use-alt-transfer-source ; + zone-statistics ( full | terse | none | ); + }; diff --git a/doc/misc/trust-anchors.grammar.rst b/doc/misc/trust-anchors.grammar.rst new file mode 100644 index 0000000..eabe7c0 --- /dev/null +++ b/doc/misc/trust-anchors.grammar.rst @@ -0,0 +1,17 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + trust-anchors { ( static-key | + initial-key | static-ds | initial-ds ) + + ; ... }; diff --git a/doc/misc/trusted-keys.grammar.rst b/doc/misc/trusted-keys.grammar.rst new file mode 100644 index 0000000..55cfa38 --- /dev/null +++ b/doc/misc/trusted-keys.grammar.rst @@ -0,0 +1,16 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. 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 https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +:: + + trusted-keys { + + ; ... };, deprecated -- cgit v1.2.3