]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
11 months agoUse isctest.asyncserver in the "zero" test stepan/9.20-zero-asyncserver
Štěpán Balážik [Wed, 18 Jun 2025 10:13:37 +0000 (12:13 +0200)] 
Use isctest.asyncserver in the "zero" test

The original `ans.pl` server was based on a copy of the one in
`fetchlimit`, so there are some changes:

- The server now only responds with A replies (which is the only thing
  needed).
- The incrementing of the IP address goes beyond the least significant
  octet (so, after 192.0.2.255 it will yield 192.0.3.0).

11 months ago[9.20] chg: ci: move "stress" test generation script to QA repo
Michał Kępień [Sat, 21 Jun 2025 04:58:59 +0000 (04:58 +0000)] 
[9.20] chg: ci: move "stress" test generation script to QA repo

Move the util/generate-stress-test-configs.py script from the BIND 9
source repository to the BIND 9 QA repository.  This simplifies the
maintenance of that script by eliminating the need to backport every
change applied to it to multiple branches.

Backport of MR !10585

Merge branch 'backport-michal/move-stress-test-generation-script-to-qa-repo-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10612

11 months agoMove "stress" test generation script to QA repo
Michał Kępień [Sat, 21 Jun 2025 04:43:36 +0000 (06:43 +0200)] 
Move "stress" test generation script to QA repo

Move the util/generate-stress-test-configs.py script from the BIND 9
source repository to the BIND 9 QA repository.  This simplifies the
maintenance of that script by eliminating the need to backport every
change applied to it to multiple branches.

(cherry picked from commit 4f7f420534fc939107654a39ab94aa8d4e9d9c45)

11 months ago[9.20] fix: test: verify-axfr.db gets updated too fast in mirror test
Mark Andrews [Thu, 19 Jun 2025 20:19:17 +0000 (20:19 +0000)] 
[9.20] fix: test: verify-axfr.db gets updated too fast in mirror test

Add a 1 second wait before updating verify-axfr.db so that the
modification time of the file changes.

Closes #5376

Backport of MR !10586

Merge branch 'backport-5376-verify-axfr-db-gets-updated-too-fast-in-mirror-test-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10609

11 months agoverify-axfr.db gets updated too fast in mirror test
Mark Andrews [Tue, 17 Jun 2025 03:01:38 +0000 (13:01 +1000)] 
verify-axfr.db gets updated too fast in mirror test

Add a 1 second wait before updating verify-axfr.db so that the
modification time of the file changes.

(cherry picked from commit c19956b3cbf0ae55303266633dad2a1eca677224)

11 months ago[9.20] fix: test: Ignore softhsm2 errors when deleting token in keyfromlabel test
Nicki Křížek [Thu, 19 Jun 2025 14:25:07 +0000 (14:25 +0000)] 
[9.20] fix: test: Ignore softhsm2 errors when deleting token in keyfromlabel test

In some rare cases, the softhsm2 utility reports failure to delete the
token directory, despite the token being found. Subsequent attempts to
delete the token again indicate that the token was deleted.

Ignore this cleanup error, as it doesn't prevent our tests from working
properly. There is also an attempt to delete the token before the test
starts which ensures a clean state before the test is executed, in case
there's actually a leftover token.

Closes #5244

Backport of MR !10607

Merge branch 'backport-5244-ignore-softhsm2util-delete-token-error-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10608

11 months agoIgnore softhsm2 errors when deleting token in keyfromlabel test
Nicki Křížek [Thu, 19 Jun 2025 13:09:39 +0000 (15:09 +0200)] 
Ignore softhsm2 errors when deleting token in keyfromlabel test

In some rare cases, the softhsm2 utility reports failure to delete the
token directory, despite the token being found. Subsequent attempts to
delete the token again indicate that the token was deleted.

Ignore this cleanup error, as it doesn't prevent our tests from working
properly. There is also an attempt to delete the token before the test
starts which ensures a clean state before the test is executed, in case
there's actually a leftover token.

(cherry picked from commit e786a2e950411fb3ffe1aed140cc4520e4ffd74a)

11 months ago[9.20] chg: test: Improve logging from isctest.run.retry_with_timeout
Nicki Křížek [Thu, 19 Jun 2025 13:41:17 +0000 (13:41 +0000)] 
[9.20] chg: test: Improve logging from isctest.run.retry_with_timeout

Allow use of exception (and by extension, assert statements) in the
called function in order to extract essential debug information about
the type of failure that was encountered.

In case the called function fails to succeed on the last retry and
raised an exception, log it as error and set it as the assert message to
propagate it through the pytest framework.

Closes #5324

Backport of MR !10580

Merge branch 'backport-5324-pytest-isctest-run-logging-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10605

11 months agoUse time.monotonic() for time measumeremts in pytest
Nicki Křížek [Thu, 19 Jun 2025 12:09:57 +0000 (14:09 +0200)] 
Use time.monotonic() for time measumeremts in pytest

For duration measurements, i.e. deadlines and timeouts, it's more
suitable to use monotonic time as it's guaranteed to only go forward,
unlike time.time() which can be affected by local clock settings.

(cherry picked from commit 069e4ef0f72bfe045123db817908460144ff70f7)

11 months agoMove param to isctest.util
Nicki Křížek [Fri, 6 Jun 2025 08:46:42 +0000 (10:46 +0200)] 
Move param to isctest.util

(cherry picked from commit 481b46ffccbdb6e0fbdb13a8bc437d50e44a4ca9)

11 months agoImprove logging from isctest.run.retry_with_timeout
Nicki Křížek [Fri, 6 Jun 2025 13:11:44 +0000 (15:11 +0200)] 
Improve logging from isctest.run.retry_with_timeout

Allow use of exception (and by extension, assert statements) in the
called function in order to extract essential debug information about
the type of failure that was encountered.

In case the called function fails to succeed on the last retry and
raised an exception, log it as error and set it as the assert message to
propagate it through the pytest framework.

(cherry picked from commit 620c884133f1cac13efebaf381855462a123927c)

11 months ago[9.20] fix: usr: Fix purge-keys bug when using views
Matthijs Mekking [Thu, 19 Jun 2025 10:17:03 +0000 (10:17 +0000)] 
[9.20] fix: usr: Fix purge-keys bug when using views

Previously, when a DNSSEC key was purged by one zone view, other zone views would return an error about missing key files. This has been fixed.

Closes #5315

Backport of MR !10550

Merge branch 'backport-5315-fix-spurious-some-key-files-are-missing-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10598

11 months agoFix spurious missing key files log messages
Matthijs Mekking [Thu, 22 May 2025 09:23:48 +0000 (11:23 +0200)] 
Fix spurious missing key files log messages

This happens because old key is purged by one zone view, then the other
is freaking out about it.

Keys that are unused or being purged should not be taken into account
when verifying key files are available.

The keyring is maintained per zone. So in one zone, a key in the
keyring is being purged. The corresponding key file is removed.

The key maintenance is done for the other zone view. The key in that
keyring is not yet set to purge, but its corresponding key file is
removed. This leads to "some keys are missing" log errors.

We should not check the purge variable at this point, but the
current time and purge-keys duration.

This commit fixes this erroneous logic.

(cherry picked from commit d494698852e21e25d65d1e2453813a7b19a0a755)

11 months agoTest purge-keys with views
Matthijs Mekking [Tue, 3 Jun 2025 12:38:28 +0000 (14:38 +0200)] 
Test purge-keys with views

Create a test scenario where a signed zone is in multiple views and
then a key may be purged. This is a bug case where the key files are
removed by one view and then the other view starts complaining.

(cherry picked from commit 752d8617f558130cc552cae0e903aca318a3ef02)

11 months agoMerge tag 'v9.20.10' into bind-9.20
Michal Nowak [Thu, 19 Jun 2025 09:27:36 +0000 (11:27 +0200)] 
Merge tag 'v9.20.10' into bind-9.20

11 months ago[9.20] chg: test: Rewrite kasp system test to pytest (6)
Matthijs Mekking [Thu, 19 Jun 2025 09:18:40 +0000 (09:18 +0000)] 
[9.20] chg: test: Rewrite kasp system test to pytest (6)

These test cases involve a reconfig, dnssec policy changes.

Backport of MR !10295

Merge branch 'backport-matthijs-pytest-rewrite-kasp-system-test-6-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10594

11 months agoRemove kasp shell script remainders
Matthijs Mekking [Wed, 19 Mar 2025 15:32:12 +0000 (16:32 +0100)] 
Remove kasp shell script remainders

Now that all tests have been converted, we can remove 'kasp/tests.sh'
and 'kasp/tests_sh_kasp.py'.

(cherry picked from commit 6994a604a7943cccfb60d62a0a38ce8fa8f0e8ed)

11 months agoConvert algorithm rollover tests to pytest
Matthijs Mekking [Wed, 19 Mar 2025 15:28:33 +0000 (16:28 +0100)] 
Convert algorithm rollover tests to pytest

Roll the algorithm rollover test cases over to the rollover directory
and rewrite using pytest.

(cherry picked from commit 80992c7b96d0fe1cc10130963766225780dd6ed1)

11 months agoConvert going insecure kasp test to pytest
Matthijs Mekking [Wed, 19 Mar 2025 13:37:28 +0000 (14:37 +0100)] 
Convert going insecure kasp test to pytest

When going insecure, we publish CDS and CDNSKEY DELETE records. Update
the check_apex function to test this.

Also, skip some tests in the 'check_rollover_step()' function. If
we change the DNSSEC Policy, keys that no longer match the policy will
be retired. When this exactly happens is hard to determine, as it
happens on the reconfigure. So for these tests, we skip the key timing
metadata checks.

Also, the zone becomes unsigned, so don't call 'check_zone_is_signed'
in those cases.

(cherry picked from commit b1d8217d1a39f798983152345f29c48ffa2427f9)

11 months agoConvert policy changes tests to pytest
Matthijs Mekking [Wed, 19 Mar 2025 10:35:18 +0000 (11:35 +0100)] 
Convert policy changes tests to pytest

These test cases involve a reconfiguration. The first one is a zone
that changes from dynamic to inline-signing. The others are tests that
key lifetimes are updated correctly after changing them.

(cherry picked from commit de3c0970eb0ef9dea6e18a26f04b2c2810b68da0)

11 months ago[9.20] fix: test: unstable rollover/tests_rollover.py::test_rollover_manual
Mark Andrews [Tue, 17 Jun 2025 08:30:17 +0000 (08:30 +0000)] 
[9.20] fix: test: unstable rollover/tests_rollover.py::test_rollover_manual

The state files need to be written before trying to identify zsk/ksk
keys.  Wait for "keymgr: manual-rollover.kasp done" to appear in
named.run first.

Closes #5371

Backport of MR !10587

Merge branch 'backport-5371-unstable-rollover-tests_rollover-py-test_rollover_manual-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10589

11 months agounstable rollover/tests_rollover.py::test_rollover_manual
Mark Andrews [Tue, 17 Jun 2025 04:32:49 +0000 (14:32 +1000)] 
unstable rollover/tests_rollover.py::test_rollover_manual

The state files need to be written before trying to identify zsk/ksk
keys.  Wait for "keymgr: manual-rollover.kasp done" to appear in
named.run first.

(cherry picked from commit 80fedf7fcf85bb4c51a573c7dc166b36b6f71991)

11 months ago[9.20] new: usr: Add support to set and display the CO flag
Mark Andrews [Fri, 13 Jun 2025 11:52:39 +0000 (11:52 +0000)] 
[9.20] new: usr: Add support to set and display the CO flag

Add support to display the CO (Compact denial of existence Ok flag) when displaying messages.

Add support to set the CO flag when making queries in dig (+coflag).

Closes #5319

Backport of MR !10482

Merge branch 'backport-5319-add-support-to-set-and-display-the-co-flag-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10578

11 months agoAdd "undefined" to +ednsflags description
Mark Andrews [Tue, 3 Jun 2025 00:04:01 +0000 (10:04 +1000)] 
Add "undefined" to +ednsflags description

Reflow help message.

(cherry picked from commit bbfb7ebda2da0998ec04adf6553f115b1b8ef302)

11 months agoAdd tests for 'dig +coflag'
Mark Andrews [Tue, 27 May 2025 05:12:53 +0000 (15:12 +1000)] 
Add tests for 'dig +coflag'

(cherry picked from commit c56af212f06556f6009c0509a02b300200c055c1)

11 months agoAdd CO support to dig
Mark Andrews [Tue, 27 May 2025 04:41:24 +0000 (14:41 +1000)] 
Add CO support to dig

Dig now support setting the EDNS CO as flag using "+coflag" /
"+nocoflag" rather than as part of +ednsflags.

