Commit graph

43695 commits

Author SHA1 Message Date
Mark Andrews
a6ca8407ee
Check notify with bad notify source address and tsig
named was asserting when the notify source address was not available
and TSIG was being used.  Check this scenario by adding a nameserver
to the zone which is configured to uses a non-existent source address
and a blackholed destination address and a TSIG using a server clause
for that destination address.

(cherry picked from commit f99d7f4217)
2026-02-20 10:50:19 +01:00
Ondřej Surý
9213c42bc0
Don't retry notify over TCP if it could not successed
Prevent retrying the notify over TCP in case the source address is not
available or the source vs the destination address family mismatch or
when the destination address has been blackholed.  Properly log the
hard notify failures.

(cherry picked from commit 5a5bc6de22)
2026-02-20 10:50:19 +01:00
Ondřej Surý
e68aa79e2a
Fix assertion failure when sending notify fails over UDP
When dns_request_create() fails in notify_send_toaddr() the TSIG key was
not cleared when retrying over TCP causing assertion failure.  Set the
TSIG key to NULL in the dns_message to prevent the assertion failure.

(cherry picked from commit ee3391a146)
2026-02-20 10:50:19 +01:00
Michał Kępień
5a5590da89 [9.20] fix: ci: Fix the update-stable-tag job
Fix the `update-stable-tag` job, necessary for updating Read the Docs.

Backport of MR !11559

Merge branch 'backport-andoni/fix-update-stable-branch-for-rtd-job-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11568
2026-02-20 09:55:02 +01:00
Andoni Duarte Pintado
61f81bffb0 Fix CI stable branch update job bug
The update script clones a fresh copy each time, if more than one
invocation is needed intermediate copies need to be removed.

(cherry picked from commit 81b71d5aa6)
2026-02-19 19:56:50 +00:00
Petr Špaček
d9eb13955c [9.20] chg: ci: cross-version-config-tests should hard fail again
Backport of MR !11560

Merge branch 'backport-reenable-cross-version-tests-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11561
2026-02-19 14:07:18 +00:00
Petr Špaček
f0b8cd47b6 Cross-version-config-tests should hard fail again
New tag was released so we can now re-enable check disabled in
093bef9211.

(cherry picked from commit ae657429f6)
2026-02-19 14:06:43 +00:00
Mark Andrews
8ac316bf0f [9.20] fix: dev: Return FORMERR for ECS family 0
RFC 7871 only defines family 1 (IPv4) and 2 (IPv6). Additionally
it requires FORMERR to be returned for all unknown families.

Backport of MR !11563

Merge branch 'backport-marka-formerr-family-0-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11565
2026-02-19 23:23:53 +11:00
Mark Andrews
32f802f4ed Return FORMERR for ECS family 0
RFC 7871 only defines family 1 (IPv4) and 2 (IPv6). Additionally
it requires FORMERR to be returned for all unknown families.

(cherry picked from commit 757e503536)
2026-02-19 22:42:26 +11:00
Matthijs Mekking
68ccf6ab4f [9.20] fix: doc: Minor documentation fixes for the 'rndc dnssec' command
List 'rndc dnssec' arguments in alphabetic order.
The `-step` argument was erroneously omitted from the usage output.

Closes #5731

Backport of MR !11529

Merge branch 'backport-5731-rndc-documentation-corrections-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11554
2026-02-18 14:20:58 +00:00
Matthijs Mekking
9101096e1e List 'rndc dnssec' arguments in alphabetic order
Same as rndc usage orderning,

(cherry picked from commit 4a22921936)
2026-02-18 14:20:53 +00:00
Matthijs Mekking
de04328ec7 Add rndc dnssec -step command to usage
The `-step` argument was erroneously omitted from the usage output.

(cherry picked from commit 0dd61d8773)
2026-02-18 14:20:53 +00:00
Petr Špaček
87a8d4fccc Merge tag 'v9.20.19' into bind-9.20 2026-02-18 10:33:06 +00:00
Mark Andrews
0a5922bcf7 [9.20] fix: usr: DNSTAP wasn't logging forwarded queries correctly
Closes #5724

Backport of MR !11509

Merge branch 'backport-5724-dnstap-forwarder-queries-logging-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11555
2026-02-17 15:09:24 +11:00
Mark Andrews
38ca02c7a0 Use shell function 'check_count' to check counts
(cherry picked from commit ea32141e48)
2026-02-17 03:32:47 +00:00
Mark Andrews
c59f66b6df Document UPDATE QUERY and UPDATE RESPONSE
(cherry picked from commit 24f85bc3f3)
2026-02-17 03:32:47 +00:00
Mark Andrews
b9ba70f9c1 Test forward query/response counts
(cherry picked from commit 591096f131)
2026-02-17 03:32:47 +00:00
Mark Andrews
99c189c772 Correctly identify forwarded queries with DNSTAP
Queries using forwarders where not being correctly identified
when using dnstap.

