Commit graph

44052 commits

Author SHA1 Message Date
Evan Hunt
43f53b5010 report when zone reload already in progress
if a zone reload is already in progress when 'rndc reload <zone>' is
run, currently the message returned in "zone reload queued", which
is correct, but it's identical to the message returned when a reload
was *not* in progress, so the user can't easily tell what happened.
a user could reload a zone twice and not realize that only one
reload actually took place.

this has been addressed by changing the message returned to
"zone reload was already queued".

a new result code ISC_R_LOADING has been added to signal this
condition, taking the place of ISC_R_RELOAD, which was obsolete
and has been removed.
2025-10-17 20:36:18 +00:00
Colin Vidal
82a150adca fix: test: fix random failure on synthrecord system test
One of the synthrecord system tests uses a test function to generate an expected name based on some randomly generated IPv6 (using Hypothesis). Turns out the test function generating the name didn't handle the case where the label which encodes the IPv6 could have a leading or trailing '-' character. (The plugin needs to add a leading or trailing 0 so as not to break IDN compatibility.)

Merge branch 'colin/fix-synthrecord-v6test' into 'main'

See merge request isc-projects/bind9!11073
2025-10-17 22:08:54 +02:00
Colin Vidal
2b4825dbad fix random failure on synthrecord system test
One of the synthrecord system tests uses a test function to generate an
expected name based on some randomly generated IPv6 (using Hypothesis).
Turns out the test function generating the name didn't handle the case
where the label which encodes the IPv6 could have a leading or trailing
'-' character. (The plugin needs to add a leading or trailing 0 so as
not to break IDN compatibility.)
2025-10-17 12:28:04 -07:00
Ondřej Surý
e7362cb501 chg: dev: Change the CONTRIBUTING to use Developer's Certificate of Origin 1.1
Merge branch 'ondrej/developer-certificate-of-origin' into 'main'

See merge request isc-projects/bind9!11108
2025-10-16 18:31:52 +02:00
Ondřej Surý
845eb2ebbc
Change the CONTRIBUTING to use Developer's Certificate of Origin 1.1 2025-10-16 18:31:37 +02:00
Ondřej Surý
07d9965f99 fix: nil: Fix the type in Feature Request template
Merge branch 'ondrej/no-ai-templates-fixup' into 'main'

See merge request isc-projects/bind9!11107
2025-10-16 17:27:38 +02:00
Ondřej Surý
a8083c5b5e
Fix the type in Feature Request template 2025-10-16 17:14:16 +02:00
Evan Hunt
bac5ef9682 fix: dev: Ensure correct result from check_signer()
It was possible for the result to be overwritten after a validation failure, causing `check_signer()` to return success when it should have returned an error.

Closes #5575

Merge branch '5575-ensure-correct-result-from-check_signer' into 'main'

See merge request isc-projects/bind9!11103
2025-10-16 05:42:15 +00:00
Evan Hunt
414bc3f27d Ensure correct result from check_signer()
It was possible for the result to be overwritten after a
validation failure, causing check_signer() to return success
when it should have returned an error.

Co-Authored-By: Ondřej Surý <ondrej@isc.org>
2025-10-15 22:05:52 -07:00
Ondřej Surý
c61a17d00f doc: nil: Add a section about AI use in BIND 9 issue templates
Generally speaking, no AI generated slop is permitted.  If AI has been
used to find an actual problem, the findings need to be verified by a
person, and the report should be written by the person.  No copy and
paste is allowed.  Anyone reporting the problem needs to be able to
verify the problem independently of the AI.

Merge branch 'ondrej/no-ai-templates' into 'main'

See merge request isc-projects/bind9!11105
2025-10-16 07:04:19 +02:00
Ondřej Surý
f8aa522f3f
Add a section about AI use in BIND 9 issue templates
Generally speaking, no AI generated slop is permitted.  If AI has been
used to find an actual problem, the findings need to be verified by a
person, and the report should be written by the person.  No copy and
paste is allowed.  Anyone reporting the problem needs to be able to
verify the problem independently of the AI.
2025-10-16 07:04:01 +02:00
Mark Andrews
1b114f1e1b 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

Merge branch '5565-multisigner-test-can-leave-created-and-unused-files' into 'main'

See merge request isc-projects/bind9!11089
2025-10-16 11:34:11 +11:00
Mark Andrews
3a7f8e1d12 Expect created.* and unused.* files 2025-10-16 10:22:43 +11:00
Nicki Křížek
efe5add5dd fix: test: Fix synthrecord system test fails on MacOS
Don't hardcode shared library extension.

Closes #5573

Merge branch '5573-synthrecord-system-test-fails-on-macos' into 'main'

See merge request isc-projects/bind9!11098
2025-10-15 10:54:01 +02:00
Mark Andrews
a0abef4fa3 Don't hardcode shared library extension 2025-10-15 17:51:55 +11:00
Mark Andrews
93c5a31d60 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

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

