Commit 02d95d0b authored by Evan Hunt's avatar Evan Hunt

update docbook grammar, removing dnssec-looksaide

- this required modification to the code that generates grammar text for
  the documentation, because the "dnssec-lookaside" option spanned more
  than one line in doc/misc/options, so grepping out only the lines
  marked "// obsolete" didn't remove the whole option.  this commit adds
  an option to cfg_test to print named.conf clauses only if they don't
  have the obsolete, ancient, test-only, or not-yet-implemented flags
  set.
parent 54de054d
......@@ -13,7 +13,7 @@
<refentry xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="man.named.conf">
<info>
<date>2019-06-28</date>
<date>2019-08-07</date>
</info>
<refentryinfo>
<corpname>ISC</corpname>
......@@ -154,7 +154,6 @@ logging {
</literallayout>
</refsection>
<refsection><info><title>MANAGED-KEYS</title></info>
<para>Deprecated - see DNSSEC-KEYS.</para>
<literallayout class="normal">
......@@ -253,9 +252,6 @@ options {
dnssec-accept-expired <replaceable>boolean</replaceable>;
dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
dnssec-loadkeys-interval <replaceable>integer</replaceable>;
dnssec-lookaside ( <replaceable>string</replaceable>
trust-anchor <replaceable>string</replaceable> |
auto | no ); deprecated
dnssec-must-be-secure <replaceable>string</replaceable> <replaceable>boolean</replaceable>;
dnssec-secure-to-insecure <replaceable>boolean</replaceable>;
dnssec-update-mode ( maintain | no-resign );
......@@ -614,9 +610,6 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
initial-key ) <replaceable>integer</replaceable> <replaceable>integer</replaceable>
<replaceable>integer</replaceable> <replaceable>quoted_string</replaceable>; ... };
dnssec-loadkeys-interval <replaceable>integer</replaceable>;
dnssec-lookaside ( <replaceable>string</replaceable>
trust-anchor <replaceable>string</replaceable> |
auto | no ); deprecated
dnssec-must-be-secure <replaceable>string</replaceable> <replaceable>boolean</replaceable>;
dnssec-secure-to-insecure <replaceable>boolean</replaceable>;
dnssec-update-mode ( maintain | no-resign );
......@@ -866,7 +859,6 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
masters [ port <replaceable>integer</replaceable> ] [ dscp <replaceable>integer</replaceable> ] { ( <replaceable>masters</replaceable>
| <replaceable>ipv4_address</replaceable> [ port <replaceable>integer</replaceable> ] | <replaceable>ipv6_address</replaceable> [
port <replaceable>integer</replaceable> ] ) [ key <replaceable>string</replaceable> ]; ... };
max-ixfr-log-size ( default | unlimited |
max-journal-size ( default | unlimited | <replaceable>sizeval</replaceable> );
max-records <replaceable>integer</replaceable>;
max-refresh-time <replaceable>integer</replaceable>;
......@@ -886,7 +878,6 @@ view <replaceable>string</replaceable> [ <replaceable>class</replaceable> ] {
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) [ port ( <replaceable>integer</replaceable>
| * ) ] [ dscp <replaceable>integer</replaceable> ];
notify-to-soa <replaceable>boolean</replaceable>;
pubkey <replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>integer</replaceable>
request-expire <replaceable>boolean</replaceable>;
request-ixfr <replaceable>boolean</replaceable>;
serial-update-method ( date | increment | unixtime );
......
......@@ -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);
......
......@@ -58,7 +58,7 @@
<command>check-srv-cname</command> ( fail | warn | ignore );
<command>check-wildcard</command> <replaceable>boolean</replaceable>;
<command>clients-per-query</command> <replaceable>integer</replaceable>;
<command>cookie-algorithm</command> ( aes | sha1 | sha256 );
<command>cookie-algorithm</command> ( aes | siphash24 );
<command>cookie-secret</command> <replaceable>string</replaceable>;
<command>coresize</command> ( default | unlimited | <replaceable>sizeval</replaceable> );
<command>datasize</command> ( default | unlimited | <replaceable>sizeval</replaceable> );
......@@ -89,9 +89,6 @@
<command>dnssec-accept-expired</command> <replaceable>boolean</replaceable>;
<command>dnssec-dnskey-kskonly</command> <replaceable>boolean</replaceable>;
<command>dnssec-loadkeys-interval</command> <replaceable>integer</replaceable>;
<command>dnssec-lookaside</command> ( <replaceable>string</replaceable>
<command>trust-anchor</command> <replaceable>string</replaceable> |
<command>auto</command> | no ); deprecated
<command>dnssec-must-be-secure</command> <replaceable>string</replaceable> <replaceable>boolean</replaceable>;
<command>dnssec-secure-to-insecure</command> <replaceable>boolean</replaceable>;
<command>dnssec-update-mode</command> ( maintain | no-resign );
......
......@@ -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
......@@ -59,12 +59,6 @@ while (<FH>) {
$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,*}{};
......
......@@ -120,12 +120,6 @@ while (<FH>) {
my $blank = 0;
while (<FH>) {
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 (<FH>) {
<refsection><info><title>$HEADING</title></info>
END
if ($1 eq "trusted-keys") {
print <<END;
if ($1 eq "trusted-keys") {
print <<END;
<para>Deprecated - see DNSSEC-KEYS.</para>
END
}
}
if ($1 eq "managed-keys") {
print <<END;
if ($1 eq "managed-keys") {
print <<END;
<para>Deprecated - see DNSSEC-KEYS.</para>
END
}
}
print <<END;
<literallayout class="normal">
END
}
}
if (m{^\s*$} && !$blank) {
$blank = 1;
......
......@@ -44,12 +44,6 @@ print <<END;
END
while (<FH>) {
if (m{// not.*implemented} || m{// obsolete} ||
m{// ancient} || m{// test.*only})
{
next;
}
s{ // not configured}{};
s{ // may occur multiple times,*}{};
s{<([a-z0-9_-]+)>}{<replaceable>$1</replaceable>}g;
......
......@@ -11,7 +11,7 @@
print <<END;
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.
END
......
......@@ -44,7 +44,6 @@ zone <string> [ <class> ] {
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
nsec3-test-zone <boolean>; // test only
serial-update-method ( date | increment | unixtime );
sig-signing-nodes <integer>;
sig-signing-signatures <integer>;
......
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 <string> { <address_match_element>; ... }; // may occur multiple times
......@@ -148,7 +148,7 @@ options {
dnssec-loadkeys-interval <integer>;
dnssec-lookaside ( <string>
trust-anchor <string> |
auto | no ); // may occur multiple times, deprecated
auto | no ); // obsolete, may occur multiple times
dnssec-must-be-secure <string> <boolean>; // may occur multiple times
dnssec-secure-to-insecure <boolean>;
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 <integer>; // not configured
fstrm-set-reopen-interval <ttlval>; // not configured
geoip-directory ( <quoted_string> | none ); // not configured
geoip-directory ( <quoted_string> | none );
geoip-use-ecs <boolean>; // obsolete
glue-cache <boolean>;
has-old-clients <boolean>; // ancient
......@@ -214,7 +214,7 @@ options {
listen-on-v6 [ port <integer> ] [ dscp
<integer> ] {
<address_match_element>; ... }; // may occur multiple times
lmdb-mapsize <sizeval>; // non-operational
lmdb-mapsize <sizeval>;
lock-file ( <quoted_string> | none );
maintain-ixfr-base <boolean>; // ancient
managed-keys-directory <quoted_string>;
......@@ -527,7 +527,7 @@ view <string> [ <class> ] {
dnssec-loadkeys-interval <integer>;
dnssec-lookaside ( <string>
trust-anchor <string> |
auto | no ); // may occur multiple times, deprecated
auto | no ); // obsolete, may occur multiple times
dnssec-must-be-secure <string> <boolean>; // may occur multiple times
dnssec-secure-to-insecure <boolean>;
dnssec-update-mode ( maintain | no-resign );
......@@ -565,7 +565,7 @@ view <string> [ <class> ] {
}; // may occur multiple times
key-directory <quoted_string>;
lame-ttl <ttlval>;
lmdb-mapsize <sizeval>; // non-operational
lmdb-mapsize <sizeval>;
maintain-ixfr-base <boolean>; // ancient
managed-keys { <string> (
static-key | initial-key
......
This diff is collapsed.
......@@ -43,7 +43,6 @@ zone <string> [ <class> ] {
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
nsec3-test-zone <boolean>; // test only
request-expire <boolean>;
request-ixfr <boolean>;
sig-signing-nodes <integer>;
......
......@@ -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);
/*%<
......
......@@ -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);
/*%<
......
......@@ -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);
......
......@@ -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);
}
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment