2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 06:25:31 +00:00
Commit Graph

39392 Commits

Author SHA1 Message Date
Tom Krizek
e8c61f8da4 Handle non-zero return codes in wildcard test 2023-07-14 15:49:16 +02:00
Tom Krizek
69e8876966 Handle non-zero return codes in zero test 2023-07-14 15:49:15 +02:00
Tom Krizek
3ce200ead8 Handle non-zero return codes in legacy test 2023-07-14 15:49:15 +02:00
Tom Krizek
2823d0b469 Handle non-zero return codes in forward test 2023-07-14 15:49:15 +02:00
Tom Krizek
855f5b143a Handle non-zero return codes in upforwd test 2023-07-14 15:49:15 +02:00
Tom Krizek
146cb978c5 Handle non-zero return codes in addzone test 2023-07-14 15:49:15 +02:00
Tom Krizek
247b608f62 Handle non-zero return codes in rpzrecurse test 2023-07-14 15:49:15 +02:00
Tom Krizek
1d5caafa9e Handle non-zero return codes in rpz test 2023-07-14 15:49:15 +02:00
Tom Krizek
837c190d9e Make $? compatible with set -e in system tests
Ensure handling of return code from previous command doesn't cause the
script to halt if that code is non-zero when running with `set -e`.
2023-07-14 15:49:15 +02:00
Tom Krizek
1436025e20 Use arithmetic expansion in system tests (followup)
These are manual edits in addition of the automated changes from the
previous commit.
2023-07-14 15:49:15 +02:00
Tom Krizek
4d42bdc245 Use arithmetic expansion in system tests
Change the way arithmetic operations are performed in system test shell
scripts from using `expr` to `$(())`. This ensures that updating the
variable won't end up with a non-zero exit code, which would case the
script to exit prematurely when `set -e` is in effect.

The following replacements were performed using sed in all text files
(git grep -Il '' | xargs sed -i):

s/status=`expr $status + $ret`/status=$((status + ret))/g
s/n=`expr $n + 1`/n=$((n + 1))/g
s/t=`expr $t + 1`/t=$((t + 1))/g
s/status=`expr $status + 1`/status=$((status + 1))/g
s/try=`expr $try + 1`/try=$((try + 1))/g
2023-07-14 15:49:13 +02:00
Tom Krizek
01bc805f89 Run system tests with set -e
Ensure all shell system tests are executed with the errexit option set.
This prevents unchecked return codes from commands in the test from
interfering with the tests, since any failures need to be handled
explicitly.
2023-07-14 15:07:25 +02:00
Michal Nowak
723cb07d58 Merge branch 'mnowak/detect-core-dumps-after-server-failed-to-stop' into 'main'
Detect core dumps after BIND failed to stop cleanly

See merge request isc-projects/bind9!8096
2023-07-13 13:12:37 +00:00
Michal Nowak
89c77daddb Detect core dumps after BIND failed to stop cleanly
With the pytest runner, when BIND crashed during test runtime, the
get_core_dumps.sh script hasn't been run, and core dumps were not
detected.
2023-07-13 15:09:55 +02:00
Mark Andrews
dd3c7e4ecb Merge branch '4194-extend-dns-cookie-support' into 'main'
Resolve "Extend DNS COOKIE support"

Closes #4194

