Commit Graph

38075 Commits

Author SHA1 Message Date
Mark Andrews
290896921d Clear OpenSSL errors on ECDSA_SIG_new failures
(cherry picked from commit eafcd41120)
2023-09-01 13:13:06 +10:00
Matthijs Mekking
47a741f3b1 Merge branch '4278-rndc-flush-resets-stale-refresh-time-to-0-v9_18' into 'bind-9.18'
[9.18] Restore serve-stale settings after cache flush

See merge request isc-projects/bind9!8255
2023-08-31 11:52:29 +00:00
Matthijs Mekking
94a61cea3e Add release note and CHANGES for #4278
(cherry picked from commit 9523eb70f6)
2023-08-31 11:15:44 +02:00
Matthijs Mekking
6e078a79d5 After cache flush, restore serve-stale settings
When flushing the cache, we create a new cache database. The serve-stale
settings need to be restored after doing this. We already did this
for max-stale-ttl, but forgot to do this for stale-refresh-time.

(cherry picked from commit 3ae721db6c)
2023-08-31 11:13:08 +02:00
Matthijs Mekking
804f4b8d5d Add serve-stale test settings after flush
Add a test case to ensure that after 'rndc flush', the serve-stale
settings are not reset.

(cherry picked from commit 0f593fd70a)
2023-08-31 11:12:59 +02:00
Mark Andrews
955b7aa6f1 Merge branch '4280-isc-support-22588-bind-now-returning-servfail-for-attempted-deletions-of-non-existent-ptr-srv-bind-9.18' into 'bind-9.18'
[9.18] Resolve "[ISC-support #22588] BIND now returning SERVFAIL for attempted deletions of non-existent PTR/SRV records"