(cherry picked from commit 6c28411c55d595e3c9ce3f8d1754b24875eb5306)

11 months ago[9.20] fix: test: nsec3 test updates nsec3-ent.kasp.db too fast
Mark Andrews [Fri, 13 Jun 2025 09:40:50 +0000 (09:40 +0000)] 
[9.20] fix: test: nsec3 test updates nsec3-ent.kasp.db too fast

Add a 1 second delay to ensure file time stamp is different
from last load.

Closes #5365

Backport of MR !10570

Merge branch 'backport-5365-nsec3-test-updates-nsec3-ent-kasp-db-too-fast-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10577

11 months agonsec3-ent.kasp.db is updated too fast for rndc reload
Mark Andrews [Wed, 11 Jun 2025 12:30:49 +0000 (22:30 +1000)] 
nsec3-ent.kasp.db is updated too fast for rndc reload

ensure a second has elasped before updating the zone file
by adding 'sleep 1' to test.sh

(cherry picked from commit 52c29e3ab28794e84c629970f097d6fcac2b8dba)

11 months ago[9.20] fix: test: test_xferquota.py reloads zone file too fast
Mark Andrews [Fri, 13 Jun 2025 08:10:49 +0000 (08:10 +0000)] 
[9.20] fix: test: test_xferquota.py reloads zone file too fast

Add a 1 second delay to ensure file time stamp is different
from last load.

Closes #5366

Backport of MR !10571

Merge branch 'backport-5366-test_xferquota-py-reloads-zone-file-too-fast-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10575

11 months agochanging.db is updated too fast
Mark Andrews [Wed, 11 Jun 2025 13:58:28 +0000 (23:58 +1000)] 
changing.db is updated too fast

ensure a second has elasped before updating the zone file
by adding 'time.sleep(1)' to xferquota/tests_xferquota.py

(cherry picked from commit d8d14cb780410ea0955d7152223e01b7a1b6d1fa)

11 months ago[9.20] fix: usr: Use IPv6 queries in delv +ns
Evan Hunt [Fri, 13 Jun 2025 04:39:20 +0000 (04:39 +0000)] 
[9.20] fix: usr: Use IPv6 queries in delv +ns

`delv +ns` invokes the same code to perform name resolution as `named`,
but it neglected to set up an IPv6 dispatch object first. Consequently,
it was behaving more like `named -4`. It now sets up dispatch objects
for both address families, and performs resolver queries to both v4 and v6
addresses, except when one of the address families has been suppressed
by using `delv -4` or `delv -6`.

Closes #5352

Backport of MR !10563

Merge branch 'backport-5352-delv-ipv6-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10573

11 months agoadd tests for 'delv +ns -4' and '-6'
Evan Hunt [Thu, 5 Jun 2025 21:10:21 +0000 (14:10 -0700)] 
add tests for 'delv +ns -4' and '-6'

check that `delv +ns` sends iterative queries over both address
families when -4 and -6 are not used, and suppresses queries
appropriately when they are.

(cherry picked from commit d29f1d171050580fde7e1ff3bc70f4c8157a4c1f)

11 months agoUse ipv6 queries in delv +ns
Evan Hunt [Thu, 5 Jun 2025 18:41:17 +0000 (11:41 -0700)] 
Use ipv6 queries in delv +ns

`delv +ns` invokes the same code to perform name resolution as `named`,
but it neglected to set up an IPv6 dispatch object first. Consequently,
it was behaving more like `named -4`.

It now sets up dispatch objects for both address families, and performs
resolver queries to both v4 and v6 addresses, except when one of the
address families has been suppressed by using `delv -4` or `delv -6`.

(cherry picked from commit 70ce3136bd533b2c3caa8e2f81dd631c85e2eab9)

11 months agochg: doc: Set up version for BIND 9.20.11
Michal Nowak [Wed, 11 Jun 2025 07:25:02 +0000 (07:25 +0000)] 
chg: doc: Set up version for BIND 9.20.11

Merge branch 'mnowak/set-up-version-for-bind-9.20.11' into 'bind-9.20'

See merge request isc-projects/bind9!10568

11 months agoUpdate BIND version to 9.20.11-dev
Michal Nowak [Wed, 11 Jun 2025 07:23:42 +0000 (09:23 +0200)] 
Update BIND version to 9.20.11-dev

11 months agoUpdate BIND version for release v9.20.10
Michal Nowak [Fri, 6 Jun 2025 10:19:20 +0000 (12:19 +0200)] 
Update BIND version for release

11 months agonew: doc: Prepare documentation for BIND 9.20.10
Michal Nowak [Fri, 6 Jun 2025 10:15:23 +0000 (10:15 +0000)] 
new: doc: Prepare documentation for BIND 9.20.10

Merge branch 'mnowak/prepare-documentation-for-bind-9.20.10' into 'v9.20.10-release'

See merge request isc-private/bind9!806

11 months agoUpdate docs to reflect 9.20 has become ESV
Michal Nowak [Fri, 6 Jun 2025 09:56:11 +0000 (11:56 +0200)] 
Update docs to reflect 9.20 has become ESV

11 months agoTweak and reword release notes
Michal Nowak [Thu, 5 Jun 2025 13:34:39 +0000 (15:34 +0200)] 
Tweak and reword release notes

11 months agoPrepare release notes for BIND 9.20.10
Michal Nowak [Fri, 6 Jun 2025 09:11:46 +0000 (11:11 +0200)] 
Prepare release notes for BIND 9.20.10

11 months agoGenerate changelog for BIND 9.20.10
Michal Nowak [Fri, 6 Jun 2025 09:10:33 +0000 (11:10 +0200)] 
Generate changelog for BIND 9.20.10

11 months ago[9.20] rem: pkg: Implement the systemd notification protocol manually to remove depen...
Aydın Mercan [Tue, 3 Jun 2025 15:05:10 +0000 (15:05 +0000)] 
[9.20] rem: pkg: Implement the systemd notification protocol manually to remove dependency on libsystemd.

libsystemd, despite being useful, adds a huge surface area for just
using the sd_notify API. libsystemd's surface has been exploited in the
past [1].

Implement the systemd notification protocol by hand since it is just
sending newline-delimited datagrams to a UNIX socket. The code shouldn't
need more attention in the future since the notification protocol is
covered under systemd's stability promise [2].

We don't need to support VSOCK-backed service notifications since they
are only intended for virtual machine inits.

