Commit graph

43220 commits

Author SHA1 Message Date
Petr Špaček
2a99eb5d09
Apply special git tag rules only in the private project
We do not want to re-release tags we create in the private project
anyway. Moreover pushing tags back into the public project after release
caused to Gitlab to create tag pipelines which never finished, which was
only confusing thing.

(cherry picked from commit 675d9c7425)
2025-10-24 04:50:00 +02:00
Petr Špaček
8bf52ff025
Trigger rebase in private project after merge into the public one
Actual rebase and push is handled by pipeline inside the private project.

(cherry picked from commit d65ac00715)
2025-10-24 04:50:00 +02:00
Petr Špaček
3c4fb8625f
Do not fail post-merge jobs if merge request reference is missing
Push without merge request reference on top happens when merging tags
back into the public project so these failures would produce log noise.

(cherry picked from commit 545ef542a1)
2025-10-24 04:50:00 +02:00
Petr Špaček
697e241206
Do not fail post-merge jobs after force-push
Rebase happens in -sub branches regularly so these failures would
produce log noice.

(cherry picked from commit cbaf4fe6cd)
2025-10-24 04:50:00 +02:00
Petr Špaček
03e3762358
Deduplicate Git NAME and EMAIL variables
As an additional perk, I hope JOB_ID will make it easier to debug it
something goes wrong with automated commits.

(cherry picked from commit 43b9628955)
2025-10-24 04:50:00 +02:00
Evan Hunt
72b49ce7e7 fix: doc: document config option dependency for showzone
Indicate in the `rndc showzone` documentation that this command requires the configuration option `allow-new-zones` to be `true`.

Merge branch 'colin/rndc-showzone-doc' into 'bind-9.20'

See merge request isc-projects/bind9!11118
2025-10-23 20:11:15 +00:00
Colin Vidal
7c02b1df07 document config option dependency for showzone
Indicates in `rndc showzone` documentation this command requires the
configuration option `allow-new-zones` to be `true`.
2025-10-23 20:10:49 +00:00
Štěpán Balážik
14c5e84477 [9.20] chg: test: Use isctest.asyncserver in the "nsupdate" test
Reimplement the custom server written in Perl in Python using the AsyncDnsServer class.

Backport of MR !10915

Merge branch 'backport-stepan/nsupdate-asyncserver-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11140
2025-10-23 14:13:16 +00:00
Štěpán Balážik
cde0178801 Use isctest.asyncserver in the "nsupdate" test
Reimplement the custom server written in Perl in Python using the
AsyncDnsServer class.

(cherry picked from commit 99b0cf2dd7)
2025-10-23 12:29:17 +00:00
Štěpán Balážik
7b8b7550d3 Enable ignoring TCP connections
Add a TCP connection handler, IgnoreAllConnections that allows
establishing TCP connection but not reading anything from it.

This re-uses the horrible hack from ConnectionReset handler and might
break at any point in the future.

See the comments and e407888507 for more
details.

(cherry picked from commit 4042b805ff)
2025-10-23 12:29:16 +00:00
Michał Kępień
b35d6513d8 Merge tag 'v9.20.15' into bind-9.20 2025-10-22 16:16:59 +00:00
Michal Nowak
539a5008fc [9.20] chg: ci: Fail when spatch can't process source code
Sometimes spatch fails to process the source code:

    EXN: Failure("replacement: node 80: {7[1,2,30,31,32] in isc__nm_base64_to_base64url reachable by inconsistent control-flow paths") in ./lib/isc/netmgr/http.c

Closes #5567

Backport of MR !11115

Merge branch 'backport-5567-spatch-detect-more-error-conditions-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11133
2025-10-22 14:13:21 +02:00
Michal Nowak
184cb00814 Use SET_IF_NOT_NULL in isc__nm_base64*
(cherry picked from commit d91e8ed575)
2025-10-22 11:30:33 +00:00
Michal Nowak
d14f5cb894 Spawn coccinelle CI job when util/check-cocci.sh was touched
(cherry picked from commit 6db5b9ee14)
2025-10-22 11:30:32 +00:00
Michal Nowak
bbc05491f7 Fail when spatch can't process source code
Sometimes spatch fails to process the source code:

    EXN: Failure("replacement: node 80: {7[1,2,30,31,32] in isc__nm_base64_to_base64url reachable by inconsistent control-flow paths") in ./lib/isc/netmgr/http.c

