Commit Graph

36665 Commits

Author SHA1 Message Date
Mark Andrews
78fa082999 mkeys: use $DEFAULT_ALGORITHM 2022-07-12 10:40:30 +10:00
Mark Andrews
ff95bafa39 mirror: use $DEFAULT_ALGORITHM 2022-07-12 10:40:29 +10:00
Mark Andrews
3f1dc83bfb metadata: use $DEFAULT_ALGORITHM 2022-07-12 10:40:29 +10:00
Mark Andrews
e3acddefd1 inline: use $DEFAULT_ALGORITHM 2022-07-12 10:40:29 +10:00
Mark Andrews
49de14cb9e dsdigest: use $DEFAULT_ALGORITHM 2022-07-12 10:40:29 +10:00
Mark Andrews
d0b0139c90 dnssec: use $DEFAULT_ALGORITHM 2022-07-12 10:40:29 +10:00
Mark Andrews
5cbf1e1598 dns64: use $DEFAULT_ALGORITHM 2022-07-12 10:40:29 +10:00
Mark Andrews
3419178bd2 chain: use $DEFAULT_ALGORITHM 2022-07-12 10:40:29 +10:00
Mark Andrews
6cf0b73ede cds: use $DEFAULT_ALGORITHM 2022-07-12 10:40:29 +10:00
Mark Andrews
bb810b0ac9 autosign: use $DEFAULT_ALGORITHM 2022-07-12 10:40:29 +10:00
Ondřej Surý
b7f603fd4b 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
2022-07-11 11:53:15 +00:00
Ondřej Surý
51b0c3cbb8 Add CHANGES and release note for [GL #3423] 2022-07-11 12:26:37 +02:00
Mark Andrews
8dae4e415d 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.
2022-07-11 12:26:15 +02:00
Ondřej Surý
ddad205092 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.
2022-07-11 12:26:15 +02:00
Michał Kępień
01d46f57f9 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
2022-07-11 07:05:52 +00:00
Michał Kępień
680d1d29a4 Set up release notes for BIND 9.19.4 2022-07-11 08:49:38 +02:00
Michał Kępień
26bd3c172c Update BIND version to 9.19.4-dev 2022-07-11 08:49:38 +02:00
Evan Hunt
d862879fba Merge branch '665-rndc-fetchlimit' into 'main'
implement "rndc fetchlimit"

Closes #665

See merge request isc-projects/bind9!6362
2022-07-07 03:05:53 +00:00
Evan Hunt
52bab72e84 CHANGES and release note for [GL #665] 2022-07-06 19:46:50 -07:00
Evan Hunt
549cf0f3e6 "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.
2022-07-06 19:46:23 -07:00
Evan Hunt
6175897478 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".
2022-07-06 19:46:20 -07:00
Evan Hunt
7cac4ca03c 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.
2022-07-06 19:36:54 -07:00
Mark Andrews
a8ddca1917 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
2022-07-07 00:46:12 +00:00
Mark Andrews
761728810c Add CHANGES note for [GL #3433] 2022-07-07 10:12:14 +10:00
Mark Andrews
9366ed58b4 Upgrade uses of hmac-md5 to DEFAULT_HMAC
where the test is not hmac-md5 specific
2022-07-07 10:11:42 +10:00
Mark Andrews
c533e8bc5b Upgrade uses of hmac-sha1 to DEFAULT_HMAC
where the test is not hmac-sha1 specific
2022-07-07 10:11:42 +10:00
Mark Andrews
19a7a1e557 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.
2022-07-07 10:11:42 +10:00
Mark Andrews
ce324ae8ba Use DEFAULT_HMAC for rndc 2022-07-07 10:11:42 +10:00
Mark Andrews
972d7fd682 Add DEFAULT_HMAC to conf.sh.common 2022-07-07 10:11:42 +10:00
Mark Andrews
49706c65f5 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
2022-07-07 00:10:15 +00:00
Mark Andrews
e0708c8950 Add CHANGES note for [GL #3061] 2022-07-07 09:54:48 +10:00
Mark Andrews
abfb5b1173 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
2022-07-07 09:54:48 +10:00
Evan Hunt
00bfc1bf52 Merge branch '3152-retry-on-formerr' into 'main'
try other servers when receiving FORMERR

Closes #3152

See merge request isc-projects/bind9!6510
2022-07-06 21:38:30 +00:00
Evan Hunt
43e38a21ef CHANGES for [GL #3152] 2022-07-06 14:16:08 -07:00
Evan Hunt
f6abb80746 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.
2022-07-06 14:15:32 -07:00
Evan Hunt
8aac0262c0 Merge branch 'each-require-has-side-effects' into 'main'
REQUIRE should not have side effects

See merge request isc-projects/bind9!5518
2022-07-05 19:58:46 +00:00
Evan Hunt
a499794984 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.
2022-07-05 12:22:55 -07:00
Mark Andrews
7e49c5e38a Merge branch '3429-detect-overflow-in-generate-directive' into 'main'
Detect overflow in $GENERATE directive

Closes #3429

See merge request isc-projects/bind9!6505
2022-07-05 18:40:18 +00:00
Mark Andrews
d935ead14b Add CHANGES note for [GL #3429] 2022-07-05 09:41:33 -07:00
Evan Hunt
13fb2faf7a Improve $GENERATE documentation
Clarify the documentation of $GENERATE modifiers and add an example.
2022-07-05 09:41:33 -07:00
Mark Andrews
7be64c0e94 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.
2022-07-05 09:41:33 -07:00
Mark Andrews
5327b9708f 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.
2022-07-05 09:41:29 -07:00
Mark Andrews
0b05ee34f0 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
2022-07-05 13:07:29 +00:00
Mark Andrews
4db847e80e 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.
2022-07-05 12:36:36 +00:00
Mark Andrews
304d33fb32 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.
2022-07-05 12:36:36 +00:00
Mark Andrews
201a00e44d 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
2022-07-05 03:48:39 +00:00
Mark Andrews
07d5c23cac Add release note for [GL #3402] 2022-07-05 12:29:56 +10:00
Mark Andrews
682c6eb533 Add CHANGES note for [GL #3402] 2022-07-05 12:29:55 +10:00
Mark Andrews
33454fb0e9 Test grafting and synth-from-dnssec using primary zone 2022-07-05 12:29:01 +10:00
Mark Andrews
8af5d0ad68 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".
2022-07-05 12:29:01 +10:00