[1]: https://www.openwall.com/lists/oss-security/2024/03/29/4
[2]: https://systemd.io/PORTABILITY_AND_STABILITY/

Backport of MR https://gitlab.isc.org/isc-projects/bind9/-/merge_requests/10263

Merge branch 'aydin/standalone-notification-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10454

11 months agoimplement the systemd notification protocol manually, drop libsystemd
Aydın Mercan [Sun, 16 Mar 2025 16:54:18 +0000 (19:54 +0300)] 
implement the systemd notification protocol manually, drop libsystemd

libsystemd, despite being useful, adds a huge surface area for just
using the sd_notify API. libsystemd's surface has been exploited in the
past [1].

Implement the systemd notification protocol by hand since it is just
sending newline-delimited datagrams to a UNIX socket. The code shouldn't
need more attention in the future since the notification protocol is
covered under systemd's stability promise [2].

We don't need to support VSOCK-backed service notifications since they
are only intended for virtual machine inits.

[1]: https://www.openwall.com/lists/oss-security/2024/03/29/4
[2]: https://systemd.io/PORTABILITY_AND_STABILITY/

(cherry picked from commit 3eb253e81fade5788e4462f651e28fc20358ebee)

11 months ago[9.20] fix: test: Prevent .hypothesis artifacts in system test directories
Evan Hunt [Tue, 3 Jun 2025 08:13:55 +0000 (08:13 +0000)] 
[9.20] fix: test: Prevent .hypothesis artifacts in system test directories

Backport of MR !10518

Merge branch 'backport-each-hypothesis-artifacts-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10548

11 months agoPrevent .hypothesis artifacts in system test directories
Evan Hunt [Thu, 29 May 2025 17:55:25 +0000 (10:55 -0700)] 
Prevent .hypothesis artifacts in system test directories

The "run.sh" script, used by "make test", changes the working
directory to the system test directory before executing pytest.
If the test drops hypothesis artifacts while running, this
can cause spurious test failures due to an apparent mismatch
between the contents of the system test directory and the
temporary pytest directory. This has been addressed by having
"run.sh" call pytest from the parent directory instead.

(cherry picked from commit c08e78ef73bf2accd81d4bf9b1d149e66f4d27c6)

11 months ago[9.20] fix: nil: Extend named-rrchecker multi-line parsing support
Mark Andrews [Tue, 3 Jun 2025 03:04:01 +0000 (03:04 +0000)] 
[9.20] fix: nil: Extend named-rrchecker multi-line parsing support

named-rrchecker now parses the braces which support multi-line input
from the beginning of the input rather than only when reading the
data fields of the record.

Closes #5336

Backport of MR !10521

Merge branch 'backport-5336-extend-named-rrchecker-multiline-support-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10546

11 months agoAdd various multi-line inputs to named-rrchecker
Mark Andrews [Mon, 2 Jun 2025 04:37:45 +0000 (14:37 +1000)] 
Add various multi-line inputs to named-rrchecker

(cherry picked from commit 5f882f95fe5308cd43d0da49d40d938351634189)

11 months agoExtend named-rrchecker multi-line parsing support
Mark Andrews [Fri, 30 May 2025 03:03:16 +0000 (13:03 +1000)] 
Extend named-rrchecker multi-line parsing support

named-rrchecker now parses the braces which support multi-line input
from the beginning of the input rather than only when reading the
data fields of the record.

(cherry picked from commit 2e1f933d659561966dc7876356bf3a63b5b797a2)

11 months ago[9.20] fix: nil: Silence potential divide by zero warning in qpmulti.c
Mark Andrews [Tue, 3 Jun 2025 00:26:43 +0000 (00:26 +0000)] 
[9.20] fix: nil: Silence potential divide by zero warning in qpmulti.c

Coverity flagged a potential divide by zero error in collect in
qpmulti.c when the elapsed time is zero but that is only called
once the elapsed time is greater than or equal to RUNTIME (1/4
second) so INSIST this is the case.

Closes #5329

Backport of MR !10519

Merge branch 'backport-5329-potential-divide-by-zero-in-qpmulti-c-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10545

11 months agoSilence potential divide by zero warning in qpmulti.c
Mark Andrews [Fri, 30 May 2025 00:51:21 +0000 (10:51 +1000)] 
Silence potential divide by zero warning in qpmulti.c

Coverity flagged a potential divide by zero error in collect in
qpmulti.c when the elapsed time is zero but that is only called
once the elapsed time is greater than or equal to RUNTIME (1/4
second) so INSIST this is the case.

(cherry picked from commit 081dbb110834dc76ae8978a6dd85097382c8e364)

12 months ago[9.20] chg: ci: Revert Run CI danger job even if user canceled it while it was running backport-revert-0a1a599f-9.20
Petr Špaček [Mon, 2 Jun 2025 16:16:04 +0000 (16:16 +0000)] 
[9.20] chg: ci: Revert Run CI danger job even if user canceled it while it was running

Unexpectedly this broke CI job generator which parses gitlab-ci.yaml
and cannot handle `!reference` YAML tags.

This reverts merge request !10490

Backport of MR !10540

Merge branch 'backport-revert-0a1a599f-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10541

12 months agoRevert "chg: ci: Run CI danger job even if user canceled it while it was running"
Petr Špaček [Mon, 2 Jun 2025 15:58:52 +0000 (15:58 +0000)] 
Revert "chg: ci: Run CI danger job even if user canceled it while it was running"

This reverts merge request !10490

(cherry picked from commit 304638b0b229d47434fd3723d6afb5a4669f42b5)

12 months ago[9.20] fix: doc: named-rrchecker doc improvements
Petr Špaček [Mon, 2 Jun 2025 14:38:42 +0000 (14:38 +0000)] 
[9.20] fix: doc: named-rrchecker doc improvements

Backport of MR !10516

Merge branch 'backport-pspacek/named-rrchecker-docs-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10537

12 months agoFix link to TXT RRtype specification
Petr Špaček [Mon, 2 Jun 2025 09:59:23 +0000 (11:59 +0200)] 
Fix link to TXT RRtype specification

The odd-looking "\ " escape is required to italicize <character-string>
without italicizing the final "s". See reStructuredText Markup
Specification, sections "Inline markup recognition rules" and "Escaping
Mechanism". Most importantly:

Escaped whitespace characters are removed from the output document
together with the escaping backslash. This allows for character-level
inline markup.

