Commit Graph

38372 Commits

Author SHA1 Message Date
Tom Krizek
cb6cff65a9 Update BIND version for release v9.18.21 2023-12-08 12:44:04 +01:00
Tom Krizek
c482580110 Add a CHANGES marker 2023-12-08 12:44:04 +01:00
Tom Krizek
9d5aa0b7f8 Merge branch 'michal/prepare-documentation-for-bind-9.18.21' into 'v9.18.21-release'
Prepare documentation for BIND 9.18.21

See merge request isc-private/bind9!599
2023-12-08 11:43:30 +00:00
Michał Kępień
b3f116fada Tweak and reword release notes 2023-12-07 15:48:45 +01:00
Michał Kępień
35ca98d518 Prepare release notes for BIND 9.18.21 2023-12-07 15:38:31 +01:00
Ondřej Surý
bcb22e6e78 Merge branch '4448-improve-lur-cleaning-behaviour-bind-9.18' into 'bind-9.18'
[9.18] Resolve "Improve LRU cleaning behaviour" !8516

See merge request isc-projects/bind9!8556
2023-12-07 12:23:18 +00:00
Mark Andrews
c185821d96 Add CHANGES for [GL #4448]
(cherry picked from commit 6ef8d8d699)
2023-12-07 22:16:13 +11:00
Mark Andrews
9ded7428ad Use explict atomic for older compilers 2023-12-07 22:16:13 +11:00
Mark Andrews
2cc84d7678 Also cleanup the space for the rbt nodes
As we are in overmem state we want to free more memory than we are
adding so we need to add in an allowance for the rbtnodes that may
have been added and the names stored with them.  There is the node
for the owner name and a possible ENT node if there was a node split.

(cherry picked from commit 7e462c2b26)
2023-12-07 21:50:02 +11:00
Mark Andrews
8e5bd86416 Process the combined LRU lists in LRU order
Only cleanup headers that are less than equal to the rbt's last_used
time.  Adjust the rbt's last_used time when the target cleaning was
not achieved to the oldest value of the remaining set of headers.

When updating delegating NS and glue records last_used was not being
updated when it should have been.

When adding zero TTL records to the tail of the LRU lists set
last_used to rbtdb->last_used + 1 rather than now.  This appoximately
preserves the lists LRU order.

(cherry picked from commit 5e8f0e9ceb)
2023-12-07 21:34:19 +11:00
Evan Hunt
931437480a Merge branch '4405-remove-resolver-opts-bind-9.18' into 'bind-9.18'
[9.18] deprecate resolver-retry-interval and resolver-nonbackoff-tries

See merge request isc-projects/bind9!8553
2023-12-06 22:13:47 +00:00
Evan Hunt
374b4d6258 deprecate resolver-retry-interval and resolver-nonbackoff-tries
these options control default timing of retries in the resolver
for experimental purposes; they are not known to useful in production
environments.  they will be removed in the future; for now, we
only log a warning if they are used.

(cherry picked from commit 4aaa4f7dca)
2023-12-06 13:41:47 -08:00
Evan Hunt
4ee01a8b5a Merge branch '3498-glue-rehash-overflow' into 'bind-9.18'
correctly limit hash resize to RBTDB_GLUE_TABLE_MAX_BITS

See merge request isc-projects/bind9!8465
2023-12-06 19:44:40 +00:00
Evan Hunt
8f73814469 correctly limit hash resize to RBTDB_GLUE_TABLE_MAX_BITS
Use < instead of <= when testing the new new hash bits size,
otherwise it can exceed the limit.
2023-12-06 11:30:41 -08:00
Artem Boldariev
9f5d5971a7 Merge branch '4464-multithread-tls-initialisation-crash-fix-9.18' into 'bind-9.18'
[9.18]Fix TLS certs store deletion on concurrent access

See merge request isc-projects/bind9!8549
2023-12-06 16:21:32 +00:00
Artem Boldariev
7632a72739 Update CHANGES [GL #4464]
Mention that BIND crashing due to a `tls` multithreaded entry
initialisation attempts has been fixed.

(cherry picked from commit f7de766168)
2023-12-06 17:08:04 +02:00
Artem Boldariev
96228d9a08 doth test: add a secondary NS instance that reuses a 'tls' entry
This commit extends the 'doth' system tests with additional secondary
NS instance that reuses the same 'tls' entry for connecting the the
primary to download zones. This configurations were known to crash
secondaries in some cases.

(cherry picked from commit 10e626111f)
2023-12-06 17:07:12 +02:00
Artem Boldariev
d20f1240e2 Fix TLS certs store deletion on concurrent access
During initialisation or reconfiguration, it is possible that multiple
threads are trying to create a TLS context and associated data (like
TLS certs store) concurrently. In some cases, a thread might be too
late to add newly created data to the TLS contexts cache, in which
case it needs to be discarded. In the code that handles that case, it
was not taken into account that, in some cases, the TLS certs store
could not have been created or should not be deleted, as it is being
managed by the TLS contexts cache already. Deleting the store in such
cases might lead to crashes.

This commit fixes the issue.

(cherry picked from commit b109fa9192)
2023-12-06 17:06:51 +02:00
Mark Andrews
44e4b5cb4a Merge branch '4432-pointers-dereferenced-before-being-checked-bind-9.18' into 'bind-9.18'
[9.18] Resolve "Pointers Dereferenced before Being Checked" !8508

See merge request isc-projects/bind9!8544
2023-12-05 23:08:27 +00:00
Mark Andrews
3aaf20a2dc Ineffective DbC protections
Dereference before NULL checks.  Thanks to Eric Sesterhenn from X41
D-Sec GmbH for reporting this.

(cherry picked from commit decc17d3b0)
2023-12-06 09:01:05 +11:00
Michal Nowak
9736338bc3 Merge branch 'mnowak/drop-openbsd-system-test-job-9.18' into 'bind-9.18'
[9.18] Drop OpenBSD system test CI job

See merge request isc-projects/bind9!8540
2023-12-05 15:58:07 +00:00
Michal Nowak
9436384969 Run "make check" in system:gcc:sid:amd64
Following the discontinuation of the OpenBSD system test in CI, transfer
the execution of the system test using the "make check" method to the
Debian "sid" system test CI job.

(cherry picked from commit 27d51d6ab6)
2023-12-05 16:25:54 +01:00
Michal Nowak
84541be86d Drop OpenBSD system test CI job
The system tests on OpenBSD consistently exhibit lower stability
compared to our other CI platforms. Some of these challenges are
intrinsic to the system test itself and require attention. However,
there are OpenBSD issues, which seem to be more widespread on this
platform than others. In our daily CI pipelines, OpenBSD system tests
often bear the brunt of all failed CI jobs.

It's possible that our OpenBSD CI image could be optimized, but we
currently lack the domain-specific knowledge needed to make
improvements.

(cherry picked from commit 2ab292c169)
2023-12-05 16:24:04 +01:00
Tom Krizek
8fe21a15ce Merge branch '4452-pytest-improve-assert-messages-9.18' into 'bind-9.18'
[9.18] Improve assert messages in pytests

See merge request isc-projects/bind9!8538
2023-12-05 14:26:49 +00:00
Tom Krizek
41ce14f389 Refactor statschannel test to use isctest
Use common utility functions in favor of duplicating the code in a
test-specific file.

(cherry picked from commit 5de2b07daa)
2023-12-05 14:27:41 +01:00
Tom Krizek
1fe70c6095 Add system test utility package isctest
Create a utility package for code shared by the python tests. The
utility functions should use reasonable defaults and be split up into
modules according to their functionality.

Ensure assert rewriting is enabled for the modules to get the most
useful output from pytest.

(cherry picked from commit cba5a1d62c)
2023-12-05 14:27:41 +01:00
Tom Krizek
4e74513c1b Simplify statsport fixture in statschannel test
The ports fixture provides the required port numbers already and there's
no need to get the port number from environment.

(cherry picked from commit f0481c8600)
2023-12-05 14:27:41 +01:00
Tom Krizek
cf81c9e833 Allow assertion message rewrite in statschannel test
By default, the useful assertion message rewrite is used by pytest for
test modules only. Since another module is imported with shared
functionality, ensure it has pytest's assertion message rewriting
enabled to obtain more debug information in case it fails.

(cherry picked from commit a57af8163a)
2023-12-05 14:27:41 +01:00
Tom Krizek
33b61de350 Move helper functions in statchannel into single file
Since dnspython is now a required dependency, there's no need to keep
these two helper files separate.

(cherry picked from commit fc295b2b5d)
2023-12-05 14:27:40 +01:00
Tom Krizek
ad133d4c1c Add assert message to test doth/stress_http_quota.py
This file is executed outside of pytest with pure python, which doesn't
do any AssertionError message rewriting like pytest. Ensure the assert
messages in this file provide a useful debug message.

(cherry picked from commit 767f4670c6)
2023-12-05 14:27:37 +01:00
Tom Krizek
46925fb8f5 Merge branch '4421-deprecate-AES-based-DNS-cookies-9.18' into 'bind-9.18'
[9.18] Deprecate AES algorithm for DNS cookies

See merge request isc-projects/bind9!8486
2023-12-05 10:28:38 +00:00
Ondřej Surý
a9e4d6c682 Add CHANGES and release note for [GL #4421]
(cherry picked from commit 2a3b3beaf1)
2023-12-05 10:54:01 +01:00
Ondřej Surý
1285238d95 Deprecate AES algorithm for DNS cookies
The AES algorithm for DNS cookies was being kept for legacy reasons,
and it can be safely removed in the next major release.  Mark is as
deprecated, so the `named-checkconf` prints a warning when in use.

(cherry picked from commit 67d14b0ee5)
2023-12-05 10:52:03 +01:00
Michal Nowak
3b24611844 Merge branch '3198-add-rr-record-9.18' into 'bind-9.18'
[9.18] Add support for recording named with rr

See merge request isc-projects/bind9!8536
2023-12-04 19:51:39 +00:00
Michał Kępień
a195d9b126 Do not daemonize named instances with custom args
This enables the "logfileconfig" and "rpzextra" system tests to pass
when named is started under the supervision of rr (USE_RR=1).

(cherry picked from commit 422286e9c2)
2023-12-04 19:30:03 +01:00
Michal Nowak
3bd3dfd187 Fix process listing string of rpzextra ns3 server
(cherry picked from commit 920af590d1)
2023-12-04 19:28:49 +01:00
Michal Nowak
72760c0c2b Add support for recording named runtime with rr
The traces of the named process are stored in the directory
$system_test/nsX/named-Y/.

(cherry picked from commit e088e8a992)
2023-12-04 19:28:05 +01:00
Ondřej Surý
b83b9dc2c6 Remove support for running system tests under Valgrind
Valgrind support has been scarcely used.

(cherry picked from commit 658d62a6f4)
2023-12-04 19:26:25 +01:00
Michal Nowak
7e5035be3c Merge branch 'mnowak/freebsd-14.0-9.18' into 'bind-9.18'
[9.18] Add FreeBSD 14.0

See merge request isc-projects/bind9!8533
2023-12-04 16:02:46 +00:00
Michal Nowak
3e791c64a7 Add FreeBSD 14.0
(cherry picked from commit 9152fc40a8)
2023-12-04 16:28:28 +01:00
Arаm Sаrgsyаn
ece18ccf97 Merge branch '1229-dig-no-yaml-output-when-host-is-unreachable-9.18' into 'bind-9.18'
[9.18] Resolve "No YAML output in dig when host is unreachable"

See merge request isc-projects/bind9!8529
2023-12-04 12:21:10 +00:00
Aram Sargsyan
2552f731c5 Add a CHANGES note for [GL #1229]
(cherry picked from commit ed879c41f2)
2023-12-04 10:40:26 +00:00
Aram Sargsyan
4181a187a1 Emit "no servers could be reached" also for UDP setup failure
When all the servers are exhausted for UDP setup emit "no servers
could be reached" in udp_ready(). This message can also be emitted
for a recv_done() error and for TCP connection failure similarly.

(cherry picked from commit 4d529ee12a)
2023-12-04 10:39:46 +00:00
Petr Špaček
350ab23f6c Merge branch '4417-stale-hyperlinks-in-the-arm-9.18' into 'bind-9.18'
[9.18] Fix stale hyperlinks in the ARM

See merge request isc-projects/bind9!8528
2023-12-04 10:02:35 +00:00
Suzanne Goldlust
0f7c92ff4b Fix broken link to TLD DNSSEC stats
(cherry picked from commit 15eea792b9)
2023-12-04 11:01:37 +01:00
Suzanne Goldlust
dd99c8bc3e Fix broken link to OMB memo
(cherry picked from commit 1482f5b1ed)
2023-12-04 11:01:37 +01:00
Michał Kępień
6817bf1284 Merge branch 'michal/minor-gitlab-ci-cleanup-9.18' into 'bind-9.18'
[9.18] Minor GitLab CI cleanup

See merge request isc-projects/bind9!8512
2023-11-21 09:31:33 +00:00
Michał Kępień
2d1f51d627 Move job definitions to the proper place
The definitions of the "ci-variables" and "cross-version-config-tests"
GitLab CI jobs were accidentally added in the .gitlab-ci.yml section
that claims to only contain job templates.  Move the definitions of
these two jobs to a more appropriate location in .gitlab-ci.yml, without
changing the job definitions themselves.

(cherry picked from commit 192cceba5a)
2023-11-21 10:29:21 +01:00
Michał Kępień
c81c4f3f96 Drop the TARBALL_EXTENSION variable
All currently supported BIND 9 branches use xz-packed tarballs for
source code distribution.  Having a variable with a lengthy name that
only holds two characters does not improve readability - it was only
useful for maintaining .gitlab-ci.yml consistency between BIND 9.11 and
all the newer branches, but that era has come to an end a while ago.

Replace all occurrences of the TARBALL_EXTENSION variable in
.gitlab-ci.yml with a fixed string ("xz") to simplify the contents of
that file.

(cherry picked from commit 832c7d4396)
2023-11-21 10:29:21 +01:00
Matthijs Mekking
144c7d0d9d Merge branch 'matthijs-lexopt-escape-public-key-9.18' into 'bind-9.18'
[9.18] Recognize escapes when reading the public key

See merge request isc-projects/bind9!8504
2023-11-20 12:40:43 +00:00