(cherry picked from commit 44d1a97870)
2025-10-22 11:30:32 +00:00
Mark Andrews
c5a6ac6614 [9.20] fix: test: Fix typo in tools test's shell path
Backport of MR !10939

Merge branch 'backport-pspacek/fix-test-typo-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11130
2025-10-22 17:04:25 +11:00
Petr Špaček
953c3aa83c Fix typo in tools test's shell path
(cherry picked from commit 0e770685d6)
2025-10-22 05:06:52 +00:00
Mark Andrews
6ead0aa4a2 [9.20] fix: usr: dnssec-verify now uses exit code 1 when failing due to illegal options
Previously, dnssec-verify exited with code 0 if the options could not be parsed. This has been fixed.

Closes #5574

Backport of MR !11106

Merge branch 'backport-5574-dnssec-verify-uses-exit-code-0-when-failing-due-to-illegal-option-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11129
2025-10-22 14:26:07 +11:00
Mark Andrews
f7f96a5fdb dnssec-verify now returns failure on bad arguments
(cherry picked from commit ac3fba068e)
2025-10-22 13:48:22 +11:00
Mark Andrews
ac8b23b80b [9.20] fix: usr: Fix dnssec-keygen key collision checking for KEY rrtype keys
The :iscman:`dnssec-keygen` utility program failed to detect
possible Key ID collisions with the existing keys generated
using the non-default ``-T KEY`` option (e.g. for ``SIG(0)``).
This has been fixed.

Closes #5506

Backport of MR !11047

Merge branch 'backport-5506-dnssec-keygen-sig0-keys-collision-fix-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11128
2025-10-22 13:31:32 +11:00
Mark Andrews
2d496ef257 Don't log spurious error "bad key type" in findmatchingkeys
(cherry picked from commit 4c5d48926a)
2025-10-22 12:55:43 +11:00
Aram Sargsyan
3a1922f464 Fix dnssec-keygen key collision checking for KEY rrtype keys
When generating a new key, dnssec-keygen checks for possible
key ID collisions with existing keys. The dnssec.c:findmatchingkeys()
function, which is supposed to get the list of the existing keys,
fails to do that for the existing KEY rrtype keys (i.e. generated
using 'dnssec-keygen -T KEY') because it doesn't pass down to the
dst_key_fromnamedfile() -> dst_key_read_public() functions the type
of the keys it's interested in. Fix the issue by introducing a new
function parameter which tells in which type of keys the caller is
currently interested in.

(cherry picked from commit 49b7ce9a54)
2025-10-22 12:55:41 +11:00
Nicki Křížek
4dcb995aaa [9.20] new: test: Add module-specific python setup to system tests
During the system test execution, allow use of module-specific setup()
function in addition to the setup.sh script which this function should
ultimately replace.

The purpose of setup() is two-fold. First, it can execute any commands
needed to create the initial conditions for the test, such as creating
key materials, manipulating files etc. Second, it should return any
test-specific template values as a dictionary. Those will be used to
render the jinja2 templates.

Backport of MR !10983