(cherry picked from commit 43c5b9aeb4be56ce39c0d34ffde03a57c909d10f)

12 months agoAdd exhaustive examples for named-rrchecker
Petr Špaček [Thu, 29 May 2025 15:27:10 +0000 (17:27 +0200)] 
Add exhaustive examples for named-rrchecker

(cherry picked from commit 46173778ce0da03a26e82ab746ca5d4809868242)

12 months agoClarify named-rrchecker return codes
Petr Špaček [Thu, 29 May 2025 15:26:30 +0000 (17:26 +0200)] 
Clarify named-rrchecker return codes

(cherry picked from commit c986d37f2470736d0c403634a0fa875d7d391bde)

12 months agoClarify named-rrchecker command line parameters
Petr Špaček [Thu, 29 May 2025 15:26:05 +0000 (17:26 +0200)] 
Clarify named-rrchecker command line parameters

(cherry picked from commit c440c418dba932ffb120b1357461c51befa48352)

12 months agoClarify named-rrchecker input format
Petr Špaček [Thu, 29 May 2025 15:24:39 +0000 (17:24 +0200)] 
Clarify named-rrchecker input format

(cherry picked from commit 5c370d9e6baa92c8dcc3ff1b330f3268c1ba3db1)

12 months ago[9.20] chg: ci: Run CI danger job even if user canceled it while it was running
Petr Špaček [Mon, 2 Jun 2025 12:03:21 +0000 (12:03 +0000)] 
[9.20] chg: ci: Run CI danger job even if user canceled it while it was running

Backport of MR !10490

Merge branch 'backport-pspacek/always-hazard-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10534

12 months agoRun CI danger job even if user canceled it while it was running
Petr Špaček [Wed, 28 May 2025 13:46:14 +0000 (15:46 +0200)] 
Run CI danger job even if user canceled it while it was running

Limitation: The after_script is not executed if the job did not start at
all, i.e. if the user canceled the job before it got onto a runner.
See https://gitlab.com/groups/gitlab-org/-/epics/10158

(cherry picked from commit 33bc2628b78dd0a91c1ff644184628b184118588)

12 months ago[9.20] chg: test: Use "digit" class instead of character range in rndc_dumpdb()
Michal Nowak [Mon, 2 Jun 2025 11:40:39 +0000 (11:40 +0000)] 
[9.20] chg: test: Use "digit" class instead of character range in rndc_dumpdb()

The tr range did not work on Solaris 11.4. Let's use a class that is
defined in POSIX.

Closes #5326

Backport of MR !10530

Merge branch 'backport-5326-make-rndc_dumpdb-work-on-solaris-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10532

12 months agoUse "digit" class instead of character range in rndc_dumpdb()
Michal Nowak [Fri, 30 May 2025 10:26:42 +0000 (12:26 +0200)] 
Use "digit" class instead of character range in rndc_dumpdb()

The tr range did not work on Solaris 11.4. Let's use a class that is
defined in POSIX.

(cherry picked from commit baa5ccd795a251d346779ccba3c4de55a497d03c)

12 months ago[9.20] chg: test: Rewrite kasp system test to pytest (5)
Matthijs Mekking [Mon, 2 Jun 2025 09:56:05 +0000 (09:56 +0000)] 
[9.20] chg: test: Rewrite kasp system test to pytest (5)

Rollover scenarios.

Backport of MR !10292

Merge branch 'backport-matthijs-pytest-rewrite-kasp-system-test-5-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10531

12 months agoAdd dynamic update facility to NamedInstance
Nicki Křížek [Mon, 26 May 2025 15:10:15 +0000 (17:10 +0200)] 
Add dynamic update facility to NamedInstance

Deduplicate the code for dynamic updates and increase code clarity by
using an actual dns.update.UpdateMessage rather than an undefined
intermediary format passed around as a list of arguments.

(cherry picked from commit c00121b4c23b1b3be5581930abec6e1c2313f45e)

12 months agoConvert csk rollover test cases to pytest
Matthijs Mekking [Wed, 19 Mar 2025 09:10:13 +0000 (10:10 +0100)] 
Convert csk rollover test cases to pytest

Move the 'csk-roll1' and 'csk-roll2' zones to the rollover test dir and
convert CSK rollover tests to pytest.

The DS swap spans multiple steps. Only the first time we should check
if the "CDS is now published" log is there, and only the first time we
should run 'rndc dnssec -checkds' on the keys. Add a new key to the
step dictionary to disable the DS swap checks.

This made me realize that we need to check for "is not None" in case
the value in the dictionary is False. Update check_rollover_step()
accordingly, and also add a log message which step/zone we are currently
checking.

(cherry picked from commit fd290f391f1dfeac4235e8a431f38e08ebb414fa)

12 months agoConvert the 'three is a crowd' test case to pytest
Matthijs Mekking [Tue, 18 Mar 2025 14:13:17 +0000 (15:13 +0100)] 
Convert the 'three is a crowd' test case to pytest

This test shows similarities with the Double KSK rollover method, so
put the test in there.

(cherry picked from commit 46800e407e14617dcd84084f433a47743ac3ebc7)

12 months agoConvert ksk rollover test case to pytest
Matthijs Mekking [Tue, 18 Mar 2025 13:20:54 +0000 (14:20 +0100)] 
Convert ksk rollover test case to pytest

Move the 'ksk-doubleksk' zones to the rollover test dir and convert KSK
rollover test to pytest.

Since the 'ksk-doubleksk' policy publishes different CDNSKEY/CDS RRsets,
update the 'check_rollover_step' to check which CDNSKEY/CDS RRsets should
be published and which should be prohibited. Update 'isctest.kasp'
accordingly.

We are changing the ZSK lifetime to unlimited in this test case as it
is of no importance (this actually discovered a bug in setting the
next time the keymgr should run).

(cherry picked from commit 9ff7609614d2ae8c2d8358443885bcb857fffde1)

12 months agoConvert zsk rollover test case to pytest
Matthijs Mekking [Tue, 18 Mar 2025 11:18:34 +0000 (12:18 +0100)] 
Convert zsk rollover test case to pytest

Move the 'zsk-prepub' zones to the rollover test dir and convert ZSK
rollover test to pytest.

We need a way to signal a smooth rollover is going on. Signatures are
being replaced gradually during a ZSK rollover, so the existing
signatures of the predecessor ZSK are still being used. Add a smooth
operator to set the right expectations on what signatures are being
used.