See merge request isc-projects/bind9!11090
2025-10-14 18:27:46 +11:00
Mark Andrews
5beba4d292 '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.
2025-10-14 17:47:25 +11:00
Mark Andrews
d4527cb9e6 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

Merge branch '5564-fix-bug-in-skr-c-parse_rr-on-error-path' into 'main'

See merge request isc-projects/bind9!11088
2025-10-14 17:46:05 +11:00
Mark Andrews
e5ceda617d 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.
2025-10-14 11:26:45 +11:00
Štěpán Balážik
9cacda4709 fix: doc: Remove mentions of the bind-workers mailing list
It has been shutdown back in 2022.

Merge branch 'stepan/remove-bind-workers-from-readme' into 'main'

See merge request isc-projects/bind9!11061
2025-10-13 16:02:30 +00:00
Štěpán Balážik
a5c4101b3f Remove mentions of the bind-workers mailing list
It has been shutdown back in 2022.
2025-10-13 16:01:43 +00:00
Michał Kępień
cf44cc79cc chg: doc: Set up version for BIND 9.21.15
Merge branch 'michal/set-up-version-for-bind-9.21.15' into 'main'

See merge request isc-projects/bind9!11083
2025-10-13 15:42:54 +02:00
Michał Kępień
638b4cb9a5 Update BIND version to 9.21.15-dev 2025-10-13 15:38:56 +02:00
Evan Hunt
5b645cb200 rem: dev: Remove "bindkeys-file" option
The `bindkeys-file` option was only used for testing purposes, and has now been replaced with a `-T bindkeys=<filename>` option for `named`.

Merge branch 'each-remove-bindkeys-file' into 'main'

See merge request isc-projects/bind9!11081
2025-10-13 07:12:41 +00:00
Evan Hunt
a373671f5e remove "bindkeys-file" option
The bindkeys-file option was only used for testing purposes, and
has now been replaced with a "-T bindkeys=<filename>" option for
named.
2025-10-12 23:37:49 -07:00
Evan Hunt
15b0ff5036 clean up bind.keys
the comments in the bind.keys file were outdated; the file now only
exists to be converted into bind.keys.h and compiled into named and
delv.

some tests also referenced it, and have been cleaned up, since
the keys in it are already built into named.
2025-10-10 17:41:07 -07:00
Matthijs Mekking
b5969557c2 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.

Merge branch 'matthijs-clarify-import-key-dnssec-policy' into 'main'

See merge request isc-projects/bind9!11064
2025-10-10 17:34:59 +00:00
Matthijs Mekking
4df536e0dc 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.
2025-10-10 16:49:55 +02:00
Nicki Křížek
8f392d484e 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

Merge branch '5554-disable-keyfromlabel-collision-avoidance-in-tests' into 'main'

See merge request isc-projects/bind9!11066
2025-10-10 11:24:39 +02:00
Nicki Křížek
2ecbe46e0d 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.
2025-10-10 10:39:04 +02:00
Ondřej Surý
b3c025837d fix: nil: Update the semantic patches to use new coccinelle syntax
Merge branch 'ondrej/update-semantic-patches' into 'main'

See merge request isc-projects/bind9!11067
2025-10-08 19:17:45 +02:00
Ondřej Surý
94b4d105e8
Apply the changes from updated set_if_not_null semantic patch 2025-10-08 17:44:50 +02:00
Ondřej Surý
088f2feb06
Disable the unreachable semantic patch
The UNREACHABLE() semantic patch seems to be broken with coccinelle
1.3.0 - it spins undefinitely.  Disable it for now.
2025-10-08 17:44:50 +02:00
Ondřej Surý
60760420aa
Update the semantic patches to use new development ideas
Co-Authored-By: Markus Elfring <Markus.Elfring@web.de>
2025-10-08 17:22:10 +02:00
Matthijs Mekking
4a3feb033f chg: test: Remove KeyProperties property expect
We agreed to make "expect" a direct attribute of KeyProperties, but it turns out the property is unused, so we can just remove it.

Closes #5278

Merge branch '5278-kasp-system-test-follow-up-1' into 'main'

See merge request isc-projects/bind9!11042
2025-10-08 08:33:04 +00:00
Matthijs Mekking
2d7ab28ce2 Make properties direct attribute of KeyProperties
There is no real reason to keep those in a dictionary.
2025-10-08 09:56:58 +02:00
Matthijs Mekking
ade333bb64 Remove KeyProperties property expect
This property is unused, so we can just remove it.
2025-10-08 09:56:58 +02:00
Colin Vidal
0750603569 rem: dev: remove dns_zone_dump
Zone API `dns_zone_dump` is dead code in 9.21 (and was also dead code at
least in 9.20), removing it.

Merge branch 'colin/remove-dns_zone_dump' into 'main'

See merge request isc-projects/bind9!11060
2025-10-08 09:37:50 +02:00
Colin Vidal
383f14a36f remove dns_zone_dump
Zone API `dns_zone_dump` is dead code in 9.21 (and was also dead code at
least in 9.20), removing it.
2025-10-08 08:33:33 +02:00
Mark Andrews
0666ea491b fix: nil: Exclude lib/dns/include/dns/db.h from unsigned-int.spatch
Disable unsigned-int spatch in db.h to silence the following error from coccinelle v1.1:

