Commit Graph

36383 Commits

Author SHA1 Message Date
Mark Andrews
bcc5fc4a10 Merge branch '3389-unexpected-badkey-in-upforwd-system-test-v9_18' into 'v9_18'
Clone the message buffer before forwarding UPDATE messages [v9_18]

See merge request isc-projects/bind9!6544
2022-07-12 10:05:54 +00:00
Mark Andrews
4be9aba39e Add CHANGES note for [GL #3389]
(cherry picked from commit 09d8ed3970)
2022-07-12 19:01:18 +10:00
Mark Andrews
44bfc8a9b2 Clone the message buffer before forwarding UPDATE messages
this prevents named forwarding a buffer that may have been over
written.

(cherry picked from commit 7a42417d61)
2022-07-12 19:00:38 +10:00
Michał Kępień
068741dbe6 Merge branch 'michal/set-up-version-and-release-notes-for-bind-9.18.6' into 'v9_18'
Set up version and release notes for BIND 9.18.6

See merge request isc-projects/bind9!6539
2022-07-11 07:05:55 +00:00
Michał Kępień
c7f1ee665b Set up release notes for BIND 9.18.6 2022-07-11 08:51:32 +02:00
Michał Kępień
be9c6f44f3 Update BIND version to 9.18.6-dev 2022-07-11 08:51:32 +02:00
Mark Andrews
a93f5ed51d Merge branch '3433-support-default-hmac-v9_18' into 'v9_18'
Support DEFAULT_HMAC [v9_18]

See merge request isc-projects/bind9!6533
2022-07-07 05:06:48 +00:00
Mark Andrews
ba45075acb Add DEFAULT_HMAC to conf.sh.common
(cherry picked from commit 972d7fd682)
2022-07-07 13:26:16 +10:00
Mark Andrews
d4297eed9c Merge branch '3061-ifconfig-sh-down-messes-up-loopback-interfaces-v9_18' into 'v9_18'
update ifconfig.sh [v9_18]

See merge request isc-projects/bind9!6530
2022-07-07 00:52:51 +00:00
Mark Andrews
6311d9d2f6 Add CHANGES note for [GL #3061]
(cherry picked from commit e0708c8950)
2022-07-07 10:13:00 +10:00
Mark Andrews
5a58e8af8d 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

(cherry picked from commit abfb5b1173)
2022-07-07 10:13:00 +10:00
Evan Hunt
382cac0f4f Merge branch '3152-retry-on-formerr-v9_18' into 'v9_18'
try other servers when receiving FORMERR

See merge request isc-projects/bind9!6529
2022-07-06 22:39:36 +00:00
Evan Hunt
19be66772c CHANGES for [GL #3152]
(cherry picked from commit 43e38a21ef)
2022-07-06 22:19:20 +00:00
Evan Hunt
30534b125e 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.

(cherry picked from commit f6abb80746)
2022-07-06 22:19:20 +00:00
Mark Andrews
12224771d0 Merge branch '3402-create-synth-from-dnssec-namespaces-v9_18' into 'v9_18'
Add a mechanism to record namespaces for synth-from-dnssec [v9_18]

See merge request isc-projects/bind9!6528
2022-07-06 22:18:23 +00:00
Mark Andrews
1872105f09 Add release note for [GL #3402]
(cherry picked from commit 07d5c23cac)
2022-07-07 07:47:45 +10:00
Mark Andrews
fa4eb975b8 Add CHANGES note for [GL #3402]
(cherry picked from commit 682c6eb533)
2022-07-07 07:47:45 +10:00
Mark Andrews
443fb79a2c Test grafting and synth-from-dnssec using primary zone
(cherry picked from commit 33454fb0e9)
2022-07-07 07:47:45 +10:00
Mark Andrews
00db079f79 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".

(cherry picked from commit 8af5d0ad68)
2022-07-07 07:47:45 +10:00
Mark Andrews
30d4e3ee89 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.

(cherry picked from commit a5b57ed293)
2022-07-07 07:47:45 +10:00
Mark Andrews
90467f4127 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.

(cherry picked from commit a559d6fdd1)
2022-07-07 07:47:45 +10:00
Mark Andrews
107c3a452a 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.

(cherry picked from commit f716bd68d4)
2022-07-07 07:47:45 +10:00
Mark Andrews
4d9287dca5 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.

(cherry picked from commit 228dadb026)
2022-07-07 07:47:45 +10:00
Mark Andrews
b979b6be40 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.

(cherry picked from commit 3619cad141)
2022-07-07 07:47:45 +10:00
Mark Andrews
f94fb633ef Merge branch '3429-detect-overflow-in-generate-directive-v9_18' into 'v9_18'
Check for overflow in $GENERATE computations [v9_18]

See merge request isc-projects/bind9!6526
2022-07-06 02:04:45 +00:00
Mark Andrews
ea80e643f7 Add CHANGES note for [GL #3429]
(cherry picked from commit d935ead14b)
2022-07-06 11:26:02 +10:00
Evan Hunt
2936264dc4 Improve $GENERATE documentation
Clarify the documentation of $GENERATE modifiers and add an example.

(cherry picked from commit 13fb2faf7a)
2022-07-06 11:25:20 +10:00
Mark Andrews
656e33ce18 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.

(cherry picked from commit 7be64c0e94)
2022-07-06 11:25:20 +10:00
Mark Andrews
72999440bd 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.

(cherry picked from commit 5327b9708f)
2022-07-06 11:25:20 +10:00
Evan Hunt
301d8f9fe0 Merge branch 'each-require-has-side-effects-v9_18' into 'v9_18'
REQUIRE should not have side effects

See merge request isc-projects/bind9!6525
2022-07-05 21:08:17 +00:00
Evan Hunt
b061e86d17 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.

(cherry picked from commit a499794984)
2022-07-05 13:04:17 -07:00
Mark Andrews
e8a5d0444e Merge branch '3437-cds-error-window-too-small-v9_18' into 'v9_18'
Only report not matching stderr content when we look for it [v9_18]

See merge request isc-projects/bind9!6523
2022-07-05 18:34:20 +00:00
Mark Andrews
aedcc7c725 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.

(cherry picked from commit 4db847e80e)
2022-07-05 23:12:12 +10:00
Mark Andrews
287241d449 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.

(cherry picked from commit 304d33fb32)
2022-07-05 23:12:12 +10:00
Petr Špaček
5f382729bf Merge branch 'pspacek/arm-hyperlinks-v9_18' into 'v9_18'
ARM hyperlinking [v9_18]

See merge request isc-projects/bind9!6519
2022-07-04 14:27:33 +00:00
Petr Špaček
5b8fe7d47e Hyperlink adjustments for v9_18
Release notes subdirectory did not match content of the main branch so
we had to do couple more manual tweaks to replace obsolete explicit
links with references to statement link anchors.
2022-07-04 16:22:12 +02:00
Petr Špaček
8db3a6789b 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.

(cherry picked from commit c3fed5ce40)
2022-07-04 16:09:25 +02:00
Petr Špaček
61ecaf55f5 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.

(cherry picked from commit e5a12144bd)
2022-07-04 16:09:25 +02:00
Suzanne Goldlust
e78ef65ef7 Grammar fixes and assorted text edits in the ARM
(cherry picked from commit 6db988e7e3)
2022-07-04 16:09:25 +02:00
Petr Špaček
9ee192d412 Add tables with statements by tag
(cherry picked from commit dd4dc78899)
2022-07-04 16:09:24 +02:00
Petr Špaček
6ef0b58026 Define topmost configuration blocks
(cherry picked from commit f91cbcf996)
2022-07-04 16:09:24 +02:00
Petr Špaček
6e8ee641a0 Alphabetize grammar glossary
(cherry picked from commit 8aea6694bf)
2022-07-04 16:09:24 +02:00
Petr Špaček
53993da1d9 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.

(cherry picked from commit 0138e5c1d5)
2022-07-04 16:09:24 +02:00
Petr Špaček
40a060e22e 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.

(cherry picked from commit decb4643d1)
2022-07-04 16:09:24 +02:00
Petr Špaček
845a2870df 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.

(cherry picked from commit 4915b1f3a1)
2022-07-04 16:09:24 +02:00
Petr Špaček
0edd5bf77b Remove incorrect hyperlinks to file and unix definitions
Terms file and unix have overloaded meaning and were incorrectly linked
during the mass-linking campain.

(cherry picked from commit 1233c86ff7)
2022-07-04 16:09:24 +02:00
Petr Špaček
eeb05d5665 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.

(cherry picked from commit 8d9c2368a9)
2022-07-04 16:09:24 +02:00
Petr Špaček
2f0c9d4570 Remove path_name grammar definition
It was literally not used anywhere.

(cherry picked from commit 443fb5f34b)
2022-07-04 16:09:24 +02:00
Petr Špaček
4d62710be5 Hyperlink integer to its definition
(cherry picked from commit 55bc6d02a0)
2022-07-04 16:09:24 +02:00
Petr Špaček
69cda54461 Rename number to integer
The term number was used only in other definitions, and at the same time
doc/misc grammar uses term integer.

(cherry picked from commit 9885bf658d)
2022-07-04 16:09:24 +02:00