See merge request isc-projects/bind9!8252
2023-08-30 00:34:14 +00:00
Mark Andrews
2502fea7df Add release note for [GL #4280]
(cherry picked from commit 2b4e109c6a)
2023-08-30 10:07:33 +10:00
Mark Andrews
5b12ba7673 Add CHANGES for [GL #4280]
(cherry picked from commit bb3556baa4)
2023-08-30 10:07:31 +10:00
Mark Andrews
58be5d8ed0 rr_exists should not error if the name does not exist
rr_exists errored if the name did not exist in the zone.  This was
not an issue prior to the addition of krb5-subdomain-self-rhs and
ms-subdomain-self-rhs as the only name used was the zone name which
always existed.

(cherry picked from commit b76a15977a)
2023-08-30 10:05:09 +10:00
Mark Andrews
b4694e7551 Check that removal of nonexistent PTR and SRV records work
There was a bug in rr_exists that caused it to fail when the
name didn't exist in the zone.

(cherry picked from commit 2b7192c5be)
2023-08-30 10:05:08 +10:00
Mark Andrews
4efa74279e Merge branch '4277-cid-464851-possible-control-flow-issues-deadcode-in-lib-dns-opensslrsa_link-c' into 'bind-9.18'
Only declare 'ex' if it will be used.

See merge request isc-projects/bind9!8238
2023-08-29 22:32:57 +00:00
Mark Andrews
2282d5325a Only declare 'ex' if we will use it
Fixes
>>>     CID 464851:  Possible Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "BN_free(ex);".

Makes conditionals between declaring and use constistent. BN_free is
not needed as BIGNUM's returned by RSA_get0_key are not to be freed.
2023-08-29 22:05:27 +00:00
Tom Krizek
15b1dac152 Merge branch 'tkrizek-update-sphinx-rtd-theme-9.18' into 'bind-9.18'
[9.18] Update sphinx_rtd_theme

See merge request isc-projects/bind9!8249
2023-08-29 08:23:13 +00:00
Tom Krizek
8bd5468fb7 Update sphinx_rtd_theme
To resolve the version select and search issue on readthedocs.org,
sphinx_rtd_theme>=1.2.1 is required.

Related https://github.com/readthedocs/sphinx_rtd_theme/issues/1452

(cherry picked from commit 92143fa960)
2023-08-29 10:11:08 +02:00
Ondřej Surý
32c57b1e60 Merge branch '4125-statschannel-content-length-overflow-9.18' into 'bind-9.18'
[9.18] Parse statschannel Content-Length: more carefully

See merge request isc-projects/bind9!8215
2023-08-23 13:49:31 +00:00
Ondřej Surý
034a63c1f3 Add release note for [GL #4125]
(cherry picked from commit 58a8de5246)
2023-08-23 15:48:28 +02:00
Tony Finch
3f4d9f739c Add CHANGES entry for [GL #4125]
(cherry picked from commit 1ba538f32f)
2023-08-23 15:44:26 +02:00
Tony Finch
525afc666a Parse statschannel Content-Length: more carefully
A negative or excessively large Content-Length could cause a crash
by making `INSIST(httpd->consume != 0)` fail.

(cherry picked from commit 26e10e8fb5)
2023-08-23 15:44:11 +02:00
Tom Krizek
942c827ed5 Merge branch '3001-pytest-nitpicks-9.18' into 'bind-9.18'
[9.18] system tests stability tweaks and cleanup

See merge request isc-projects/bind9!8242
2023-08-23 13:38:55 +00:00
Tom Krizek
764161d8cf Allow re-runs of rrl system test
The rrl system test has been unstable and producing false positive
results for years (GL #172). Allow the test to be re-run (once) to
reduce the noise it causes.

(cherry picked from commit 40289d5440)
2023-08-23 14:50:24 +02:00
Tom Krizek
ac465416f9 Allow re-runs of reclimit system test
The reclimit system test has been unstable and producing false positive
results for years (GL #1587). Allow the test to be re-run (once) to
reduce the noise it causes.

(cherry picked from commit 8c5833fe39)
2023-08-23 14:50:24 +02:00
Tom Krizek
83cde47734 Allow re-runs of qmin system test
The qmin test is inherently unstable. It fails quite often with failure
modes described in GL #904. Allow the pytest runner to re-run the test
up to 3 times to only detect a more persistent and reproducible failures
rather than random noise caused by the nature of the test.

(cherry picked from commit be2123a8e9)
2023-08-23 14:50:24 +02:00
Tom Krizek
0c5d718849 Disable loadtime check in statschannel test
It is better to disable the specific check that causes the test to fail
rather than mark the entire test as xfail, which can mask other issues
which the test is capable of detecting.

(cherry picked from commit 7522583b57)
2023-08-23 14:50:24 +02:00
Tom Krizek
d6c17a4502 ci: fix after_script for out-of-tree tests
The commands in after_script run in a new shell, separate from
before_script and script commands. Since the pytest.log.txt is for out
of tree tests is present in the build directory, switch to it (if set)
before running any postprocessing commands.

(cherry picked from commit 86043b0bbe)
2023-08-23 14:50:24 +02:00
Tom Krizek
71f96aa1e6 Clean up pytest .gitignore file
The _last_test_run entry was accidentally added in !8194. It came from a
work-in-progress version of the MR and was left there during a rebase.

(cherry picked from commit 1b3db25adf)
2023-08-23 14:50:24 +02:00
Tom Krizek
7a42a6b409 Skip checkds test on Python<3.7
checkds test requires the capture_output argument for subprocess.run()
which was added in Python 3.7.

(cherry picked from commit 0361233b3d)
2023-08-23 14:50:22 +02:00
Matthijs Mekking
c6fb15bdd6 Merge branch '1181-nsupdate-tcp-soa-requests' into 'bind-9.18'
Make nsupdate honor -v for SOA queries

See merge request isc-projects/bind9!8191
2023-08-23 09:17:10 +00:00
Matthijs Mekking
97c70e6b4e Add release note and CHANGES for #1181 2023-08-23 09:59:25 +02:00
Matthijs Mekking
a0a95fb997 Make nsupdate honor -v for SOA queries
nsupdate offers the switch -v to use TCP for update requests. But
before sending that update request nsupdate was using UDP connection
to gather the SOA for determining the zone if not given explicitly.

Only use TCP if not using the default servers, because the SOA
query lookup is a different server with different capabilities (and
usually not for the better of it).
2023-08-23 09:58:17 +02:00
Tom Krizek
c0e39f0272 Merge branch '4249-compile-test-files-during-make-9.18' into 'bind-9.18'
[9.18] Compile system test binaries during make

See merge request isc-projects/bind9!8226
2023-08-22 14:22:47 +00:00
Tom Krizek
468e05a181 ci: Disable dnsrps for respdiff jobs compiled with ASAN/TSAN
The dnsrps build assumes that dlopen is available from libc. This
assumption isn't met when attempting to build with address or thread
sanitizer on debian (bullseye, bookworm). Disable dnsrps build to avoid
the issue, since it's not needed anyway for our respdiff tests.

See commit b396f55586 for more info about
the dnsrps build.

(cherry picked from commit 0422415500)
2023-08-22 15:40:47 +02:00
Tom Krizek
ae18bc33c5 Compile system test binaries during make
Using check_PROGRAMS would postpone compiling the binaries needed by
system tests until `make check` would be called. Since it's preferable
to invoke pytest directly to run the system test suite, compile these
binaries without installing them during `make all` instead by using
noinst_PROGRAMS.

This removes the need to use TESTS= make -e check hack invoked from
pytest to work around this issue.

(cherry picked from commit 21980b43b8)
2023-08-22 15:40:44 +02:00
Ondřej Surý
fb95c1b8f4 Merge branch '4270-use-HAVE_STDATOMIC_H-for-stdatomic.h-header-detection-9.18' into 'bind-9.18'
Workaround faulty stdatomic.h header detection on Oracle Linux 7

See merge request isc-projects/bind9!8230
2023-08-22 13:29:43 +00:00
Ondřej Surý
701eb26f97 Workaround faulty stdatomic.h header detection on Oracle Linux 7
Oracle Linux 7 sets __STDC_VERSION__ to 201112L, but doesn't define
__STDC_NO_ATOMICS__, so we try to include <stdatomic.h> without the
header present in the system.  Since we are already detecting the header
in the autoconf, use the HAVE_STDATOMIC_H for more reliable detecting
whether <stdatomic.h> header is present.
2023-08-22 14:23:05 +02:00
Michal Nowak
9424f5a5b1 Merge branch 'mnowak/shutdown-test-drop-t-option' into 'bind-9.18'
Drop the rndc "-t" option from shudown system test

See merge request isc-projects/bind9!8227
2023-08-22 09:00:02 +00:00
Michal Nowak
8738309e24 Drop the rndc "-t" option from shudown system test
BIND 9.18 rndc does not know about the "-t" option, that results in an
silent "invalid argument" error.

The "-t" option originally came with
184eddb595 (a backport from the main
branch).
2023-08-22 10:58:58 +02:00
Michal Nowak
3ac53b39f2 Merge branch '4139-test_send_timeout-check-can-be-unstable-9.18' into 'bind-9.18'
[9.18] Make the test_send_timeout check more stable

See merge request isc-projects/bind9!8219
2023-08-22 08:07:07 +00:00
Michal Nowak
c3cc8aa429 Mark test_send_timeout as flaky
In some cases, BIND is not fast enough to fill the send buffer and
manages to answer all queries, contrary to what the test expects.
Repeat the check up to 3 times to limit this test instability.

(cherry picked from commit 681b23c398)
2023-08-22 08:55:03 +02:00
Tom Krizek
71a9e152f1 Add custom flaky decorator to handle unstable tests
If the flaky plugin for pytest is available, use its decorator to
support re-running unstable tests. In case the package is missing,
execute the test as usual without attempts to re-run it in case of
failure.

This is mostly intended to increase the test stability in CI. Using a
custom decorator enables us to keep the flaky package as an optional
dependency.

(cherry picked from commit 5b703de733)
2023-08-22 08:55:03 +02:00
Evan Hunt
812a37cf93 Merge branch '3835-cname-wildcard-loop-followup-bind-9.18' into 'bind-9.18'
[9.18] prevent query_coveringnsec() from running twice

See merge request isc-projects/bind9!8224
2023-08-21 22:22:36 +00:00
Evan Hunt
30bd750dd5 CHANGES for [GL #3835]
(cherry picked from commit ba1f75684f)
2023-08-21 14:31:37 -07:00
Evan Hunt
07f6c63a80 prevent query_coveringnsec() from running twice
when synthesizing a new CNAME, we now check whether the target
matches the query already being processed. if so, we do not
restart the query; this prevents a waste of resources.

(cherry picked from commit 0ae8b2e056)
2023-08-21 14:31:10 -07:00
Michal Nowak
d6ba9b3ed5 Merge branch '3893-make-debian-12-bookworm-base-image-9.18' into 'bind-9.18'
[9.18] Make Debian 12 "bookworm" the base image

See merge request isc-projects/bind9!8221
2023-08-21 18:03:30 +00:00
Michal Nowak
a5daf67a60 Move clang:bullseye PKCS11 testing to gcc:bullseye
Move clang:bullseye:amd64 PKCS11 testing to the gcc:bullseye:amd64 job
to evenly represent compilers in PKCS11 testing.

(cherry picked from commit 077d82403e)
2023-08-21 17:27:22 +02:00
Michal Nowak
ed09a82d18 Drop unnecessary gcovr workarounds
Many problems of the Debian 11 gcovr version were fixed in the Debian 12
one. Replace workarounds we accumulated over the years with two new,
simple ones.

(cherry picked from commit 55f5aa08f0)
2023-08-21 17:27:07 +02:00
Michal Nowak
405888dc8b Drop PKCS11 testing from "sid", resore it on "clang:bookworm"
The gcc:sid:amd64 job was used to test PKCS11 via the OpenSSL engine API
but is now designated for future PKCS11 testing via the provider API.

The ability to use PKCS11 via engine API in clang:bookworm:amd64 has
been restored using only deprecated APIs in OpenSSL 3.

(cherry picked from commit cfb06dabfe)
2023-08-21 17:26:48 +02:00
Michal Nowak
10458a419f Disable mandoc stylistic warning
We are not concerned by the "input text line longer than 80 bytes"
stylistic warning.

(cherry picked from commit 7929168295)
2023-08-21 17:26:27 +02:00
Michal Nowak
23a45b83f6 Drop unneeded -Wno-compound-token-split-by-macro option
Debian 12 has Perl 5.36 and the option is no longer needed.

(cherry picked from commit a330ab221e)
2023-08-21 17:26:03 +02:00
Michal Nowak
84911e693b Reintroduce Debian 11 "bullseye" Clang and GCC jobs
(cherry picked from commit 5e1120d9a3)
2023-08-21 17:25:41 +02:00
Michal Nowak
eebe045d46 Make Debian 12 "bookworm" the base image
Just replace "bullseye" with "bookworm" and reintroduce Debian 11
"bullseye" later.

(cherry picked from commit 2d18c57c54)
2023-08-21 17:24:30 +02:00