(cherry picked from commit 38b626d58d)
2026-02-17 03:32:47 +00:00
Mark Andrews
e8828fb2b1 Add missed ret!=0 checks
(cherry picked from commit 77278beaf3)
2026-02-17 03:32:47 +00:00
Michał Kępień
abc11cf63c [9.20] chg: test: Use isctest.asyncserver in the "pipelined" test
Replace the custom DNS server used in the "pipelined" system test with
new code based on the isctest.asyncserver module.

Backport of MR !11516

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

See merge request isc-projects/bind9!11552
2026-02-13 15:40:29 +01:00
Michał Kępień
43eec494dd Use isctest.asyncserver in the "pipelined" test
Replace the custom DNS server used in the "pipelined" system test with
new code based on the isctest.asyncserver module.

(cherry picked from commit 3954025218)
2026-02-13 14:03:58 +00:00
Michał Kępień
5a0e1de2e5 Implement a response handler that forwards queries
Add a new response handler, ForwarderHandler, which enables forwarding
all queries to another DNS server.  To simplify implementation, always
forward queries to the target server via UDP, even if they are
originally received using a different transport protocol.

(cherry picked from commit 10a2fc7f1f)
2026-02-13 14:03:58 +00:00
Michał Kępień
f773a18f40 Log the server socket receiving each query
Extend AsyncDnsServer._log_query() and AsyncDnsServer._log_response() so
that they also log the <address, port> tuple for the socket on which a
given query was received on.  Minimize the signatures of those methods
by taking advantage of all the information contained in the QueryContext
instances passed to them.

(cherry picked from commit d3d9d166ed)
2026-02-13 14:03:58 +00:00
Michał Kępień
442285dce3 Store server socket information in QueryContext
Extend the QueryContext class with a field holding the <address, port>
tuple for the socket on which a given query was received.  This will
enable query handlers to act upon that information in arbitrary ways.

(cherry picked from commit 94a4793596)
2026-02-13 14:03:58 +00:00
Mark Andrews
66c58ce793 [9.20] fix: doc: Document that dig's query options are order sensitive
Closes #5730

Backport of MR !11526

Merge branch 'backport-5730-document-query-options-order-sensitive-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11542
2026-02-10 10:33:10 +11:00
Mark Andrews
5149e9abfa Document that query options are order sensitive
(cherry picked from commit 879d2ed480)
2026-02-09 22:47:15 +00:00
Michal Nowak
2cadea3ce1 [9.20] chg: test: Rewrite xfer system test to pytest
Backport of MR !11055

Merge branch 'backport-mnowak/pytest_rewrite_xfer-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11533
2026-02-06 21:04:11 +01:00
Michal Nowak
94a3861776 Rewrite xfer system test to pytest
(cherry picked from commit bf0df8b7f4)
2026-02-06 21:03:52 +01:00
Ondřej Surý
bfb55a587d [9.20] fix: nil: Release gnamebuf also on the error path
In dst_gssapi_acceptctx(), the gnamebuf could leak a little bit of
memory if dns_name_fromtext() would theoretically fail.  This would
require a Kerberos principal with invalid DNS name.

Closes #5737

Backport of MR !11536

Merge branch 'backport-5737-memory-leak-in-dst_gssapi_acceptctx-on-dns_name_fromtext-failure-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11537
2026-02-06 20:57:31 +01:00
Ondřej Surý
07877aa742
Release gnamebuf also on the error path
In dst_gssapi_acceptctx(), the gnamebuf could leak a little bit of
memory if dns_name_fromtext() would theoretically fail.  This would
require a Kerberos principal with invalid DNS name.

(cherry picked from commit 3ad87f1ad6)
2026-02-06 18:36:58 +01:00
Michał Kępień
f4fdcee03f [9.20] chg: usr: Record query time for all dnstap responses
Not all DNS responses had the query time set in their corresponding
dnstap messages. This has been fixed.

Closes #3695

Backport of MR !11527

Merge branch 'backport-3695-record-query-time-for-all-dnstap-responses-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11534
2026-02-06 16:57:06 +01:00
Mark Andrews
7931038fa8 Record query time for all dnstap responses
The description in the protobuf specification is not a list of request
types to process but rather a list of examples to qualify the
description of whether the time indicates when the message is received
or sent.

(cherry picked from commit 479c737517)
2026-02-06 14:40:59 +00:00
Nicki Křížek
2b00f34800 [9.20] fix: test: Allow re-run of kasp test case on all FreeBSDs
Closes #5720

Backport of MR !11507

