diff --git a/bin/named/named.conf.docbook b/bin/named/named.conf.docbook index 61d6225e77..a013873e18 100644 --- a/bin/named/named.conf.docbook +++ b/bin/named/named.conf.docbook @@ -13,7 +13,7 @@ - 2019-06-28 + 2019-08-07 ISC @@ -154,7 +154,6 @@ logging { - MANAGED-KEYS Deprecated - see DNSSEC-KEYS. @@ -253,9 +252,6 @@ options { dnssec-accept-expired boolean; dnssec-dnskey-kskonly boolean; dnssec-loadkeys-interval integer; - dnssec-lookaside ( string - trust-anchor string | - auto | no ); deprecated dnssec-must-be-secure string boolean; dnssec-secure-to-insecure boolean; dnssec-update-mode ( maintain | no-resign ); @@ -614,9 +610,6 @@ view string [ class ] { initial-key ) integer integer integer quoted_string; ... }; dnssec-loadkeys-interval integer; - dnssec-lookaside ( string - trust-anchor string | - auto | no ); deprecated dnssec-must-be-secure string boolean; dnssec-secure-to-insecure boolean; dnssec-update-mode ( maintain | no-resign ); @@ -866,7 +859,6 @@ view string [ class ] { masters [ port integer ] [ dscp integer ] { ( masters | ipv4_address [ port integer ] | ipv6_address [ port integer ] ) [ key string ]; ... }; - max-ixfr-log-size ( default | unlimited | max-journal-size ( default | unlimited | sizeval ); max-records integer; max-refresh-time integer; @@ -886,7 +878,6 @@ view string [ class ] { notify-source-v6 ( ipv6_address | * ) [ port ( integer | * ) ] [ dscp integer ]; notify-to-soa boolean; - pubkey integer integer integer request-expire boolean; request-ixfr boolean; serial-update-method ( date | increment | unixtime ); diff --git a/bin/tests/cfg_test.c b/bin/tests/cfg_test.c index cb5cf8c614..d16b3bd699 100644 --- a/bin/tests/cfg_test.c +++ b/bin/tests/cfg_test.c @@ -49,7 +49,8 @@ output(void *closure, const char *text, int textlen) { static void usage(void) { fprintf(stderr, "usage: cfg_test --rndc|--named " - "[--grammar] [--memstats] conffile\n"); + "[--grammar] [--zonegrammar] [--active] " + "[--memstats] conffile\n"); exit(1); } @@ -67,6 +68,7 @@ main(int argc, char **argv) { bool memstats = false; char *filename = NULL; unsigned int zonetype = 0; + unsigned int pflags = 0; RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS); @@ -98,7 +100,9 @@ main(int argc, char **argv) { usage(); while (argc > 1) { - if (strcmp(argv[1], "--grammar") == 0) { + if (strcmp(argv[1], "--active") == 0) { + pflags |= CFG_PRINTER_ACTIVEONLY; + } else if (strcmp(argv[1], "--grammar") == 0) { grammar = true; } else if (strcmp(argv[1], "--zonegrammar") == 0) { argv++, argc--; @@ -149,13 +153,14 @@ main(int argc, char **argv) { if (grammar) { if (type == NULL) usage(); - cfg_print_grammar(type, output, NULL); + cfg_print_grammar(type, pflags, output, NULL); } else if (zonetype != 0) { - cfg_print_zonegrammar(zonetype, output, NULL); + cfg_print_zonegrammar(zonetype, pflags, output, NULL); } else { if (type == NULL || filename == NULL) usage(); - RUNTIME_CHECK(cfg_parser_create(mctx, lctx, &pctx) == ISC_R_SUCCESS); + RUNTIME_CHECK(cfg_parser_create(mctx, lctx, &pctx) == + ISC_R_SUCCESS); result = cfg_parse_file(pctx, filename, type, &cfg); diff --git a/doc/arm/options.grammar.xml b/doc/arm/options.grammar.xml index ed399c07dd..3cd76e6d3d 100644 --- a/doc/arm/options.grammar.xml +++ b/doc/arm/options.grammar.xml @@ -58,7 +58,7 @@ check-srv-cname ( fail | warn | ignore ); check-wildcard boolean; clients-per-query integer; - cookie-algorithm ( aes | sha1 | sha256 ); + cookie-algorithm ( aes | siphash24 ); cookie-secret string; coresize ( default | unlimited | sizeval ); datasize ( default | unlimited | sizeval ); @@ -89,9 +89,6 @@ dnssec-accept-expired boolean; dnssec-dnskey-kskonly boolean; dnssec-loadkeys-interval integer; - dnssec-lookaside ( string - trust-anchor string | - auto | no ); deprecated dnssec-must-be-secure string boolean; dnssec-secure-to-insecure boolean; dnssec-update-mode ( maintain | no-resign ); diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 0483f587b8..d6a0dcf1d9 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -33,26 +33,30 @@ options: FORCE if test -x ${CFG_TEST} ; \ then \ ${CFG_TEST} --named --grammar > $@.raw ; \ - ${CFG_TEST} --zonegrammar master > master.zoneopt ; \ - ${CFG_TEST} --zonegrammar slave > slave.zoneopt ; \ - ${CFG_TEST} --zonegrammar mirror > mirror.zoneopt ; \ - ${CFG_TEST} --zonegrammar forward > forward.zoneopt ; \ - ${CFG_TEST} --zonegrammar hint > hint.zoneopt ; \ - ${CFG_TEST} --zonegrammar stub > stub.zoneopt ; \ - ${CFG_TEST} --zonegrammar static-stub > static-stub.zoneopt ; \ - ${CFG_TEST} --zonegrammar redirect > redirect.zoneopt ; \ - ${CFG_TEST} --zonegrammar delegation-only > delegation-only.zoneopt ; \ - ${CFG_TEST} --zonegrammar in-view > in-view.zoneopt ; \ ${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 docbook: options - ${PERL} docbook-options.pl options > ${top_srcdir}/bin/named/named.conf.docbook + ${PERL} docbook-options.pl options.active > ${top_srcdir}/bin/named/named.conf.docbook ${PERL} docbook-zoneopt.pl master.zoneopt > ${top_srcdir}/doc/arm/master.zoneopt.xml ${PERL} docbook-zoneopt.pl slave.zoneopt > ${top_srcdir}/doc/arm/slave.zoneopt.xml ${PERL} docbook-zoneopt.pl mirror.zoneopt > ${top_srcdir}/doc/arm/mirror.zoneopt.xml @@ -63,14 +67,14 @@ docbook: options ${PERL} docbook-zoneopt.pl redirect.zoneopt > ${top_srcdir}/doc/arm/redirect.zoneopt.xml ${PERL} docbook-zoneopt.pl delegation-only.zoneopt > ${top_srcdir}/doc/arm/delegation-only.zoneopt.xml ${PERL} docbook-zoneopt.pl in-view.zoneopt > ${top_srcdir}/doc/arm/in-view.zoneopt.xml - ${PERL} docbook-grammars.pl options acl > ${top_srcdir}/doc/arm/acl.grammar.xml - ${PERL} docbook-grammars.pl options controls > ${top_srcdir}/doc/arm/controls.grammar.xml - ${PERL} docbook-grammars.pl options key > ${top_srcdir}/doc/arm/key.grammar.xml - ${PERL} docbook-grammars.pl options logging > ${top_srcdir}/doc/arm/logging.grammar.xml - ${PERL} docbook-grammars.pl options masters > ${top_srcdir}/doc/arm/masters.grammar.xml - ${PERL} docbook-grammars.pl options options > ${top_srcdir}/doc/arm/options.grammar.xml - ${PERL} docbook-grammars.pl options server > ${top_srcdir}/doc/arm/server.grammar.xml - ${PERL} docbook-grammars.pl options statistics-channels > ${top_srcdir}/doc/arm/statistics-channels.grammar.xml - ${PERL} docbook-grammars.pl options dnssec-keys > ${top_srcdir}/doc/arm/dnssec-keys.grammar.xml - ${PERL} docbook-grammars.pl options managed-keys > ${top_srcdir}/doc/arm/managed-keys.grammar.xml - ${PERL} docbook-grammars.pl options trusted-keys > ${top_srcdir}/doc/arm/trusted-keys.grammar.xml + ${PERL} docbook-grammars.pl options.active acl > ${top_srcdir}/doc/arm/acl.grammar.xml + ${PERL} docbook-grammars.pl options.active controls > ${top_srcdir}/doc/arm/controls.grammar.xml + ${PERL} docbook-grammars.pl options.active key > ${top_srcdir}/doc/arm/key.grammar.xml + ${PERL} docbook-grammars.pl options.active logging > ${top_srcdir}/doc/arm/logging.grammar.xml + ${PERL} docbook-grammars.pl options.active masters > ${top_srcdir}/doc/arm/masters.grammar.xml + ${PERL} docbook-grammars.pl options.active options > ${top_srcdir}/doc/arm/options.grammar.xml + ${PERL} docbook-grammars.pl options.active server > ${top_srcdir}/doc/arm/server.grammar.xml + ${PERL} docbook-grammars.pl options.active statistics-channels > ${top_srcdir}/doc/arm/statistics-channels.grammar.xml + ${PERL} docbook-grammars.pl options.active dnssec-keys > ${top_srcdir}/doc/arm/dnssec-keys.grammar.xml + ${PERL} docbook-grammars.pl options.active managed-keys > ${top_srcdir}/doc/arm/managed-keys.grammar.xml + ${PERL} docbook-grammars.pl options.active trusted-keys > ${top_srcdir}/doc/arm/trusted-keys.grammar.xml diff --git a/doc/misc/docbook-grammars.pl b/doc/misc/docbook-grammars.pl index 98236beec9..9eb8c81126 100644 --- a/doc/misc/docbook-grammars.pl +++ b/doc/misc/docbook-grammars.pl @@ -59,12 +59,6 @@ while () { $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,*}{}; diff --git a/doc/misc/docbook-options.pl b/doc/misc/docbook-options.pl index 92f3c78bd4..7d29c0742d 100644 --- a/doc/misc/docbook-options.pl +++ b/doc/misc/docbook-options.pl @@ -120,12 +120,6 @@ while () { 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,*}{}; @@ -140,22 +134,22 @@ while () { $HEADING END - if ($1 eq "trusted-keys") { - print <Deprecated - see DNSSEC-KEYS. END - } + } - if ($1 eq "managed-keys") { - print <Deprecated - see DNSSEC-KEYS. END - } + } print < END - } + } if (m{^\s*$} && !$blank) { $blank = 1; diff --git a/doc/misc/docbook-zoneopt.pl b/doc/misc/docbook-zoneopt.pl index 0a1354bba2..14d156be1a 100644 --- a/doc/misc/docbook-zoneopt.pl +++ b/doc/misc/docbook-zoneopt.pl @@ -44,12 +44,6 @@ print <) { - if (m{// not.*implemented} || m{// obsolete} || - m{// ancient} || m{// test.*only}) - { - next; - } - s{ // not configured}{}; s{ // may occur multiple times,*}{}; s{<([a-z0-9_-]+)>}{$1}g; diff --git a/doc/misc/format-options.pl b/doc/misc/format-options.pl index 338d61ebdb..5fa3db11a0 100644 --- a/doc/misc/format-options.pl +++ b/doc/misc/format-options.pl @@ -11,7 +11,7 @@ print < [ ] { notify-source ( | * ) [ port ( | * ) ] [ dscp ]; notify-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; notify-to-soa ; - nsec3-test-zone ; // test only serial-update-method ( date | increment | unixtime ); sig-signing-nodes ; sig-signing-signatures ; diff --git a/doc/misc/options b/doc/misc/options index 15638335e0..f06de0a369 100644 --- a/doc/misc/options +++ b/doc/misc/options @@ -1,5 +1,5 @@ -This is a summary of the named.conf options supported by +This is a summary of the named.conf options supported by this version of BIND 9. acl { ; ... }; // may occur multiple times @@ -148,7 +148,7 @@ options { dnssec-loadkeys-interval ; dnssec-lookaside ( trust-anchor | - auto | no ); // may occur multiple times, deprecated + auto | no ); // obsolete, may occur multiple times dnssec-must-be-secure ; // may occur multiple times dnssec-secure-to-insecure ; dnssec-update-mode ( maintain | no-resign ); @@ -193,7 +193,7 @@ options { fstrm-set-output-queue-model ( mpsc | spsc ); // not configured fstrm-set-output-queue-size ; // not configured fstrm-set-reopen-interval ; // not configured - geoip-directory ( | none ); // not configured + geoip-directory ( | none ); geoip-use-ecs ; // obsolete glue-cache ; has-old-clients ; // ancient @@ -214,7 +214,7 @@ options { listen-on-v6 [ port ] [ dscp ] { ; ... }; // may occur multiple times - lmdb-mapsize ; // non-operational + lmdb-mapsize ; lock-file ( | none ); maintain-ixfr-base ; // ancient managed-keys-directory ; @@ -527,7 +527,7 @@ view [ ] { dnssec-loadkeys-interval ; dnssec-lookaside ( trust-anchor | - auto | no ); // may occur multiple times, deprecated + auto | no ); // obsolete, may occur multiple times dnssec-must-be-secure ; // may occur multiple times dnssec-secure-to-insecure ; dnssec-update-mode ( maintain | no-resign ); @@ -565,7 +565,7 @@ view [ ] { }; // may occur multiple times key-directory ; lame-ttl ; - lmdb-mapsize ; // non-operational + lmdb-mapsize ; maintain-ixfr-base ; // ancient managed-keys { ( static-key | initial-key diff --git a/doc/misc/options.active b/doc/misc/options.active new file mode 100644 index 0000000000..9820f026ac --- /dev/null +++ b/doc/misc/options.active @@ -0,0 +1,867 @@ + +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-keys { ( static-key | + initial-key ) + ; ... }; // 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 ) + + ; ... }; // 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 ); + automatic-interface-scan ; + avoid-v4-udp-ports { ; ... }; + avoid-v6-udp-ports { ; ... }; + bindkeys-file ; + blackhole { ; ... }; + cache-file ; + 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-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + dnssec-validation ( yes | no | auto ); + dnstap { ( all | auth | client | forwarder | + resolver | update ) [ ( query | response ) ]; + ... }; // not configured + dnstap-identity ( | none | + hostname ); // not configured + dnstap-output ( file | unix ) [ + size ( unlimited | ) ] [ versions ( + unlimited | ) ] [ suffix ( increment + | timestamp ) ]; // not configured + dnstap-version ( | none ); // not configured + 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 ; // not configured + fstrm-set-flush-timeout ; // not configured + fstrm-set-input-queue-size ; // not configured + fstrm-set-output-notify-threshold ; // not configured + fstrm-set-output-queue-model ( mpsc | spsc ); // not configured + fstrm-set-output-queue-size ; // not configured + fstrm-set-reopen-interval ; // not configured + geoip-directory ( | none ); + glue-cache ; + heartbeat-interval ; + hostname ( | none ); + inline-signing ; + 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-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 | ); + notify-delay ; + notify-rate ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + notify-to-soa ; + nta-lifetime ; + nta-recheck ; + nxdomain-redirect ; + 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 { } ]; + 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-enable ; + stale-answer-ttl ; + 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 ; + 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 | ); +}; + +plugin ( query ) [ { + } ]; // 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 + +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 ); + cache-file ; + 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-keys { ( static-key | + initial-key ) + ; ... }; // may occur multiple times + dnssec-loadkeys-interval ; + dnssec-must-be-secure ; // may occur multiple times + dnssec-secure-to-insecure ; + dnssec-update-mode ( maintain | no-resign ); + dnssec-validation ( yes | no | auto ); + dnstap { ( all | auth | client | forwarder | + resolver | update ) [ ( query | response ) ]; + ... }; // not configured + 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 ; + inline-signing ; + 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 + ) + + ; ... }; // 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-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 | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + notify-to-soa ; + nta-lifetime ; + nta-recheck ; + nxdomain-redirect ; + 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-enable ; + stale-answer-ttl ; + synth-from-dnssec ; + transfer-format ( many-answers | one-answer ); + transfer-source ( | * ) [ port ( | * ) ] [ + dscp ]; + transfer-source-v6 ( | * ) [ port ( | * ) + ] [ dscp ]; + trust-anchor-telemetry ; // experimental + 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 ); + 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-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-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 | ); + notify-delay ; + notify-source ( | * ) [ port ( | * + ) ] [ dscp ]; + notify-source-v6 ( | * ) [ port ( + | * ) ] [ dscp ]; + notify-to-soa ; + 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 ); + 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-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-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 | ); + notify-delay ; + notify-source ( | * ) [ port ( | * ) ] [ + dscp ]; + notify-source-v6 ( | * ) [ port ( | * ) ] + [ dscp ]; + notify-to-soa ; + 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/slave.zoneopt b/doc/misc/slave.zoneopt index 248823a88b..750392f254 100644 --- a/doc/misc/slave.zoneopt +++ b/doc/misc/slave.zoneopt @@ -43,7 +43,6 @@ zone [ ] { notify-source ( | * ) [ port ( | * ) ] [ dscp ]; notify-source-v6 ( | * ) [ port ( | * ) ] [ dscp ]; notify-to-soa ; - nsec3-test-zone ; // test only request-expire ; request-ixfr ; sig-signing-nodes ; diff --git a/lib/isccfg/include/isccfg/cfg.h b/lib/isccfg/include/isccfg/cfg.h index c8b3a08ad0..35729a4991 100644 --- a/lib/isccfg/include/isccfg/cfg.h +++ b/lib/isccfg/include/isccfg/cfg.h @@ -485,6 +485,10 @@ cfg_printx(const cfg_obj_t *obj, unsigned int flags, #define CFG_PRINTER_XKEY 0x1 /* '?' out shared keys. */ #define CFG_PRINTER_ONELINE 0x2 /* print config as a single line */ +#define CFG_PRINTER_ACTIVEONLY 0x4 /* print only active configuration + options, omitting ancient, + obsolete, nonimplemented, + and test-only options. */ /*%< * Print the configuration object 'obj' by repeatedly calling the @@ -496,7 +500,7 @@ cfg_printx(const cfg_obj_t *obj, unsigned int flags, */ void -cfg_print_grammar(const cfg_type_t *type, +cfg_print_grammar(const cfg_type_t *type, unsigned int flags, void (*f)(void *closure, const char *text, int textlen), void *closure); /*%< diff --git a/lib/isccfg/include/isccfg/grammar.h b/lib/isccfg/include/isccfg/grammar.h index ffc594759d..e931282a0f 100644 --- a/lib/isccfg/include/isccfg/grammar.h +++ b/lib/isccfg/include/isccfg/grammar.h @@ -550,7 +550,7 @@ cfg_clause_validforzone(const char *name, unsigned int ztype); */ void -cfg_print_zonegrammar(const unsigned int zonetype, +cfg_print_zonegrammar(const unsigned int zonetype, unsigned int flags, void (*f)(void *closure, const char *text, int textlen), void *closure); /*%< diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c index 67c23dd89a..09877f6952 100644 --- a/lib/isccfg/namedconf.c +++ b/lib/isccfg/namedconf.c @@ -3851,7 +3851,7 @@ cfg_clause_validforzone(const char *name, unsigned int ztype) { } void -cfg_print_zonegrammar(const unsigned int zonetype, +cfg_print_zonegrammar(const unsigned int zonetype, unsigned int flags, void (*f)(void *closure, const char *text, int textlen), void *closure) { @@ -3866,7 +3866,7 @@ cfg_print_zonegrammar(const unsigned int zonetype, pctx.f = f; pctx.closure = closure; pctx.indent = 0; - pctx.flags = 0; + pctx.flags = flags; memmove(clauses, zone_clauses, sizeof(zone_clauses)); memmove(clauses + sizeof(zone_clauses)/sizeof(zone_clauses[0]) - 1, @@ -3922,8 +3922,17 @@ cfg_print_zonegrammar(const unsigned int zonetype, } for (clause = clauses; clause->name != NULL; clause++) { + if (((pctx.flags & CFG_PRINTER_ACTIVEONLY) != 0) && + (((clause->flags & CFG_CLAUSEFLAG_OBSOLETE) != 0) || + ((clause->flags & CFG_CLAUSEFLAG_ANCIENT) != 0) || + ((clause->flags & CFG_CLAUSEFLAG_NYI) != 0) || + ((clause->flags & CFG_CLAUSEFLAG_TESTONLY) != 0))) + { + continue; + } if ((clause->flags & zonetype) == 0 || - strcasecmp(clause->name, "type") == 0) { + strcasecmp(clause->name, "type") == 0) + { continue; } cfg_print_indent(&pctx); diff --git a/lib/isccfg/parser.c b/lib/isccfg/parser.c index 453e18cd5d..06b5134080 100644 --- a/lib/isccfg/parser.c +++ b/lib/isccfg/parser.c @@ -2312,6 +2312,14 @@ cfg_doc_mapbody(cfg_printer_t *pctx, const cfg_type_t *type) { for (clauseset = type->of; *clauseset != NULL; clauseset++) { for (clause = *clauseset; clause->name != NULL; clause++) { + if (((pctx->flags & CFG_PRINTER_ACTIVEONLY) != 0) && + (((clause->flags & CFG_CLAUSEFLAG_OBSOLETE) != 0) || + ((clause->flags & CFG_CLAUSEFLAG_ANCIENT) != 0) || + ((clause->flags & CFG_CLAUSEFLAG_NYI) != 0) || + ((clause->flags & CFG_CLAUSEFLAG_TESTONLY) != 0))) + { + continue; + } cfg_print_cstr(pctx, clause->name); cfg_print_cstr(pctx, " "); cfg_doc_obj(pctx, clause->type); @@ -2359,6 +2367,14 @@ cfg_doc_map(cfg_printer_t *pctx, const cfg_type_t *type) { for (clauseset = type->of; *clauseset != NULL; clauseset++) { for (clause = *clauseset; clause->name != NULL; clause++) { + if (((pctx->flags & CFG_PRINTER_ACTIVEONLY) != 0) && + (((clause->flags & CFG_CLAUSEFLAG_OBSOLETE) != 0) || + ((clause->flags & CFG_CLAUSEFLAG_ANCIENT) != 0) || + ((clause->flags & CFG_CLAUSEFLAG_NYI) != 0) || + ((clause->flags & CFG_CLAUSEFLAG_TESTONLY) != 0))) + { + continue; + } cfg_print_indent(pctx); cfg_print_cstr(pctx, clause->name); if (clause->type->print != cfg_print_void) @@ -3460,7 +3476,7 @@ cfg_doc_terminal(cfg_printer_t *pctx, const cfg_type_t *type) { } void -cfg_print_grammar(const cfg_type_t *type, +cfg_print_grammar(const cfg_type_t *type, unsigned int flags, void (*f)(void *closure, const char *text, int textlen), void *closure) { @@ -3469,7 +3485,7 @@ cfg_print_grammar(const cfg_type_t *type, pctx.f = f; pctx.closure = closure; pctx.indent = 0; - pctx.flags = 0; + pctx.flags = flags; cfg_doc_obj(&pctx, type); } diff --git a/util/copyrights b/util/copyrights index 62b2d3719a..6585a7c037 100644 --- a/util/copyrights +++ b/util/copyrights @@ -1528,6 +1528,7 @@ ./doc/misc/migration-4to9 TXT.BRIEF 2001,2004,2016,2018,2019 ./doc/misc/mirror.zoneopt X 2018,2019 ./doc/misc/options X 2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019 +./doc/misc/options.active X 2019 ./doc/misc/redirect.zoneopt X 2018,2019 ./doc/misc/rfc-compliance TXT.BRIEF 2001,2004,2015,2016,2018,2019 ./doc/misc/roadmap TXT.BRIEF 2000,2001,2004,2016,2017,2018,2019