Setting expected key relationships is a bit crude: a list of two
elements where the first element is the index of the expected keys that
is the predecessor, and the second element is the index of the expected
keys that is the successor.

We are changing the KSK lifetime to unlimited in this test case as it
is of no importance.

(cherry picked from commit bd6c70bd67bb150b4c163f64cd02c94fea3d9bc6)

12 months agoConvert enable dnssec test case to pytest
Matthijs Mekking [Tue, 18 Mar 2025 09:34:53 +0000 (10:34 +0100)] 
Convert enable dnssec test case to pytest

Move the 'enable-dnssec' to the rollover test dir and convert to pytest.

This requires new test functionality to check that "CDS is published"
messages are logged (or prohibited).

The setup part is slightly adapted such that it no longer needs to
set the '-P sync' value in most cases (this is then set by 'named'),
and to adjust for the inappropriate safety intervals fix.

(cherry picked from commit 233fdb8d520bda11fe18efe9c14e36930e6e96b0)

12 months agoConvert kasp multi-signer tests to pytest
Matthijs Mekking [Tue, 18 Mar 2025 07:41:02 +0000 (08:41 +0100)] 
Convert kasp multi-signer tests to pytest

Move the multi-signer test scenarios to the rollover directory and
convert tests to pytest.

- If the KeyProperties set the "legacy" to True, don't set expected
  key times, nor check them. Also, when a matching key is found, set
  key.external to True.
- External keys don't show up in the 'rndc dnssec -status' output so
  skip them in the 'check_dnssecstatus' function. External keys never
  sign RRsets, so also skip those keys in the '_check_signatures'
  function.
- Key properties strings now can set expected key tag ranges, and if
  KeyProperties have tag ranges set, they are checked.

(cherry picked from commit 8ee02190a5f924517b4350e1f985e5df773420fb)

12 months agoMove rollover test cases to separate test dir
Matthijs Mekking [Fri, 28 Feb 2025 14:52:20 +0000 (15:52 +0100)] 
Move rollover test cases to separate test dir

In order to keep the kasp system test somewhat approachable, let's
move all rollover scenarios to its own test directory. Starting with
the manual rollover test cases.

A new test function is added to 'isctest.kasp', to verify that the
relationship metadata (Predecessor, Successor) is set correctly.

The configuration and setup for the zone 'manual-rollover.kasp' are
almost copied verbatim, the only exception is the keytimes. Similar
to the test kasp cases, we no longer set "SyncPublish/PublishCDS" in
the setup script. In addition to that, the offset is changed from one
day ago to one week ago, so that the key states match the timing
metadata (one day is too short to move a key from "hidden" to
"omnipresent").

(cherry picked from commit 4d08ec50d14deccb8d09eba8b56d7b7396144aac)

12 months ago[9.20] chg: doc: Add text about no bug bounties
Petr Špaček [Mon, 2 Jun 2025 07:11:11 +0000 (07:11 +0000)] 
[9.20] chg: doc: Add text about no bug bounties

Vicky and Ondrej have agreed that we should add text to explain that we do not give bug bounties.

Backport of MR !10246

Merge branch 'backport-sgoldlust-main-bug-bounty-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10527

12 months agoUpdate URL for bug reports
Suzanne Goldlust [Fri, 14 Mar 2025 15:27:14 +0000 (15:27 +0000)] 
Update URL for bug reports

(cherry picked from commit 67cd4f97431e263abb934369453dd7dadf702331)

12 months agoAdd text about no bug bounties
Suzanne Goldlust [Thu, 13 Mar 2025 17:56:01 +0000 (17:56 +0000)] 
Add text about no bug bounties

(cherry picked from commit 11269e1a184d9ef96b81dd261a76abfdef74f773)

12 months ago[9.20] chg: test: Use isctest.asyncserver in the "chain" test
Michał Kępień [Fri, 30 May 2025 19:19:56 +0000 (19:19 +0000)] 
[9.20] chg: test: Use isctest.asyncserver in the "chain" test

Replace the custom DNS servers used in the "chain" system test with
new code based on the isctest.asyncserver module.

For ans3, replace the sequence of logical conditions present in Perl
code with zone files and a limited amount of custom logic applied on top
of them where necessary.

For ans4, replace the ctl_channel() and create_response() functions with
a custom control command handler coupled with a dynamically instantiated
response handler, making the code more robust and readable.

Migrate sendcmd() and its uses to the new way of sending control queries
to custom servers used in system tests.

Depends on !10409

Backport of MR !10410

Merge branch 'backport-michal/chain-asyncserver-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10526

12 months agoUse isctest.asyncserver in the "chain" test
Michał Kępień [Fri, 30 May 2025 16:23:21 +0000 (18:23 +0200)] 
Use isctest.asyncserver in the "chain" test

Replace the custom DNS servers used in the "chain" system test with
new code based on the isctest.asyncserver module.

For ans3, replace the sequence of logical conditions present in Perl
code with zone files and a limited amount of custom logic applied on top
of them where necessary.

For ans4, replace the ctl_channel() and create_response() functions with
a custom control command handler coupled with a dynamically instantiated
response handler, making the code more robust and readable.

Migrate sendcmd() and its uses to the new way of sending control queries
to custom servers used in system tests.

(cherry picked from commit c3d3c9955d61489bc38a5c137d318c7333b2be9e)

12 months agoImprove readability of sendcmd() calls
Michał Kępień [Fri, 30 May 2025 16:23:21 +0000 (18:23 +0200)] 
Improve readability of sendcmd() calls

To improve readability of sendcmd() calls used for controlling
isctest.asyncserver-based custom DNS servers, pass the command's name
and arguments as separate parameters.

(cherry picked from commit 9a230c16ffadb02b225a3d55d989937b761e58a2)

12 months ago[9.20] new: test: Handle alias records in zone files loaded by AsyncDnsServer
Michał Kępień [Fri, 30 May 2025 16:22:54 +0000 (16:22 +0000)] 
[9.20] new: test: Handle alias records in zone files loaded by AsyncDnsServer

dnspython does not treat CNAME records in zone files in any special way;
they are just RRsets belonging to zone nodes.  Process CNAMEs when
preparing zone-based responses just like a normal authoritative DNS
server would.

Adding proper DNAME support to AsyncDnsServer would add complexity to
its code for little gain: DNAME use in custom system test servers is
limited to crafting responses that attempt to trigger bugs in named.

