Commit Graph

37960 Commits

Author SHA1 Message Date
Tom Krizek
5c98308987 Merge branch '4089-stale-query-loop-test-9.18' into 'bind-9.18'
[9.18] Reproducer for CVE-2023-2911

See merge request isc-projects/bind9!8135
2023-07-25 11:25:13 +00:00
Tom Krizek
0d88cd444b Reproducer for CVE-2023-2911
The conditions that trigger the crash:
- a stale record is in cache
- stale-answer-client-timeout is 0
- multiple clients query for the stale record, enough of them to exceed
  the recursive-clients quota
- the response from the authoritative is sufficiently delayed so that
  recursive-clients quota is exceeded first

The reproducer attempts to simulate this situation. However, it hasn't
proven to be 100 % reproducible, especially in CI. When reproducing
locally, the priming query also seems to sometimes interfere and prevent
the crash. When the reproducer is ran twice, it appears to be more
reliable in reproducing the issue.

(cherry picked from commit f617512d37)
2023-07-25 10:34:33 +02:00
Tom Krizek
a9b4552db2 Merge branch 'tkrizek/checkconf-keys-dir-set-e-9.18' into 'bind-9.18'
[9.18] Clean up keys directory in checkconf test

See merge request isc-projects/bind9!8134
2023-07-25 08:11:12 +00:00
Tom Krizek
744185f524 Clean up keys directory in checkconf test
The keys directory should be cleaned up in clean.sh. Doing that in the
test itself isn't reliable which may lead to failing mkdir which causes
the test to fail with set -e.

(cherry picked from commit 062dfac28e)
2023-07-25 09:21:50 +02:00
Mark Andrews
e927dd4609 Merge branch '4215-add-isc_r_timedout-to-the-reasons-to-call-dns_zonemgr_unreachableadd-in-xfrin-bind-9.18' into 'bind-9.18'
[9.18] Resolve "Add ISC_R_TIMEDOUT to the reasons to call dns_zonemgr_unreachableadd in xfrin"

