]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
3 years agodnssec: use $DEFAULT_ALGORITHM
Mark Andrews [Thu, 7 Jul 2022 09:21:02 +0000 (19:21 +1000)] 
dnssec: use $DEFAULT_ALGORITHM

3 years agodns64: use $DEFAULT_ALGORITHM
Mark Andrews [Thu, 7 Jul 2022 08:33:51 +0000 (18:33 +1000)] 
dns64: use $DEFAULT_ALGORITHM

3 years agochain: use $DEFAULT_ALGORITHM
Mark Andrews [Thu, 7 Jul 2022 08:23:17 +0000 (18:23 +1000)] 
chain: use $DEFAULT_ALGORITHM

3 years agocds: use $DEFAULT_ALGORITHM
Mark Andrews [Thu, 7 Jul 2022 08:20:42 +0000 (18:20 +1000)] 
cds: use $DEFAULT_ALGORITHM

3 years agoautosign: use $DEFAULT_ALGORITHM
Mark Andrews [Thu, 7 Jul 2022 08:12:44 +0000 (18:12 +1000)] 
autosign: use $DEFAULT_ALGORITHM

3 years agoMerge branch '3423-fix-root-zone-compression' into 'main'
Ondřej Surý [Mon, 11 Jul 2022 11:53:15 +0000 (11:53 +0000)] 
Merge branch '3423-fix-root-zone-compression' into 'main'

Don't compress in the rrset if compression was disabled

Closes #3423

See merge request isc-projects/bind9!6485