Merge branch 'backport-5720-freebsd-kasp-test-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11531
2026-02-06 15:37:30 +01:00
Nicki Křížek
aeb0518239 Allow re-run of kasp test case on all FreeBSDs
Previously, the issue when the kasp.test_kasp_case[secondary.kasp] fails
due to a timeout has been only ocassionally observed on FreeBSD 13
in our CI. It seems to have come back on FreeBSD 15.

(cherry picked from commit e4abb5bd07)
2026-02-06 13:20:03 +00:00
Nicki Křížek
f76fa8ad35 Improve logging for isctest.run.retry_with_timeout
Add more debug messages around the retry function to facilitate
debugging in case of issues.

(cherry picked from commit d237048de2)
2026-02-06 13:20:03 +00:00
Mark Andrews
ce2d9d1618 [9.20] fix: test: nsec3/tests_nsec3_change.py updates zone file too fast
The zone file is updated too soon causing the reload to fail.
Add a 1 second sleep to ensure the modification time has changed.

Closes #5734

Backport of MR !11525

Merge branch 'backport-5734-fix-tests-nsec3-change-py-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11528
2026-02-06 22:19:57 +11:00
Mark Andrews
fb34eb11e9 Fix timing in tests_nsec3_change.py
The zone file is updated too soon causing the reload to fail.
Add a 1 second sleep to ensure the modification time has changed.

(cherry picked from commit 8f413fd589)
2026-02-06 10:38:47 +00:00
Michał Kępień
4a5406241a [9.20] [CVE-2025-13878] sec: test: Add a regression test for the BRID/HHIT crash
Add two short records to example.com.db that cause assertion failures
when converted to wire form.

The checks added to tests.sh are technically not required: the relevant
assertion failures are already hit when the zone is transferred out of
ns1.

Update the relevant unit tests with 1-byte records.

Co-authored-by: Mark Andrews <marka@isc.org>

Closes #5616

Backport of MR !11522

Merge branch 'backport-5616-add-brid-hhit-towire-tests-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11523
2026-02-05 20:04:10 +01:00
Matthijs Mekking
440ada653d Add a regression test for the BRID/HHIT crash
Add two short records to example.com.db that cause assertion failures
when converted to wire form.

The checks added to tests.sh are technically not required: the relevant
assertion failures are already hit when the zone is transferred out of
ns1.

Update the relevant unit tests with 1-byte records.

Co-authored-by: Mark Andrews <marka@isc.org>
(cherry picked from commit ce1d68cbc5)
2026-02-05 18:23:49 +00:00
Petr Špaček
928dc4b252 Update BIND version for release 2026-02-04 15:52:03 +01:00
Petr Špaček
d60532ce6c new: doc: Prepare documentation for BIND 9.20.19
Merge branch 'pspacek/prepare-documentation-for-bind-9.20.19' into 'v9.20.19-release'

See merge request isc-private/bind9!907
2026-02-04 13:58:39 +00:00
Petr Špaček
aa33bcd7dc Tweak and reword release notes 2026-02-04 14:52:33 +01:00
Petr Špaček
2804c4a35e Prepare release notes for BIND 9.20.19 2026-02-04 14:40:59 +01:00
Petr Špaček
0503d77b8f Generate changelog for BIND 9.20.19 2026-02-04 14:40:21 +01:00
Petr Špaček
e7f78c203c chg: doc: Set up version for BIND 9.20.20
Merge branch 'andoni/set-up-version-for-bind-9.20.20' into 'bind-9.20'

See merge request isc-projects/bind9!11513
2026-02-04 09:03:27 +00:00
Andoni Duarte Pintado
f4171694f5 Update BIND version to 9.20.20-dev 2026-02-04 09:37:13 +01:00
Alessio Podda
318a7535d2 [9.20] fix: usr: Fix inbound IXFR performance regression.
Very large inbound IXFR transfers were much slower compared to BIND
9.18. The performance was improved by adding specialized logic to
handle IXFR transfers.

Closes #5442

Backport of MR !11077

Merge branch 'backport-5442-ixfr-batch-transaction-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11355
2026-02-02 10:24:36 +00:00
Alessio Podda
66222337b4 Disable respdiff-recent-named
The respdiff-recent-named test is currently broken with autotools.
Disable the test to allow #GL!11355 to be merged.
2026-02-02 10:32:38 +01:00
Alessio Podda
1ae892f54d Handle databases with no update methods
Non qp/rbt databases might not implement the
dns_db_(begin|commit|abort)update methods. This commit ensures that we
return ISC_R_NOTIMPLEMENTED in those cases.
2026-02-02 10:32:38 +01:00
Alessio Podda
97f2816947 Fix formatting
Cleanup formatting after IXFR changes.

(cherry picked from commit ad0a382092)
2026-02-02 10:32:38 +01:00