Merge branch 'backport-nicki/pytest-add-python-setup-func-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11126
2025-10-21 18:19:47 +02:00
Nicki Křížek
a2a8b237e6 Use common name for post-startup server functions
Unify the names of autouse module-wide fixtures that perform
after_servers_start() setup. The consistent naming doesn't just help
readability, but also makes it simpler for the vulture exception (since
it doesn't properly deal with autouse fixtures).

(cherry picked from commit 377724c26d)
2025-10-21 16:16:18 +02:00
Nicki Křížek
6b55199d99 Use bootstrap() in pytest where applicable
Replace the autouse fixtures which were only used to change the initial
server configuration into proper bootstrap() functions. This gets rid of
an extraneous reconfigure.

In the tests_validation_many_anchors.py, split the fixture into a proper
bootstrap() and a separate test for checking the expected log lines for
the ignored keys. Previously, the test was broken - it should check for
all the messages being present in the log, and some of the keys are
actually initial-key rather than static-key. This has been fixed in the
parametrized test.

(cherry picked from commit fb4345afd4)
2025-10-21 16:16:16 +02:00
Nicki Křížek
c322f2dde7 Add module-specific python setup to system tests
During the system test execution, allow use of module-specific
bootstrap() function in addition to the setup.sh script which this
function should ultimately replace.

The purpose of bootstrap() is two-fold. First, it can execute any
commands needed to create the initial conditions for the test, such as
creating key materials, manipulating files etc. Second, it should return
any test-specific template values as a dictionary. Those will be used to
render the jinja2 templates.

(cherry picked from commit 7474d38295)
2025-10-21 16:08:37 +02:00
Michal Nowak
6364ec5f52 [9.20] new: ci: Update Clang to version 21
Backport of MR !10877

Merge branch 'backport-mnowak/llvm-21-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11119
2025-10-21 13:07:50 +02:00
Michal Nowak
bc35b646b9
Use clang-format-21 to update formatting 2025-10-21 12:12:01 +02:00
Michal Nowak
a3f30525d4
Update Clang to version 21
(cherry picked from commit 6770f3d608)
2025-10-21 12:08:42 +02:00
Mark Andrews
df78279777 [9.20] fix: nil: Fix parse_dnskey in bin/dnssec/dnssec-ksr.c was failing to reset comments
If dns_name_fromtext failed or the subsequent dns_name_compare
failed the lexer's comments state wasn't cleaned up.

Closes #5581

Backport of MR !11109

Merge branch 'backport-5581-parse_dnskey-in-lib-dns-skr-c-was-failing-to-reset-comments-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11113
2025-10-20 12:21:00 +11:00
Mark Andrews
174355101e Fix parse_dnskey in bin/dnssec/dnssec-ksr.c was failing to reset comments
If dns_name_fromtext failed or the subsequent dns_name_compare
failed the lexer's comments state wasn't cleaned up.

(cherry picked from commit a949184eb7)
2025-10-20 00:33:04 +00:00
Michał Kępień
0c0fcf7b2b
Update BIND version for release 2025-10-18 11:49:45 +02:00
Michał Kępień
2eb2969506 new: doc: Prepare documentation for BIND 9.20.15
Merge branch 'michal/prepare-documentation-for-bind-9.20.15' into 'v9.20.15-release'

See merge request isc-private/bind9!868
2025-10-18 11:46:07 +02:00
Nicki Křížek
b1a60e1149
Remove reuse annotations for unused m4 libtool files
The files in question are no longer included in the git tree and
distributed with the code. Remove the reuse annotations as they caused
issues with reuse 6.0.0, as multiline annotation for
SPDX-FileCopyrightText breaks the parsing.

(cherry picked from commit 2d0fb3f25d)
2025-10-18 09:49:32 +02:00
Michał Kępień
064dbdffca
Prepare release notes for BIND 9.20.15 2025-10-18 09:49:32 +02:00
Michał Kępień
5ce20ea209
Prepare changelog for BIND 9.20.15 2025-10-18 09:49:32 +02:00
Michał Kępień
51804cac28 [9.20] fix: usr: Fix the assertion failure in the selfsigned DNSKEY handling
The selfsigned_dnskey() function can now return all the return codes
that dns_dnssec_keyfromrdata() can return and this would cause an
assertion failure as we were not expecting new isc_result_t codes.

Backport of !865

Closes isc-projects/bind9#5343

Merge branch 'ondrej/security-fix-crash-in-selfsigned-key-handling-9.20' into 'v9.20.15-release'

See merge request isc-private/bind9!866
2025-10-18 09:43:19 +02:00
Ondřej Surý
13b88233be
Fix the assertion failure in the selfsigned DNSKEY handling
The selfsigned_dnskey() function can now return all the return codes
that dns_dnssec_keyfromrdata() can return and this would cause an
assertion failure as we were not expecting new isc_result_t codes.

(cherry picked from commit 7b26176c46)
2025-10-18 09:36:58 +02:00
Mark Andrews
525d821e1a [9.20] fix: test: multisigner test can leave created.* and unused.* files
Expect created.* and unused.* files at the end of running
the multisigner test.

Closes #5565

Backport of MR !11089

Merge branch 'backport-5565-multisigner-test-can-leave-created-and-unused-files-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11102
2025-10-16 12:15:41 +11:00
Mark Andrews
09745353dd Expect created.* and unused.* files
(cherry picked from commit 3a7f8e1d12)
2025-10-16 00:35:53 +00:00
Mark Andrews
916f539602 [9.20] fix: test: "nextpart" piped to "grep -q" doesn't work as expected
`nextpart file | grep -q` doesn't work as expected.  `grep -q` is not
required to read all of the input and that causes `nextpart` to fail.

Closes #5566

Backport of MR !11090

Merge branch 'backport-5566-nextpart-piped-to-grep-q-doesn-t-work-as-expected-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11092
2025-10-14 22:02:31 +11:00
Mark Andrews
294fd7300f 'nextpart' and 'grep -q' don't work together
'nextpart file | grep -q' doesn't work as expected.  'grep -q' is not
required to read all of the input and that causes 'nextpart' to fail.

(cherry picked from commit 5beba4d292)
2025-10-14 21:26:47 +11:00
Mark Andrews
a7eed45fa1 [9.20] fix: nil: Fix parse_rr in lib/dns/skr.c was failing to reset the comments
If dns_name_fromtext failed or the subsequent dns_name_compare
failed the lexer's comments state wasn't cleaned up.

Closes #5564

Backport of MR !11088

Merge branch 'backport-5564-fix-bug-in-skr-c-parse_rr-on-error-path-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11091
2025-10-14 18:28:01 +11:00
Mark Andrews
d70cb26231 Fix parse_rr in lib/dns/skr.c was failing to reset the comments
If dns_name_fromtext failed or the subsequent dns_name_compare
failed the lexer's comments state wasn't cleaned up.

(cherry picked from commit e5ceda617d)
2025-10-14 06:48:57 +00:00
Michał Kępień
595ebac9a4 chg: doc: Set up version for BIND 9.20.16
Merge branch 'michal/set-up-version-for-bind-9.20.16' into 'bind-9.20'

See merge request isc-projects/bind9!11084
2025-10-13 15:42:56 +02:00
Michał Kępień
48956122d5 Update BIND version to 9.20.16-dev 2025-10-13 15:39:42 +02:00
Matthijs Mekking
f9cbd3484e [9.20] chg: nil: Add dnssec-policy text for dnssec-importkey
:program:`dnssec-importkey` should not be used to import DNSKEY records from other providers (for example when setting up multi-signer). Clarify this in the manpage.

Backport of MR !11064

Merge branch 'backport-matthijs-clarify-import-key-dnssec-policy-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11078
2025-10-11 08:32:14 +00:00
Matthijs Mekking
97cc940286 Add dnssec-policy text for dnssec-importkey
You should not use dnssec-importkey to import DNSKEY records from
other providers (for example when setting up multi-signer).

Clarify this in the manpage.

(cherry picked from commit 4df536e0dc)
2025-10-10 17:35:59 +00:00
Nicki Křížek
190240d4ec [9.20] fix: test: Disable keyfromlabel collision avoidance in tests
With the collision avoidance on, some of the tests would occasionally
fail. None of the tests using keyfromlabel are revoking the keys so it
should be safe to disable it.

Closes #5554

Backport of MR !11066

Merge branch 'backport-5554-disable-keyfromlabel-collision-avoidance-in-tests-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11074
2025-10-10 13:07:27 +02:00
Nicki Křížek
acc9e61bfa Disable keyfromlabel collision avoidance in tests
With the collision avoidance on, some of the tests would occasionally
fail. None of the tests using keyfromlabel are revoking the keys so it
should be safe to disable it.

(cherry picked from commit 2ecbe46e0d)
2025-10-10 11:31:53 +02:00