See merge request isc-projects/bind9!8128
2023-07-21 23:38:58 +00:00
Mark Andrews
85173c2bf5 Add CHANGES note for [GL #4215]
(cherry picked from commit fefc273eb0)
2023-07-22 09:01:02 +10:00
Mark Andrews
c36d41d39c Mark a primary as unreachable on timed out in xfin
When a primary server is not responding, mark it as temporarialy
unreachable.  This will prevent too many zones queuing up on a
unreachable server and allow the refresh process to move onto
the next primary sooner once it has been so marked.

(cherry picked from commit 621c117101)
2023-07-22 09:00:08 +10:00
Ondřej Surý
4e12fb257e Merge branch '4200-dont-process-next-TCP-packet-when-paused-9.18' into 'bind-9.18'
[9.18] Don't process detach and close as priority netmgr events

See merge request isc-projects/bind9!8094
2023-07-20 17:20:48 +00:00
Ondřej Surý
7cd1ac2fa7 Add CHANGES and release note for [GL #4200] 2023-07-20 18:41:01 +02:00
Ondřej Surý
c2c2ec0c96 Don't process detach and close as priority netmgr events
The detach (and possibly close) netmgr events can cause additional
callbacks to be called when under exclusive mode.  The detach can
trigger next queued TCP query to be processed and close will call
configured close callback.

Move the detach and close netmgr events from the priority queue to the
normal queue as the detaching and closing the sockets can wait for the
exclusive mode to be over.
2023-07-20 18:37:48 +02:00
Arаm Sаrgsyаn
13151c3515 Merge branch 'aram/tests-statschannel-fetch.pl-typo-9.18' into 'bind-9.18'
[9.18] Fix a bug in an utility script for the statschannel system test

See merge request isc-projects/bind9!8120
2023-07-19 15:47:24 +00:00
Aram Sargsyan
67f4b9d2a6 Fix a bug in an utility script for the statschannel system test
Because of a typo, the fetch.pl script tries to extract the server
address from the input parameter 'a' instead of 's'. Fix the typo.

(cherry picked from commit aa7538fd38)
2023-07-19 13:25:17 +00:00
Tom Krizek
42d7c0e92a Merge tag 'v9.18.17' into bind-9.18 2023-07-19 14:36:57 +02:00
Mark Andrews
5e6628f3ab Merge branch '4203-run-gdb-not-found-bind-9.18' into 'bind-9.18'
[9.18] Resolve "run.gdb not found"

See merge request isc-projects/bind9!8112
2023-07-19 03:14:01 +00:00
Mark Andrews
d865ca788f Use absolute path to locate run.gdb
(cherry picked from commit 3f7723cdff)
2023-07-19 12:37:48 +10:00
Michal Nowak
f6dddbe687 Merge branch 'mnowak/remove-windows-support-remnants-9.18' into 'bind-9.18'
[9.18] Remove remnants of Windows support in system test

See merge request isc-projects/bind9!8111
2023-07-18 15:59:22 +00:00
Michal Nowak
add15bd083 Remove remnants of Windows support in system test
The "uname -o" command is harmful on OpenBSD because this platform does
not know about the "-o" option. It is a permanent failure since system
tests are started with "set -e".

(cherry picked from commit ad3efede4d)
2023-07-18 17:45:35 +02:00
Tom Krizek
5cd6d2e70b Merge branch 'tkrizek/readthedocs-config-9.18' into 'bind-9.18'
[9.18] Add configuration for readthedocs.org

See merge request isc-projects/bind9!8109
2023-07-18 14:59:51 +00:00
Tom Krizek
5512e8fd6b Synchronize Sphinx package version on ReadTheDocs with our CI
Related: isc-projects/images!228
2023-07-18 16:17:36 +02:00
Tom Krizek
ab336d5da8 Add configuration for readthedocs.org
readthedocs.org is switching to in-repo configuration file in favor of
the deprecated web interface as it allows more flexibility.

This also fixes our recent doc build issues, as we're switching to a
newer Python which is required by Sphinx.

See https://blog.readthedocs.com/migrate-configuration-v2/

(cherry picked from commit a1a0ccda6e)
2023-07-18 15:33:07 +02:00
Tom Krizek
da44dff5ef Merge branch 'tkrizek/run-tests-with-set-e-9.18' into 'bind-9.18'
[9.18] Run system tests with set -e

See merge request isc-projects/bind9!8103
2023-07-17 15:03:26 +00:00
Tom Krizek
915e633a5d Handle curl without HTTP/2 support in doth test 2023-07-17 16:28:49 +02:00
Tom Krizek
854b50db32 Check return codes from commands in inline test
To improve the compatibility of the inline test with the `set -e`
option, ensure all commands which are expected to pass are explicitly
checked for return code and non-zero return codes are handled.

(cherry picked from commit e5f2addcaa)
2023-07-17 15:37:18 +02:00
Tom Krizek
e94162457c Ignore test cleanup commits in git blame
(manually picked from commit ccc9b87f59)
2023-07-17 15:36:45 +02:00
Tom Krizek
bca32c0c30 Handle non-zero return codes in autosign test 2023-07-17 15:30:14 +02:00
Tom Krizek
59e5fa4217 Use $(...) notation for subshells in system tests
The changes were mostly done with sed:

find . -name '*.sh' | xargs sed -i 's/`\([^`]*\)`/$(\1)/g'

There have been a few manual changes where the regex wasn't sufficient
(e.g. backslashes inside the `...`) or wrong (`...` referring to docs or
in comments).

(manually picked from commit 05baf7206b)
2023-07-17 15:30:14 +02:00
Tom Krizek
02edc985cf Handle non-zero return codes in rootkeysentinel tests
(cherry picked from commit d203681a75)
2023-07-17 15:30:14 +02:00
Tom Krizek
17f6a849ab Handle non-zero return codes in resolver test
(cherry picked from commit 2b8e5e1155)
2023-07-17 15:30:14 +02:00
Tom Krizek
28e39b567c Handle non-zero return codes in statschannel test
(cherry picked from commit cde02fdb6a)
2023-07-17 15:30:13 +02:00
Tom Krizek
db589ad1e5 Handle non-zero return codes in checkconf test
(cherry picked from commit 4a87b44196)
2023-07-17 15:30:13 +02:00
Tom Krizek
c1de0c9788 Handle non-zero return codes in dnstap test
(cherry picked from commit 9d383dce40)
2023-07-17 15:30:13 +02:00
Tom Krizek
e302ee1cc7 Handle non-zero return codes in kasp test
(cherry picked from commit ede8ea889b)
2023-07-17 15:30:13 +02:00
Tom Krizek
b7ef365cff Handle non-zero return codes in serve-stale test
(cherry picked from commit 4e8802a22d)
2023-07-17 15:30:13 +02:00
Tom Krizek
94a6fd2ad0 Handle non-zero return codes in doth test
(cherry picked from commit fae6808b9c)
2023-07-17 15:30:13 +02:00
Tom Krizek
523bbe906d Handle non-zero return codes in acl test
(cherry picked from commit 1e64749ed3)
2023-07-17 15:30:13 +02:00
Tom Krizek
716d8f43e0 Handle non-zero return codes in statistics test
(cherry picked from commit 3a36ff506d)
2023-07-17 15:30:13 +02:00
Tom Krizek
a460982af7 Handle non-zero return codes in rrsetorder test
(cherry picked from commit 9fdf537f52)
2023-07-17 15:30:13 +02:00
Tom Krizek
e7ec2cea48 Handle non-zero return codes in redirect test
(cherry picked from commit 45fc4cc465)
2023-07-17 15:30:12 +02:00
Tom Krizek
be033cf794 Handle non-zero return codes in rndc test
(cherry picked from commit c50a9e158d)
2023-07-17 15:30:12 +02:00
Tom Krizek
aca0cbe902 Handle non-zero return codes in inline test
(cherry picked from commit 36d74bd2e3)
2023-07-17 15:30:12 +02:00
Tom Krizek
c6fa52c31e Handle non-zero return codes unknown test
(cherry picked from commit f3310e1731)
2023-07-17 15:30:12 +02:00
Tom Krizek
245730cf78 Handle non-zero return codes in nsupdate test
(cherry picked from commit 86765ad1d3)
2023-07-17 15:30:12 +02:00
Tom Krizek
fcb72ad748 Handle non-zero return codes in zonechecks test
(cherry picked from commit e5933f65d6)
2023-07-17 15:30:12 +02:00
Tom Krizek
45c3163083 Handle non-zero return codes in wildcard test
(cherry picked from commit e8c61f8da4)
2023-07-17 15:30:12 +02:00
Tom Krizek
2ee1e36308 Handle non-zero return codes in zero test
(cherry picked from commit 69e8876966)
2023-07-17 15:30:12 +02:00
Tom Krizek
05247d365f Handle non-zero return codes in legacy test
(cherry picked from commit 3ce200ead8)
2023-07-17 15:30:11 +02:00
Tom Krizek
32ccdddcda Handle non-zero return codes in forward test
(cherry picked from commit 2823d0b469)
2023-07-17 15:30:11 +02:00
Tom Krizek
09cc0a03f5 Handle non-zero return codes in upforwd test
(cherry picked from commit 855f5b143a)
2023-07-17 15:30:11 +02:00
Tom Krizek
ffa70cad1a Handle non-zero return codes in addzone test
(cherry picked from commit 146cb978c5)
2023-07-17 15:30:11 +02:00
Tom Krizek
d34f1aac27 Handle non-zero return codes in rpzrecurse test
(cherry picked from commit 247b608f62)
2023-07-17 15:30:11 +02:00