This fact will not be obvious to AsyncDnsServer users as it
automatically loads all zone files it finds and handles CNAME records
like a normal authoritative DNS server would.

Therefore, to prevent surprises:

- raise an exception whenever DNAME records are found in any of the
zone files loaded by AsyncDnsServer,

- add a new optional argument to the AsyncDnsServer constructor that
enables suppressing this new behavior, enabling zones with DNAME
records to be loaded anyway.

This enables response handlers to use the DNAME records present in zone
files in arbitrary ways without complicating the "base" code.

Backport of MR !10409

Merge branch 'backport-michal/asyncserver-alias-records-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10525

12 months agoForce manual DNAME handling to be acknowledged
Michał Kępień [Fri, 30 May 2025 16:08:54 +0000 (18:08 +0200)] 
Force manual DNAME handling to be acknowledged

Adding proper DNAME support to AsyncDnsServer would add complexity to
its code for little gain: DNAME use in custom system test servers is
limited to crafting responses that attempt to trigger bugs in named.

This fact will not be obvious to AsyncDnsServer users as it
automatically loads all zone files it finds and handles CNAME records
like a normal authoritative DNS server would.

Therefore, to prevent surprises:

  - raise an exception whenever DNAME records are found in any of the
    zone files loaded by AsyncDnsServer,

  - add a new optional argument to the AsyncDnsServer constructor that
    enables suppressing this new behavior, enabling zones with DNAME
    records to be loaded anyway.

This enables response handlers to use the DNAME records present in zone
files in arbitrary ways without complicating the "base" code.

(cherry picked from commit 8a562526f6cdaaab37ce31b20e223537281a3d43)

12 months agoDrop unused AsyncDnsServer constructor argument
Michał Kępień [Fri, 30 May 2025 16:08:54 +0000 (18:08 +0200)] 
Drop unused AsyncDnsServer constructor argument

The constructor for the AsyncDnsServer class takes a 'load_zones'
argument that is not used anywhere and is not expected to be useful in
the future: zone files are not required for an AsyncDnsServer instance
to start and, if necessary, zone-based answers can be suppressed or
modified by installing a custom response handler.

(cherry picked from commit 5110278008fdf2689fe37515da214e6faa0f29d7)

12 months agoProperly handle CNAMEs when preparing responses
Michał Kępień [Fri, 30 May 2025 16:08:54 +0000 (18:08 +0200)] 
Properly handle CNAMEs when preparing responses

dnspython does not treat CNAME records in zone files in any special way;
they are just RRsets belonging to zone nodes.  Process CNAMEs when
preparing zone-based responses just like a normal authoritative DNS
server would.

(cherry picked from commit 1b8ceec580aad69b0c869bc01c126d778040caab)

12 months agoAdd debug logs for outgoing DNS messages
Michał Kępień [Fri, 30 May 2025 16:08:54 +0000 (18:08 +0200)] 
Add debug logs for outgoing DNS messages

Since AsyncDnsServer logs incoming DNS messages as seen on the wire, do
the same for the responses sent by the server.

(cherry picked from commit 2a9c74546d98b6277165952ed668687f543563e5)

12 months ago[9.20] fix: dev: Allow keystore.c to compile on Solaris
Mark Andrews [Fri, 30 May 2025 12:26:03 +0000 (12:26 +0000)] 
[9.20] fix: dev: Allow keystore.c to compile on Solaris

keystore.c failed to compile on Solaris because NAME_MAX was
undefined.  Include 'isc/dir.h' which defines NAME_MAX for platforms
that don't define it.

Closes #5327

Backport of MR !10522

Merge branch 'backport-5327-fix-solaris-keystore-build-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10523

12 months agoAllow keystore.c to compile on Solaris
Mark Andrews [Fri, 30 May 2025 05:14:38 +0000 (15:14 +1000)] 
Allow keystore.c to compile on Solaris

keystore.c failed to compile on Solaris because NAME_MAX was
undefined.  Include 'isc/dir.h' which defines NAME_MAX for platforms
that don't define it.

(cherry picked from commit 521bf1d50fec0f95e096d31ba671ef8aad4e81f8)

12 months ago[9.20] chg: ci: Use AlmaLinux for FIPS testing in AWS
Michal Nowak [Thu, 29 May 2025 18:03:36 +0000 (18:03 +0000)] 
[9.20] chg: ci: Use AlmaLinux for FIPS testing in AWS

Backport of MR !10433

Merge branch 'backport-mnowak/alma-linux-with-fips-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10517

12 months agoCheck system is FIPS-aware when BIND 9 FIPS mode is enabled
Michal Nowak [Wed, 30 Apr 2025 11:47:21 +0000 (13:47 +0200)] 
Check system is FIPS-aware when BIND 9 FIPS mode is enabled

(cherry picked from commit fbcdbca65fdd773cc523f5c11009ac3ac6a97ac1)

12 months agoUse AlmaLinux for FIPS testing in AWS
Michal Nowak [Wed, 30 Apr 2025 11:46:57 +0000 (13:46 +0200)] 
Use AlmaLinux for FIPS testing in AWS

(cherry picked from commit 55532564272c3bf472f3eb57ed7dc4b5813ceea9)

12 months ago[9.20] chg: ci: Replace Oracle Linux Docker images with AlmaLinux ones
Michal Nowak [Thu, 29 May 2025 15:45:59 +0000 (15:45 +0000)] 
[9.20] chg: ci: Replace Oracle Linux Docker images with AlmaLinux ones

To be consistent with the replacing of Oracle Linux QCOW2 images with
AlmaLinux AWS AMIs, also replace Docker images.

Backport of MR !10434

Merge branch 'backport-mnowak/replace-oracle-linux-with-almalinux-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10512

12 months agoReplace Oracle Linux Docker images with AlmaLinux ones
Michal Nowak [Wed, 30 Apr 2025 15:34:13 +0000 (17:34 +0200)] 
Replace Oracle Linux Docker images with AlmaLinux ones

To be consistent with the replacing of Oracle Linux QCOW2 images with
AlmaLinux AWS AMIs, also replace Docker images.

(cherry picked from commit 63947a20622946af134a1738a10170e1d3770f27)

12 months ago[9.20] fix: test: Fix intermittent kasp pytest failures
Nicki Křížek [Thu, 29 May 2025 13:12:52 +0000 (13:12 +0000)] 
[9.20] fix: test: Fix intermittent kasp pytest failures