```
EXN: Failure("./lib/dns/include/dns/db.h: 188: try to delete an expanded token: unsigned") in ./lib/dns/include/dns/db.h
```

Merge branch 'marka-cocci-fix' into 'main'

See merge request isc-projects/bind9!11062
2025-10-08 17:25:05 +11:00
Mark Andrews
d89a535040 Exclude lib/dns/include/dns/db.h from unsigned-int.spatch
Disable unsigned-int spatch in db.h to silence the following error
from coccinelle v1.1:

    EXN: Failure("./lib/dns/include/dns/db.h: 188: try to delete an expanded token: unsigned") in ./lib/dns/include/dns/db.h
2025-10-07 22:34:40 -07:00
Colin Vidal
f1a7cca213 fix: nil: synthrecord: fixing code nits
Fixing an (invalid) Coverity NULL-dereference (ns_pluginctx_t is always
defined) by enforcing a REQUIRE, and add a missing return value check.

Closes #1586

Merge branch 'colin/synthrecord-fixup' into 'main'

See merge request isc-projects/bind9!11053
2025-10-07 07:42:33 +02:00
Colin Vidal
99724cf9e2 synthrecord: fixing code nits
Fixing an (invalid) Coverity NULL-dereference (ns_pluginctx_t is always
defined) by enforcing a REQUIRE, and add a missing return value check.
2025-10-07 07:05:40 +02:00
Nicki Křížek
61029e1a06 fix: ci: 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.

Merge branch 'nicki/reuse-remove-m4-annotations' into 'main'

See merge request isc-projects/bind9!11056
2025-10-06 18:04:51 +02:00
Nicki Křížek
e77f349240 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.
2025-10-06 17:48:58 +02:00
Michał Kępień
b964d05105 rem: usr: Remove the "tkey-domain" statement
The previously deprecated ``tkey-domain`` statement has now been
removed.

Closes #4204

Merge branch '4204-remove-tkey-domain' into 'main'

See merge request isc-projects/bind9!10801
2025-10-06 14:56:10 +02:00
Michał Kępień
5d8aa1673a
Remove "tkey-domain"
Since the "tkey-domain" statement has been previously obsoleted, mark it
as ancient to make any attempts to use it a fatal error.
2025-10-06 14:14:33 +02:00
Michał Kępień
45b19a0655 rem: usr: Remove the "tkey-gssapi-credential" statement
The previously deprecated ``tkey-gssapi-credential`` statement and all
code related to it have now been removed.

Closes #4204

Merge branch '4204-remove-tkey-gssapi-credential' into 'main'

See merge request isc-projects/bind9!10800
2025-10-06 14:14:10 +02:00
Michał Kępień
abfec597b8
Simplify named_tkeyctx_fromconfig()
With the code handling the "tkey-gssapi-credential" statement removed,
the named_tkeyctx_fromconfig() function can no longer fail.  Update its
return type to void and revise its only call site accordingly.  Clean up
the function's documentation.  Declare the 's' helper variable only in
the scope it is used in to improve readability.
2025-10-06 13:19:50 +02:00
Michał Kępień
84b96df153
Remove "tkey-gssapi-credential" and related code
Since the "tkey-gssapi-credential" statement has been previously
deprecated, mark it as ancient and remove all code related to it:

  - The code processing the "tkey-gssapi-credential" statement in the
    configuration is the only user of the dst_gssapi_acquirecred() and
    dst_gssapi_releasecred() functions, so remove them along with their
    static helper functions and a backup definition of the
    GSS_KRB5_MECHANISM macro.

  - When calling gss_accept_sec_context(), pass GSS_C_NO_CREDENTIAL
    instead of the credential acquired by gss_acquire_cred().
    (Previously, NULL was passed when "tkey-gssapi-credential" was not
    specified.  Kerberos headers define GSS_C_NO_CREDENTIAL as
    (gss_cred_id_t) 0, so the logic was effectively the same, but using
    the GSS_C_NO_CREDENTIAL macro is more appropriate.)  This renders
    the 'cred' parameter for dst_gssapi_acceptctx() redundant, so remove
    it from the prototype of the latter.  (Contrary to what the
    documentation for dst_gssapi_acceptctx() claims,
    dst_gssapi_releasecred() does not need to subsequently be called to
    free the GSS-API context; a dst_gssapi_deletectx() call in
    gssapi_destroy() takes care of that when the dynamically generated
    TSIG key is destroyed.)

  - Remove the 'gsscred' member from struct dns_tkeyctx, along with its
    related dns_gss_cred_id_t typedef.

Update the relevant sections of the ARM and code comments accordingly.

This makes the "tkey-gssapi-keytab" statement the only way to set up
GSS-TSIG in named.

Remove redundant code from bin/named/tkeyconf.c while at it.
2025-10-06 13:19:50 +02:00