See merge request isc-projects/bind9!8086
2023-07-13 02:31:02 +00:00
Mark Andrews
cf923e4ad3 Add release note for [GL #4194] 2023-07-13 01:58:53 +00:00
Mark Andrews
c2dcc2602d Add CHANGES note for [GL #4194] 2023-07-13 01:58:53 +00:00
Mark Andrews
189ca00a6e Check that BADCOOKIE is returned for a bad server COOKIE
Send a well formed, all zeros, DNS COOKIE option to a named instance
running with default cookie settings and check that BADCOOKIE is
returned.
2023-07-13 01:58:53 +00:00
Mark Andrews
3969e2c5f7 Return BADCOOKIE on validly formed bad SERVER COOKIES
The server was previously tolerant of out-of-date or otherwise bad
DNS SERVER COOKIES that where well formed unless require-cookie was
set.  BADCOOKIE is now return for these conditions.
2023-07-13 01:58:53 +00:00
Tom Krizek
4990f8ae34 Merge branch 'tkrizek/set-up-version-and-release-notes-for-bind-9.19.16' into 'main'
Set up version and release notes for BIND 9.19.16

See merge request isc-projects/bind9!8092
2023-07-10 13:45:09 +00:00
Tom Krizek
c49bad79eb Set up release notes for BIND 9.19.16 2023-07-10 15:08:50 +02:00
Tom Krizek
46e917a55e Update BIND version to 9.19.16-dev 2023-07-10 15:08:50 +02:00
Michał Kępień
bf8acd4556 Merge branch 'michal/add-changes-entry-for-tsig-tkey-refactoring' into 'main'
Add CHANGES entry for !7828

See merge request isc-projects/bind9!8090
2023-07-06 13:06:51 +00:00
Michał Kępień
8f0810b2f4 Add CHANGES entry for !7828 2023-07-06 15:02:10 +02:00
Arаm Sаrgsyаn
f310834fdd Merge branch '4171-add-shutdown-check-in-dns_catz_dbupdate_callback' into 'main'
Add shutdown checks in dns_catz_dbupdate_callback()

Closes #4171

See merge request isc-projects/bind9!8081
2023-07-06 11:26:31 +00:00
Aram Sargsyan
8887da60ad Add a CHANGES note for [GL #4171] 2023-07-06 10:46:46 +00:00
Aram Sargsyan
28bb419edc Add shutdown checks in dns_catz_dbupdate_callback()
When a zone database update callback is called, the 'catzs' object,
extracted from the callback argument, might be already shutting down,
in which case the 'catzs->zones' can be NULL and cause an assertion
failure when calling isc_ht_find().

Add an early return from the callback if 'catzs->shuttingdown' is true.

Also check the validity of 'catzs->zones' after locking 'catzs' in
case there is a race with dns_catz_shutdown_catzs() running in another
thread.
2023-07-06 10:46:46 +00:00
Matthijs Mekking
2f66410680 Merge branch '2471-test-three-is-a-crowd' into 'main'
Add "three is a crowd" test case

Closes #2471

See merge request isc-projects/bind9!8065
2023-07-06 08:03:34 +00:00
Matthijs Mekking
9c40cf0566 Add test for "three is a crowd" bug (GL #2375)
Add this test scenario for a bug fixed a while ago. When a third key is
introduced while the previous rollover hasn't finished yet, the keymgr
could decide to remove the first two keys, because it was not checking
for an indirect dependency on the keys.

In other words, the previous bug behavior was that the first two keys
were removed from the zone too soon.

This test case checks that all three keys stay in the zone, and no keys
are removed premature after another new key has been introduced.
2023-07-06 09:27:29 +02:00
Matthijs Mekking
674249f66a Check all keys despite early failure
In the kasp script, if one expected key is not found, continue checking
the other key ids, even if there is no match for the first one.  This
provides a bit more information which keys mismatch and makes for
easier debugging test failures.
2023-07-06 09:27:29 +02:00
Evan Hunt
54d0051730 Merge branch 'each-refactor-fetchopt' into 'main'
clean up numbering of FETCHOPT and ADDRINFO flags

See merge request isc-projects/bind9!8079
2023-07-04 18:36:09 +00:00
Evan Hunt
0955cf1af5 clean up numbering of FETCHOPT and ADDRINFO flags
in the past there was overlap between the fields used
as resolver fetch options and ADB addrinfo flags. this has
mostly been eliminated; now we can clean up the rest of
it and remove some confusing comments.
2023-07-04 18:23:57 +00:00
Tom Krizek
d6d90cb4b6 Merge branch 'tkrizek-shutdown-rndc-hang' into 'main'
Split shutdown test into separate test cases

See merge request isc-projects/bind9!8058
2023-07-04 11:34:00 +00:00
Tom Krizek
5f85f63bf1 Mark the test_named_shutdown[rndc] test as xfail
It is currently affected by #4060, making the unstable as it
occassionally fails.
2023-07-04 12:58:16 +02:00
Tom Krizek
ceed694659 Use timeout for rndc status in shutdown test
Pass 5 second timeout to the rndc status command(s) to avoid hitting the
hard 10 second timeout from subprocess.call, which would result in an
unwanted exception that would only mask the real issue: if the rndc
status times out in this test, it is likely due to the server not
stopping as it should.
2023-07-04 12:58:16 +02:00
Tom Krizek
603c58ee28 Split shutdown test into separate test cases
The shutdown test attempts to shut down the server using two different
methods - rndc and sigterm. Use pytest.mark.parametrize to run these as
separate test cases for easier identification of failures.
2023-07-04 12:58:14 +02:00
Evan Hunt
ee75ebc711 Merge branch 'each-lock-counter' into 'main'
fix a TSAN bug in "rndc fetchlimit"

See merge request isc-projects/bind9!8067
2023-06-30 06:52:18 +00:00
Evan Hunt
5ba73c785e fix a TSAN bug in "rndc fetchlimit"
fctx counters could be accessed without locking when
"rndc fetchlimit" is called; while this is probably harmless
in production, it triggered TSAN reports in system tests.
2023-06-30 06:52:01 +00:00
Evan Hunt
bbc64c14e3 Merge branch '4173-refactor-resume_qmin' into 'main'
minor refactoring of resume_qmin() for clarity

Closes #4173

See merge request isc-projects/bind9!8068
2023-06-29 17:34:20 +00:00
Evan Hunt
352d542d27 minor refactoring of resume_qmin() for clarity
make the code flow clearer by enumerating the result codes that
are treated as success conditions for an intermediate minimized
query (ISC_R_SUCCESS, DNS_R_DELEGATION, DNS_R_NXRRSET, etc), rather
than just folding them all into the 'default' branch of a switch
statement.
2023-06-29 10:14:20 -07:00
Michał Kępień
98d532abb9 Merge branch '4169-add-google-site-verification-tag-to-the-toc-page' into 'main'
Add Google Site Verification tag to the TOC page

Closes #4169

See merge request isc-projects/bind9!8076
2023-06-29 16:48:15 +00:00
Michał Kępień
13c35ab0b3 Add Google Site Verification tag to the TOC page
This should allow tracking HTTP 404 errors for Read the Docs using the
Google Search Console.
2023-06-29 18:32:50 +02:00
Michał Kępień
b22b318604 Merge branch 'michal/update-release-and-cve-checklists' into 'main'
Update release and CVE checklists

See merge request isc-projects/bind9!8074
2023-06-29 14:14:02 +00:00
Michał Kępień
d7638d52e2 Update release and CVE checklists 2023-06-29 16:08:35 +02:00
Tom Krizek
8b17b31316 Merge branch 'tkrizek-disable-delv-in-tsan' into 'main'
Disable delv tests under TSAN

See merge request isc-projects/bind9!8062
2023-06-29 10:58:44 +00:00
Tom Krizek
76d9873ef6 Check for unset variables only after conf.sh is loaded
Make the cds/setup.sh compatible with the workaround which relies on
testing the TSAN_OPTIONS variable which may not be set.
2023-06-29 10:35:47 +02:00
Tom Krizek
06056c44a7 Fix checking for executables in shell conditions in tests
Surround the variables which are checked whether they're executable in
double quotes. Without them, empty paths won't be properly interpreted
as not executable.
2023-06-29 10:35:47 +02:00
Tom Krizek
384339dbba Only use delv if available in mkeys test
Check that $DELV is an executable before using it in a test.
2023-06-29 10:35:47 +02:00
Tom Krizek
fbcf37f914 Disable delv tests under TSAN
Since delv can occasionally hang in system tests when running with TSAN
(see GL#4119), disable these tests as a workaround. Otherwise, the hung
delv process will just waste CI resources and prevent any meaningful
output from the rest of the test suite.
2023-06-29 10:35:47 +02:00
Mark Andrews
06131a8760 Merge branch '4154-restore-the-ability-to-read-old-hmac-md5-key-pair-files' into 'main'
Resolve "Restore the ability to read old HMAC-MD5 key pair files."

Closes #4154

See merge request isc-projects/bind9!8041
2023-06-29 00:20:07 +00:00