3 years agoAdd CHANGES and release note for [GL #3423]
Ondřej Surý [Thu, 23 Jun 2022 12:33:00 +0000 (14:33 +0200)] 
Add CHANGES and release note for [GL #3423]

3 years agoExpand name compression unit test
Mark Andrews [Fri, 24 Jun 2022 02:29:23 +0000 (12:29 +1000)] 
Expand name compression unit test

The name compression unit test is expanded to check that the compressed
form matches the expected wire pattern.

Record owner names are compressed differently to rdata names by
calling dns_name_towire2 instead of dns_name_towire so check that
owner names are compressed correctly as well.

3 years agoDon't compress in the rrset if compression was disabled
Ondřej Surý [Thu, 23 Jun 2022 11:06:37 +0000 (13:06 +0200)] 
Don't compress in the rrset if compression was disabled

Currently, when rrset is being compressed, the optimization has been put
in place to reuse offset to the previous name in the same rrset.  This
skips the check for non-improving compression and thus compresses the
root zone making the wireformat worse by one byte.

Additionally, when the compression has been disabled for the name, it
would be repeatedly added to the compression table because we act as if
the name was not found and the dns_compress_add() doesn't check for the
existing entry.

Change the dns_name_towire2() to always lookup the name in the
compression table to prevent adding duplicates, but don't use it neither
in the wireformat nor in the rrset cache.

3 years agoMerge branch 'michal/set-up-version-and-release-notes-for-bind-9.19.4' into 'main'
Michał Kępień [Mon, 11 Jul 2022 07:05:52 +0000 (07:05 +0000)] 
Merge branch 'michal/set-up-version-and-release-notes-for-bind-9.19.4' into 'main'

Set up version and release notes for BIND 9.19.4

See merge request isc-projects/bind9!6538

3 years agoSet up release notes for BIND 9.19.4
Michał Kępień [Mon, 11 Jul 2022 06:49:38 +0000 (08:49 +0200)] 
Set up release notes for BIND 9.19.4

3 years agoUpdate BIND version to 9.19.4-dev
Michał Kępień [Mon, 11 Jul 2022 06:49:38 +0000 (08:49 +0200)] 
Update BIND version to 9.19.4-dev

3 years agoUpdate BIND 9 version for release v9.19.3
Michał Kępień [Thu, 7 Jul 2022 13:20:57 +0000 (15:20 +0200)] 
Update BIND 9 version for release

3 years agoAdd a CHANGES marker
Michał Kępień [Thu, 7 Jul 2022 13:20:57 +0000 (15:20 +0200)] 
Add a CHANGES marker

3 years agoMerge branch 'michal/prepare-documentation-for-bind-9.19.3' into 'v9_19_3-release'
Michał Kępień [Thu, 7 Jul 2022 13:19:36 +0000 (13:19 +0000)] 
Merge branch 'michal/prepare-documentation-for-bind-9.19.3' into 'v9_19_3-release'

Prepare documentation for BIND 9.19.3

See merge request isc-private/bind9!412

3 years agoAdd release note for GL #3415
Michał Kępień [Thu, 7 Jul 2022 12:43:47 +0000 (14:43 +0200)] 
Add release note for GL #3415

3 years agoAdd release note for GL #3152
Michał Kępień [Thu, 7 Jul 2022 12:43:47 +0000 (14:43 +0200)] 
Add release note for GL #3152

3 years agoRestore release note for GL #3386
Michał Kępień [Thu, 7 Jul 2022 12:43:47 +0000 (14:43 +0200)] 
Restore release note for GL #3386

3 years agoReorder release notes
Michał Kępień [Thu, 7 Jul 2022 12:43:47 +0000 (14:43 +0200)] 
Reorder release notes

3 years agoTweak and reword release notes
Michał Kępień [Thu, 7 Jul 2022 12:43:47 +0000 (14:43 +0200)] 
Tweak and reword release notes

3 years agoPrepare release notes for BIND 9.19.3
Michał Kępień [Thu, 7 Jul 2022 12:43:47 +0000 (14:43 +0200)] 
Prepare release notes for BIND 9.19.3

3 years agoMerge branch '665-rndc-fetchlimit' into 'main'
Evan Hunt [Thu, 7 Jul 2022 03:05:53 +0000 (03:05 +0000)] 
Merge branch '665-rndc-fetchlimit' into 'main'

implement "rndc fetchlimit"

Closes #665

See merge request isc-projects/bind9!6362

3 years agoCHANGES and release note for [GL #665]
Evan Hunt [Thu, 26 May 2022 21:49:03 +0000 (14:49 -0700)] 
CHANGES and release note for [GL #665]

3 years ago"rndc fetchlimit" now also lists rate-limited domains
Evan Hunt [Thu, 26 May 2022 21:43:23 +0000 (14:43 -0700)] 
"rndc fetchlimit" now also lists rate-limited domains

"rndc fetchlimit" now also prints a list of domain names that are
currently rate-limited by "fetches-per-zone".

The "fetchlimit" system test has been updated to use this feature
to check that domain limits are applied correctly.

3 years agoadd "rndc fetchlimit" to show fetchlimited servers
Evan Hunt [Thu, 26 May 2022 09:33:52 +0000 (02:33 -0700)] 
add "rndc fetchlimit" to show fetchlimited servers

this command runs dns_adb_dumpquota() to display all servers
in the ADB that are being actively fetchlimited by the
fetches-per-server controls (i.e, servers with a nonzero average
timeout ratio or with the quota having been reduced from the
default value).

the "fetchlimit" system test has been updated to use the
new command to check quota values instead of "rndc dumpdb".

3 years agoclean up unused API
Evan Hunt [Wed, 25 May 2022 19:02:18 +0000 (12:02 -0700)] 
clean up unused API

the dns_adb_dumpfind() function was only used inside adb.c and
can be static. dns_view_dumpdbtostream() was not used anywhere.

3 years agoMerge branch '3433-use-a-default-hmac-algorithm-in-system-tests' into 'main'
Mark Andrews [Thu, 7 Jul 2022 00:46:12 +0000 (00:46 +0000)] 
Merge branch '3433-use-a-default-hmac-algorithm-in-system-tests' into 'main'

Resolve "Use a default HMAC algorithm in system tests"

Closes #3433

See merge request isc-projects/bind9!6506

3 years agoAdd CHANGES note for [GL #3433]
Mark Andrews [Wed, 6 Jul 2022 05:10:27 +0000 (15:10 +1000)] 
Add CHANGES note for [GL #3433]

3 years agoUpgrade uses of hmac-md5 to DEFAULT_HMAC
Mark Andrews [Tue, 5 Jul 2022 09:38:31 +0000 (19:38 +1000)] 
Upgrade uses of hmac-md5 to DEFAULT_HMAC

where the test is not hmac-md5 specific

3 years agoUpgrade uses of hmac-sha1 to DEFAULT_HMAC
Mark Andrews [Tue, 5 Jul 2022 08:53:53 +0000 (18:53 +1000)] 
Upgrade uses of hmac-sha1 to DEFAULT_HMAC

where the test is not hmac-sha1 specific

3 years agoConvert hmac-sha256 references in system tests to DEFAULT_HMAC
Mark Andrews [Tue, 5 Jul 2022 08:39:43 +0000 (18:39 +1000)] 
Convert hmac-sha256 references in system tests to DEFAULT_HMAC

where a future change from hmac-sha256 would be applicable.  This
change involves dnssec, nsupdate and rndc system tests.

3 years agoUse DEFAULT_HMAC for rndc
Mark Andrews [Fri, 1 Jul 2022 06:11:02 +0000 (16:11 +1000)] 
Use DEFAULT_HMAC for rndc

3 years agoAdd DEFAULT_HMAC to conf.sh.common
Mark Andrews [Fri, 1 Jul 2022 06:10:03 +0000 (16:10 +1000)] 
Add DEFAULT_HMAC to conf.sh.common

3 years agoMerge branch '3061-ifconfig-sh-down-messes-up-loopback-interfaces' into 'main'
Mark Andrews [Thu, 7 Jul 2022 00:10:15 +0000 (00:10 +0000)] 
Merge branch '3061-ifconfig-sh-down-messes-up-loopback-interfaces' into 'main'

Resolve "ifconfig.sh down messes up loopback interfaces"

Closes #3061

See merge request isc-projects/bind9!6408

3 years agoAdd CHANGES note for [GL #3061]
Mark Andrews [Wed, 6 Jul 2022 02:55:41 +0000 (12:55 +1000)] 
Add CHANGES note for [GL #3061]

3 years agoupdate ifconfig.sh
Mark Andrews [Thu, 9 Jun 2022 08:13:35 +0000 (18:13 +1000)] 
update ifconfig.sh

* make it harder to get the interface numbers wrong by using 'max'
to specify the upper bound of the sequence of interfaces and use 'max'
when calculating the interface number
* extract the platform specific instruction into 'up' and 'down'
and call them from the inner loop so that the interface number is
calculated in one place.
* calculate the A and AAAA address in a single place rather than
in each command
* use /sbin/ipadm on Solaris 2.11 and greater

3 years agoMerge branch '3152-retry-on-formerr' into 'main'
Evan Hunt [Wed, 6 Jul 2022 21:38:30 +0000 (21:38 +0000)] 
Merge branch '3152-retry-on-formerr' into 'main'

try other servers when receiving FORMERR

Closes #3152

See merge request isc-projects/bind9!6510

3 years agoCHANGES for [GL #3152]
Evan Hunt [Fri, 1 Jul 2022 21:28:26 +0000 (14:28 -0700)] 
CHANGES for [GL #3152]

3 years agotry other servers when receiving FORMERR
Evan Hunt [Fri, 1 Jul 2022 21:23:33 +0000 (14:23 -0700)] 
try other servers when receiving FORMERR

previously, when an iterative query returned FORMERR, resolution
would be stopped under the assumption that other servers for
the same domain would likely have the same capabilities. this
assumption is not correct; some domains have been reported for
which some but not all servers will return FORMERR to a given
query; retrying allows recursion to succeed.

3 years agoMerge branch 'each-require-has-side-effects' into 'main'
Evan Hunt [Tue, 5 Jul 2022 19:58:46 +0000 (19:58 +0000)] 
Merge branch 'each-require-has-side-effects' into 'main'

REQUIRE should not have side effects

See merge request isc-projects/bind9!5518

3 years agoREQUIRE should not have side effects
Evan Hunt [Thu, 21 Oct 2021 09:28:48 +0000 (02:28 -0700)] 
REQUIRE should not have side effects

it's a style violation to have REQUIRE or INSIST contain code that
must run for the server to work. this was being done with some
atomic_compare_exchange calls. these have been cleaned up.  uses
of atomic_compare_exchange in assertions have been replaced with
a new macro atomic_compare_exchange_enforced, which uses RUNTIME_CHECK
to ensure that the exchange was successful.

3 years agoMerge branch '3429-detect-overflow-in-generate-directive' into 'main'
Mark Andrews [Tue, 5 Jul 2022 18:40:18 +0000 (18:40 +0000)] 
Merge branch '3429-detect-overflow-in-generate-directive' into 'main'

Detect overflow in $GENERATE directive

Closes #3429

See merge request isc-projects/bind9!6505

3 years agoAdd CHANGES note for [GL #3429]
Mark Andrews [Fri, 1 Jul 2022 01:50:23 +0000 (11:50 +1000)] 
Add CHANGES note for [GL #3429]

3 years agoImprove $GENERATE documentation
Evan Hunt [Sat, 2 Jul 2022 04:38:11 +0000 (21:38 -0700)] 
Improve $GENERATE documentation

Clarify the documentation of $GENERATE modifiers and add an example.

3 years agoTighten $GENERATE directive parsing
Mark Andrews [Fri, 1 Jul 2022 01:13:51 +0000 (11:13 +1000)] 
Tighten $GENERATE directive parsing

The original sscanf processing allowed for a number of syntax errors
to be accepted.  This included missing the closing brace in
${modifiers}

Look for both comma and right brace as intermediate seperators as
well as consuming the final right brace in the sscanf processing
for ${modifiers}.  Check when we got right brace to determine if
the sscanf consumed more input than expected and if so behave as
if it had stopped at the first right brace.

3 years agoCheck for overflow in $GENERATE computations
Mark Andrews [Fri, 1 Jul 2022 01:40:37 +0000 (11:40 +1000)] 
Check for overflow in $GENERATE computations

$GENERATE uses 'int' for its computations and some constructions
can overflow values that can be represented by an 'int' resulting
in undefined behaviour.  Detect these conditions and return a
range error.

3 years agoMerge branch '3437-cds-error-window-too-small' into 'main'
Mark Andrews [Tue, 5 Jul 2022 13:07:29 +0000 (13:07 +0000)] 
Merge branch '3437-cds-error-window-too-small' into 'main'

Resolve "CDS error window too small"

Closes #3437

See merge request isc-projects/bind9!6521

3 years agoIncrease the amount of time allowed for signing to occur in
Mark Andrews [Tue, 5 Jul 2022 03:05:58 +0000 (13:05 +1000)] 
Increase the amount of time allowed for signing to occur in

On slow systems we have seen this take 9 seconds.  Increased the
allowance from 3 seconds to 10 seconds to reduce the probabilty of
a false negative from the system test.

3 years agoOnly report not matching stderr content when we look for it
Mark Andrews [Tue, 5 Jul 2022 03:01:11 +0000 (13:01 +1000)] 
Only report not matching stderr content when we look for it

The previous test code could emit "D:cds:stderr did not match ''" rather
that just showing the contents of stderr.  Moved the debug line inside
the if/else block.

Replaced backquotes with $() and $(()) as approriate.

3 years agoMerge branch '3402-create-synth-from-dnssec-namespaces' into 'main'
Mark Andrews [Tue, 5 Jul 2022 03:48:39 +0000 (03:48 +0000)] 
Merge branch '3402-create-synth-from-dnssec-namespaces' into 'main'

Add a mechanism to record namespaces for synth-from-dnssec

Closes #3402

See merge request isc-projects/bind9!6522

3 years agoAdd release note for [GL #3402]
Mark Andrews [Mon, 20 Jun 2022 01:04:18 +0000 (11:04 +1000)] 
Add release note for [GL #3402]

3 years agoAdd CHANGES note for [GL #3402]
Mark Andrews [Mon, 20 Jun 2022 00:56:25 +0000 (10:56 +1000)] 
Add CHANGES note for [GL #3402]

3 years agoTest grafting and synth-from-dnssec using primary zone
Mark Andrews [Mon, 20 Jun 2022 00:49:24 +0000 (10:49 +1000)] 
Test grafting and synth-from-dnssec using primary zone

3 years agoAdd system test for forward only grafted zone with synth-from-dnssec
Mark Andrews [Fri, 17 Jun 2022 04:40:39 +0000 (14:40 +1000)] 
Add system test for forward only grafted zone with synth-from-dnssec

We are grafting on an unsigned zone "example.internal" where the higher
zone (".") is signed and would otherwise cause named to synthesise a
NXDOMAIN for example.internal.  We prime the cache by performing a
lookup for "internal" and then lookup "example.internal".

3 years agoAdd synth-from-dnssec namespaces for keytable entries
Mark Andrews [Fri, 17 Jun 2022 00:40:47 +0000 (10:40 +1000)] 
Add synth-from-dnssec namespaces for keytable entries

We do this by adding callbacks for when a node is added or deleted
from the keytable.  dns_keytable_add and dns_keytable_delete where
extended to take a callback.  dns_keytable_deletekey does not remove
the node so it was not extended.

3 years agoAdd synth-from-dnssec namespace entries for forward only namespaces
Mark Andrews [Thu, 16 Jun 2022 07:12:20 +0000 (17:12 +1000)] 
Add synth-from-dnssec namespace entries for forward only namespaces

Currently forward entries are only removed on view destruction so
there is no matching dns_view_sfd_del call.

3 years agoAdd entries to the synth-from-dnssec namespace tree for zones
Mark Andrews [Thu, 16 Jun 2022 06:55:06 +0000 (16:55 +1000)] 
Add entries to the synth-from-dnssec namespace tree for zones

When a zone is attached or detached from the view (zone->view is
updated) update the synth-from-dnssec namespace tree.

3 years agoCheck the synth-form-dnssec namespace when synthesising responses
Mark Andrews [Thu, 16 Jun 2022 06:48:42 +0000 (16:48 +1000)] 
Check the synth-form-dnssec namespace when synthesising responses

Call dns_view_sfd_find to find the namespace to be used to verify
the covering NSEC records returned for the given QNAME.  Check that
the NSEC owner names are within that namespace.

3 years agoAdd a mechanism to record namespaces for synth-from-dnssec
Mark Andrews [Thu, 16 Jun 2022 06:31:10 +0000 (16:31 +1000)] 
Add a mechanism to record namespaces for synth-from-dnssec

When namespace is grafted on, the DNSSEC proofs for non existance
need to come from that namespace and not a higher namespace.  We
add 3 function dns_view_sfd_add, dns_view_sfd_del and dns_view_sfd_find
to add, remove and find the namespace that should be used when
checking NSEC records.

dns_view_sfd_add adds a name to a tree, creating the tree if needed.
If the name already existed in the tree the reference count is
increased otherwise it is initalised to 1.

dns_view_sfd_del removes a reference to a name in the tree, if the
count goes to 0 the node is removed.

dns_view_sfd_find returns the namespace to be used to entered name.
If there isn't an enclosing name in the tree, or the tree does not
yet exist, the root name is returned.

Access to the tree is controlled by a read/write lock.

3 years agoMerge branch 'michal/add-missing-destructor-invocations' into 'main'
Michał Kępień [Mon, 4 Jul 2022 14:02:35 +0000 (14:02 +0000)] 
Merge branch 'michal/add-missing-destructor-invocations' into 'main'

Add missing invocations of pthreads destructors

See merge request isc-projects/bind9!6499

3 years agoAdd missing isc_refcount_*() calls
Evan Hunt [Mon, 4 Jul 2022 14:02:12 +0000 (16:02 +0200)] 
Add missing isc_refcount_*() calls

Commits 76bcb4d16b776e25cc67937f7d1a2fe6e365cfd7 and
d48d8e1cf0879b818d710cc1238643610e386d38 did not include
isc_refcount_destroy() calls that would be logical counterparts of the
isc_refcount_init() calls these commits added.  Add the missing
isc_refcount_destroy() calls to destroy().

Adding these calls (which ensure a given structure's reference count
equals 0 when it is destroyed, therefore detecting reference counting
issues) uncovered another flaw in the commits mentioned above: missing
isc_refcount_decrement() calls that would be logical counterparts of the
isc_refcount_increment*() calls these commits added.  Add the missing
isc_refcount_decrement() calls to unlink_name() and unlink_entry().

3 years agoAdd missing invocations of pthreads destructors
Michał Kępień [Mon, 4 Jul 2022 14:02:12 +0000 (16:02 +0200)] 
Add missing invocations of pthreads destructors

Add isc_mutex_destroy() and isc_rwlock_destroy() calls missing from the
commits that introduced the relevant isc_mutex_init() and
isc_rwlock_init() calls:

  - 76bcb4d16b776e25cc67937f7d1a2fe6e365cfd7
  - 15953043124416ab1dbc857f6885ecdb167401bb
  - 857f3bede37ccb419dac3816a0f96fa490af7d92

None of these omissions affect any hot paths, so they are not expected
to cause operational issues; correctness is the only concern here.

3 years agoMerge branch 'pspacek/arm-hyperlinks' into 'main'
Petr Špaček [Mon, 4 Jul 2022 13:56:44 +0000 (13:56 +0000)] 
Merge branch 'pspacek/arm-hyperlinks' into 'main'

ARM hyperlinking

See merge request isc-projects/bind9!6509

3 years agoManually hyperlink algorithm, key, options, secret, and server
Petr Špaček [Mon, 4 Jul 2022 06:58:34 +0000 (08:58 +0200)] 
Manually hyperlink algorithm, key, options, secret, and server

These statements/block are ambiguos because they occur in named.conf and
rndc.conf as well. All occurences now link link to the matching
definition.

3 years agoRemove links from logging category names
Petr Špaček [Mon, 4 Jul 2022 06:39:28 +0000 (08:39 +0200)] 
Remove links from logging category names

Some logging categories have the same names as configuration statements.
This caused some category names to be replaced with links to statement
definitions, which confuses util/check-categories.sh script.

3 years agoGrammar fixes and assorted text edits in the ARM
Suzanne Goldlust [Fri, 1 Jul 2022 17:36:28 +0000 (17:36 +0000)] 
Grammar fixes and assorted text edits in the ARM

3 years agoAdd tables with statements by tag
Petr Špaček [Fri, 1 Jul 2022 15:52:56 +0000 (17:52 +0200)] 
Add tables with statements by tag

3 years agoDefine topmost configuration blocks
Petr Špaček [Fri, 1 Jul 2022 15:44:22 +0000 (17:44 +0200)] 
Define topmost configuration blocks

3 years agoAlphabetize grammar glossary
Petr Špaček [Fri, 1 Jul 2022 15:05:25 +0000 (17:05 +0200)] 
Alphabetize grammar glossary

3 years agoRename yes_or_no to boolean
Petr Špaček [Fri, 1 Jul 2022 14:50:19 +0000 (16:50 +0200)] 
Rename yes_or_no to boolean

The name yes_or_no was used only in two places and rest of the ARM
(except for the grammar glossary...) uses term boolean. Let's stick to
it.

3 years agoDeduplicate definitions of address_match_list and address_match_element
Petr Špaček [Fri, 1 Jul 2022 14:48:02 +0000 (16:48 +0200)] 
Deduplicate definitions of address_match_list and address_match_element

It would be better if it fit into the grammar glossary, but it is too
long. A link must do.

3 years agoRework size_spec and size_or_percentage definitions
Petr Špaček [Fri, 1 Jul 2022 14:13:39 +0000 (16:13 +0200)] 
Rework size_spec and size_or_percentage definitions

Except for a single case they were not referenced in the text, but at
the same time doc/misc grammar uses terms "size", "sizeval", and
"percetage".

Keywords "default" and "unlimited" are expanded in statement's grammar
anyway, but I kept their description in place because they are generally
allowed at places which accept sizes.

Percentage is also expanded in doc/misc grammars and thus requires
separate definition.

3 years agoRemove incorrect hyperlinks to file and unix definitions
Petr Špaček [Fri, 1 Jul 2022 13:40:40 +0000 (15:40 +0200)] 
Remove incorrect hyperlinks to file and unix definitions

Terms file and unix have overloaded meaning and were incorrectly linked
during the mass-linking campain.

3 years agoRename port_list to portrange
Petr Špaček [Fri, 1 Jul 2022 13:20:04 +0000 (15:20 +0200)] 
Rename port_list to portrange

The old name was not referenced anywhere but the new name is used in
grammar of {avoid,use}-v{4,6}-udp-ports statement.

3 years agoRemove path_name grammar definition
Petr Špaček [Fri, 1 Jul 2022 13:17:32 +0000 (15:17 +0200)] 
Remove path_name grammar definition

It was literally not used anywhere.

3 years agoHyperlink integer to its definition
Petr Špaček [Fri, 1 Jul 2022 13:16:37 +0000 (15:16 +0200)] 
Hyperlink integer to its definition

3 years agoRename number to integer
Petr Špaček [Fri, 1 Jul 2022 13:14:04 +0000 (15:14 +0200)] 
Rename number to integer

The term number was used only in other definitions, and at the same time
doc/misc grammar uses term integer.

3 years agoClarify and hyperlink tls_id definition
Petr Špaček [Fri, 1 Jul 2022 13:10:52 +0000 (15:10 +0200)] 
Clarify and hyperlink tls_id definition

3 years agoHyperlink server_id to its definition
Petr Špaček [Fri, 1 Jul 2022 13:04:07 +0000 (15:04 +0200)] 
Hyperlink server_id to its definition

3 years agoRename key_id to server_key
Petr Špaček [Fri, 1 Jul 2022 12:59:21 +0000 (14:59 +0200)] 
Rename key_id to server_key

The old name was used in the ARM and rndc manual page but was
inconsistent with doc/misc grammar.

3 years agoRemove key_list grammar definition
Petr Špaček [Fri, 1 Jul 2022 12:31:14 +0000 (14:31 +0200)] 
Remove key_list grammar definition

It was used in a single place (inet statement) and it defined it in the
text anyway. Let's not clutter the glossary.

3 years agoHyperlink port references to appropriate definitions
Petr Špaček [Fri, 1 Jul 2022 11:54:01 +0000 (13:54 +0200)] 
Hyperlink port references to appropriate definitions

``port`` used to refer to grammar elements and also to named.conf
option. Both cases are now linked to respective definitions.

3 years agoRename ip_port to port
Petr Špaček [Fri, 1 Jul 2022 11:48:17 +0000 (13:48 +0200)] 
Rename ip_port to port

The old name was used only in couple places, and was inconsistent with
doc/misc grammar.

3 years agoRename ip_dscp to dscp
Petr Špaček [Fri, 1 Jul 2022 11:45:06 +0000 (13:45 +0200)] 
Rename ip_dscp to dscp

The old name was literally not used anywhere, not even in the source
code. The new name is used by doc/misc grammar.

3 years agoHyperlink netprefix grammar references to the definition
Petr Špaček [Fri, 1 Jul 2022 11:41:52 +0000 (13:41 +0200)] 
Hyperlink netprefix grammar references to the definition

3 years agoHyperlink ip??_address grammar references to their definition
Petr Špaček [Fri, 1 Jul 2022 11:40:19 +0000 (13:40 +0200)] 
Hyperlink ip??_address grammar references to their definition

3 years agoRename ip_prefix to netprefix
Petr Špaček [Fri, 1 Jul 2022 11:37:56 +0000 (13:37 +0200)] 
Rename ip_prefix to netprefix

Let's standardize on netprefix which matches grammar used in doc/misc.

3 years agoRename ip_addr, ipv4_addr, and ipv6_addr to *_address
Petr Špaček [Fri, 1 Jul 2022 11:31:14 +0000 (13:31 +0200)] 
Rename ip_addr, ipv4_addr, and ipv6_addr to *_address

The longer variant matches grammar used in doc/misc.

3 years agoRemove dotted_decimal from grammar glossary
Petr Špaček [Fri, 1 Jul 2022 11:26:36 +0000 (13:26 +0200)] 
Remove dotted_decimal from grammar glossary

This definition was dererenced only once, from ip4_addr definition on
the next line. These two are now collapsed into new ip4_addr definition.

3 years agoRemove namelist from grammar glossary
Petr Špaček [Fri, 1 Jul 2022 11:15:15 +0000 (13:15 +0200)] 
Remove namelist from grammar glossary

This definition was used only for deny-answer-aliases statement
description, and moreover the term did not match grammar listed in
doc/misc/options.

I've replaced it with textual expansion of "list of `domain_name`s"
which is used more often.

3 years agoRename remoteserver_list to remote-servers
Petr Špaček [Fri, 1 Jul 2022 11:12:01 +0000 (13:12 +0200)] 
Rename remoteserver_list to remote-servers

Name remoteserver_list was not referenced anywhere but the grammar uses
name remote-servers. Rename and add a reference to primaries for more
information.

3 years agoHyperlink domain_name grammar elements
Petr Špaček [Fri, 1 Jul 2022 11:01:55 +0000 (13:01 +0200)] 
Hyperlink domain_name grammar elements

Hyperlinked manually to avoid needless repetition in the Rset ordering
chapter.

3 years agoHyperlink ACL grammar elements
Petr Špaček [Fri, 1 Jul 2022 10:46:18 +0000 (12:46 +0200)] 
Hyperlink ACL grammar elements

Manual edit required to restore the first occurence of "definition"
inside .. glossary directive.

Generated using:
    N=acl_name; sed -i -e "s/\`\`$N\`\`/:term:\`$N\`/g" $ARMFILES
    N=address_match_list; sed -i -e "s/\`\`$N\`\`/:term:\`$N\`/g" $ARMFILES

3 years agoRemove unreferences dialup_option grammar
Petr Špaček [Fri, 1 Jul 2022 10:40:39 +0000 (12:40 +0200)] 
Remove unreferences dialup_option grammar

I dunno why it was a separate entity in the grammar glossary. It is not
referenced anywhere else except for the the dialup statement, and the
statement describes all its possible values verbosely.

3 years agoManual fixups for new hyperlinks
Petr Špaček [Fri, 1 Jul 2022 10:29:18 +0000 (12:29 +0200)] 
Manual fixups for new hyperlinks

It turns out that many manual edits were required:
- Heading underlines were too short because :any:`` is longer than ````
- Some statement names clashed with manually defined _link_anchors
  (notify, trust-anchors etc.)
- Zone types are defined like "type primary" in the internal grammar and
  that caused mayhem in the replacement script as it took "type" and
  individual types ("primary", "secondary") as separate statements.
  For that reason :any:`primary` had to be manually replaced with
  :any:`primary <type primary>` where appropriate.
- Sometimes option name is also the same as a value name (e.g. "notify")
  and then it did not make sense to do the replacement.

3 years agoAdd hyperlinks to all unique statement names
Petr Špaček [Fri, 1 Jul 2022 10:29:18 +0000 (12:29 +0200)] 
Add hyperlinks to all unique statement names

This shell script added hyperlinks to all unique statement names:

    UNIQSTATEMENTS=$(\
        sort \
            <(git grep '.. namedconf:statement::' '*.rst' | sed -e 's/^.*:: //') \
            <(git grep '.. rndcconf:statement::' '*.rst' | sed -e 's/^.*:: //') \
        | uniq --unique)
    ARMFILES=$(git ls-files 'doc/*.rst' | grep -v 'doc/man')
    for STATEMENT in $UNIQSTATEMENTS; \
        do sed -i -e "s/\`\`$STATEMENT\`\`/:any:\`$STATEMENT\`/g" $ARMFILES; \
    done

This needs manual cleanup (see next commit) to fix syntax errors.

3 years agoUse the new term Block in ARM headings "Statement Definition and Usage"
Petr Špaček [Fri, 1 Jul 2022 08:52:21 +0000 (10:52 +0200)] 
Use the new term Block in ARM headings "Statement Definition and Usage"

The underline is not shortened on purpose, see subsequent commits.

Generated by:
    sed -i -e 's/ Statement Definition and Usage$/ Block Definition and Usage/g' doc/arm/reference.rst

3 years agoUse the new term Block in ARM headings "Statement Grammar"
Petr Špaček [Fri, 1 Jul 2022 08:50:14 +0000 (10:50 +0200)] 
Use the new term Block in ARM headings "Statement Grammar"

Long live new terminology.
The underline is now shortened on purpose, see subsequent commits.

Generated by:
    sed -i -e 's/ Statement Grammar$/ Block Grammar/g' doc/arm/reference.rst

3 years agoMerge branch 'pspacek/arm-tables-parse-short-rst' into 'main'
Petr Špaček [Mon, 4 Jul 2022 13:36:17 +0000 (13:36 +0000)] 
Merge branch 'pspacek/arm-tables-parse-short-rst' into 'main'

Parse and render rst syntax in auto-generated tables

See merge request isc-projects/bind9!6515

3 years agoParse and render rst syntax in :short: statement descriptions in tables
Petr Špaček [Mon, 4 Jul 2022 10:33:04 +0000 (12:33 +0200)] 
Parse and render rst syntax in :short: statement descriptions in tables

Without this change tables generated by .. namedconf:statementlist::
contained raw text and displayed rst syntax to users.

The raw docutil node returned by rst parser can contain unresolved
references (pending_xref nodes). We just store those nodes and let
Sphinx to resolve them later on.

Beware: This would not work if we injected nodes in later stages of
processing. All unresolved references must be in place before
'doctree-resolved' event is emitted (i.e. before resolve_references() is
called inside Sphinx).