The `pytest` cases checks if a zone is signed by looking at the `NSEC` record at the apex. If that has an RRSIG record, it is considered signed. But `named` signs zones incrementally (in batches) and so the zone may still lack some signatures. In other words, the tests may consider a zone signed while in fact signing is not yet complete, then performs additional checks such as is a subdomain signed with the right key. If this check happens before the zone is actually fully
signed, the check will fail.

Fix this by using `check_dnssec_verify` instead of `check_is_zone_signed`. We were already doing this check, but we now move it up. This will transfer the zone and then run `dnssec-verify` on the response. If the zone is partially signed, the check will fail, and it will retry for up to ten times.

Closes #5303

Backport of MR !10445

Merge branch 'backport-5303-kasp-pytest-intermittent-test-failures-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10510

12 months agoFix intermittent kasp pytest failures
Matthijs Mekking [Wed, 7 May 2025 15:17:27 +0000 (17:17 +0200)] 
Fix intermittent kasp pytest failures

The pytest cases checks if a zone is signed by looking at the NSEC
record at the apex. If that has an RRSIG record, it is considered
signed. But 'named' signs zones incrementally (in batches) and so
the zone may still lack some signatures. In other words, the tests
may consider a zone signed while in fact signing is not yet complete,
then performs additional checks such as is a subdomain signed with the
right key. If this check happens before the zone is actually fully
signed, the check will fail.

Fix this by using 'check_dnssec_verify' instead of
'check_is_zone_signed'. We were already doing this check, but we now
move it up. This will transfer the zone and then run 'dnssec-verify'
on the response. If the zone is partially signed, the check will fail,
and it will retry for up to ten times.

(cherry picked from commit 7a31fd57e2fbb9b4a4cdf169698425742f407b18)

12 months ago[9.20] chg: test: Add utility module to import correct version of hypothesis
Nicki Křížek [Thu, 29 May 2025 11:18:23 +0000 (11:18 +0000)] 
[9.20] chg: test: Add utility module to import correct version of hypothesis

On FIPS-enabled platforms, we need to ensure a minimal version of
hypothesis which no longer uses MD5. This doesn't need to be enforced
for other platforms.

Move the import magic to a utility module to avoid copy-pasting the
boilerplate code around.

Backport of MR !10442

Merge branch 'backport-nicki/pytest-import-hypothesis-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10507

12 months agoEnsure supported version of hypothesis is available
Nicki Křížek [Mon, 5 May 2025 16:00:07 +0000 (18:00 +0200)] 
Ensure supported version of hypothesis is available

On FIPS-enabled platforms, we need to ensure a minimal version of
hypothesis which no longer uses MD5. This doesn't need to be enforced
for other platforms.

Move the import magic to a utility module to avoid copy-pasting the
boilerplate code around.

(cherry picked from commit 0aff715f4040abd21f0bce9d48a2dc3f99186697)

12 months ago[9.20] fix: nil: silence tainted scalar in client.c
Mark Andrews [Thu, 29 May 2025 08:01:23 +0000 (08:01 +0000)] 
[9.20] fix: nil: silence tainted scalar in client.c

Coverity detected that 'optlen' was not being checked in 'process_opt'.
This is actually already done when the OPT record was initially
parsed.  Add an INSIST to silence Coverity as is done in message.c.

Closes #5330

Backport of MR !10500

Merge branch 'backport-5330-tainted-scalar-in-client-c-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10505

12 months agoSilence tainted scalar in client.c
Mark Andrews [Wed, 28 May 2025 23:42:08 +0000 (09:42 +1000)] 
Silence tainted scalar in client.c

Coverity detected that 'optlen' was not being checked in 'process_opt'.
This is actually already done when the OPT record was initially
parsed.  Add an INSIST to silence Coverity as is done in message.c.

(cherry picked from commit 72cd6e85916e02fe7f51806eb25ee0c5a973398a)

12 months ago[9.20] fix: dev: Set name for all the isc_mem contexts
Ondřej Surý [Thu, 29 May 2025 04:34:24 +0000 (04:34 +0000)] 
[9.20] fix: dev: Set name for all the isc_mem contexts

Backport of MR !10425

Merge branch 'backport-ondrej/fix-isc_mem_setname-usage-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10498

12 months agoSet name for all the isc_mem context
Ondřej Surý [Fri, 25 Apr 2025 11:01:16 +0000 (13:01 +0200)] 
Set name for all the isc_mem context

The memory context for managers and dlz_dlopen_driver units had no name
and that was causing trouble with the statistics channel output.  Set
the name for the two memory context that were missing a proper name.

(cherry picked from commit 5d264b33295d164d55659b166ead7b31b92eda39)

12 months ago[9.20] fix: usr: Fix zone deletion issue
Ondřej Surý [Wed, 28 May 2025 19:04:49 +0000 (19:04 +0000)] 
[9.20] fix: usr: Fix zone deletion issue

A secondary zone could initiate a new zone transfer from the
primary server after it had been already deleted from the
secondary server, and before the internal garbage collection
was activated to clean it up completely. This has been fixed.

Closes #5291

Backport of MR !10449

Merge branch 'backport-5291-zone-delete-bug-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10496

12 months agoPrepare a zone for shutting down when deleting it from a view
Aram Sargsyan [Mon, 12 May 2025 13:58:38 +0000 (13:58 +0000)] 
Prepare a zone for shutting down when deleting it from a view

After b171cacf4f0123ba96bef6eedfc92dfb608db6b7, a zone object can
remain in the memory for a while, until garbage collection is run.
Setting the DNS_ZONEFLG_EXITING flag should prevent the zone
maintenance function from running while it's in that state.
Otherwise, a secondary zone could initiate a zone transfer after
it had been deleted.

(cherry picked from commit 874ca5ca2f1f381e434304e262ea08e77e3bdf65)

12 months ago[9.20] fix: usr: Fix a zone refresh bug
Ondřej Surý [Wed, 28 May 2025 17:53:22 +0000 (17:53 +0000)] 
[9.20] fix: usr: Fix a zone refresh bug

A secondary zone could fail to further refresh with new
versions of the zone from a primary server if named was
reconfigured during the SOA request step of an ongoing
zone transfer. This has been fixed.

Closes #5307

Backport of MR !10468

Merge branch 'backport-5307-zone-refresh-stuck-after-reconfiguration-fix-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!10495