Commit Graph

39176 Commits

Author SHA1 Message Date
Michal Nowak
b5caae0633 Use clang-format-19 to update formatting 2024-08-22 10:25:22 +02:00
Michal Nowak
07179f0897 Update Clang to version 19
(cherry picked from commit ec62fc1399)
2024-08-22 08:16:08 +00:00
Mark Andrews
a59fe212a3 [9.18] chg: dev: Restore the ability to select individual unit tests
This adds the command line arguments: `-d` (debug), `-l` (list tests) and `-t test` (run this test) to the unit tests.

e.g. 
```
    % ./rdata_test -t zonemd
    [==========] selected: Running 1 test(s).
    [ RUN      ] zonemd
    [       OK ] zonemd
    [==========] selected: 1 test(s) run.
    [  PASSED  ] 1 test(s).
    % 
```

Closes #4579

Backport of MR !9384

Merge branch 'backport-4579-restore-the-ability-to-select-individual-unit-tests-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9386
2024-08-22 06:49:00 +00:00
Mark Andrews
b8cdd96ff4 Extend ISC_TEST_MAIN for debugging
ISC_TEST_MAIN now supports turning on/off debugging and
running individual tests.

(cherry picked from commit d8a6ff5c3e)
2024-08-22 06:04:59 +00:00
Evan Hunt
01ee251d13 fix: dev: fix clang-scan 19 warnings
Silence warnings generated by clang-scan.

Merge branch 'each-clang-scan-errors-bind-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9388
2024-08-22 05:29:09 +00:00
Evan Hunt
a1b2c85d84 ensure fd is non-negative before calling dup()
this silences a spurious warning from clang-scan 19.
2024-08-21 21:37:51 -07:00
Evan Hunt
2b58dc89f5 check for NULL before closing batchfp
this silences a warning from clang-scan 19.
2024-08-21 21:37:51 -07:00
Michal Nowak
9f9a63b04e [9.18] chg: ci: Add FreeBSD 14.1
Prereq: https://gitlab.isc.org/isc-projects/images/-/merge_requests/323

Backport of MR !9116

Merge branch 'backport-mnowak/freebsd-14.1-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9383
2024-08-22 04:11:26 +00:00
Michal Nowak
13dffbe415 Add FreeBSD 14.1
(cherry picked from commit bca3d09354)
2024-08-21 16:31:28 +00:00
Nicki Křížek
9a63dd7cb6 Merge tag 'v9.18.29' into bind-9.18 2024-08-21 16:36:08 +02:00
Arаm Sаrgsyаn
99ce0d6b83 [9.18] new: usr: Print the full path of the working directory in startup log messages
named now prints its initial working directory during startup and the
changed working directory when loading or reloading its configuration
file if it has a valid 'directory' option defined.

Closes #4731

Backport of MR !9362

Merge branch 'backport-4731-log-workdir-full-path-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9373
2024-08-21 09:25:34 +00:00
Aram Sargsyan
3832070e92 Print the full path of the working directory in startup log messages
named now prints its initial working directory during startup and the
changed working directory when loading or reloading its configuration
file if it has a valid 'directory' option defined.

(cherry picked from commit fd8e1d161f)
2024-08-21 08:20:55 +00:00
Petr Špaček
ca53636043 [9.18] chg: doc: Improve changelog & release notes workflow
Related: #4847

Backport of MR !9300

Merge branch 'backport-4847-changelog-sorting-and-tweaks-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9365
2024-08-20 12:03:01 +00:00
Nicki Křížek
c0ca052661 Omit MR link from release notes
When manually handling the release notes (due to rst markup, fixups
etc.), the different MR number for backports causes needless friction.
Remove the reference from release notes and keep it only in changelog
which isn't manually redacted.

(cherry picked from commit 993ba7cc7f)
2024-08-20 11:51:47 +00:00
Nicki Křížek
f3367b0a83 Sort changelog & relnotes entries by issue number
To reduce the friction when handling the release notes, it is preferable
to have the sections sorted by issue number, rather than merge order.
Fallback to commit subject line if unavailable (e.g. for changelog
entries).

(cherry picked from commit 759948fffe)
2024-08-20 11:51:47 +00:00
Petr Špaček
7660611578 chg: doc: Set up version for BIND 9.18.30
Merge branch 'nicki/set-up-version-and-release-notes-for-bind-9.18.30' into 'bind-9.18'

See merge request isc-projects/bind9!9356
2024-08-20 09:05:57 +00:00
Nicki Křížek
12b123d884 Remove release note draft file
Since we've started the new changelog & release notes process, the file
for drafting release notes for the version-to-be is no longer needed.

(cherry picked from commit c795cfec54)
2024-08-20 09:05:51 +00:00
Nicki Křížek
fee4b7d88a Update BIND version to 9.18.30-dev 2024-08-20 09:05:51 +00:00
Mark Andrews
e04839c08e fix: usr: Checking whether a EDDSA key was private or not was broken
Checking whether a EDDSA key was private or not was broken could lead to
attempting to sign records with a public key and this could cause a
segmentation failure (read of a NULL pointer) within OpenSSL.

Closes #4855

Merge branch '4855-openssleddsa_isprivate-needs-to-supply-a-buffer' into 'bind-9.18'

See merge request isc-projects/bind9!9329
2024-08-20 00:16:34 +00:00
Mark Andrews
defd84da6d Fix openssleddsa_isprivate
openssleddsa_isprivate failed to properly determine if a buffer was
private or not. Pass in a buffer so that EVP_PKEY_get_raw_private_key
fails when there is not a private key.
2024-08-19 23:38:18 +00:00
Nicki Křížek
e06cb3d93b [9.18] chg: ci: Allow rerun of unstable statschannel tests under TSAN
The test_traffic_json and test_traffic_xml occasionally fail when
running under TSAN. This happens in CI and is most likely a result of
some instability that doesn't seem to be easily reproduced.

Closes #4598

Backport of MR !9293

Merge branch 'backport-4598-mark-statschannel-test-flaky-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9351
2024-08-19 15:54:58 +00:00
Nicki Křížek
9a154d66ed Allow rerun of unstable statschannel tests under TSAN
The test_traffic_json and test_traffic_xml occasionally fail when
running under TSAN. This happens in CI and is most likely a result of
some instability that doesn't seem to be easily reproduced.

(cherry picked from commit ec2fc7680a)
2024-08-19 17:54:27 +02:00
Michal Nowak
d62a103045 rem: ci: Drop Oracle Linux 7
See #3729

Merge branch '3729-drop-oracle-linux-7' into 'bind-9.18'

See merge request isc-projects/bind9!9352
2024-08-19 15:41:26 +00:00
Michal Nowak
4af28f9ffc Drop Oracle Linux 7 2024-08-19 15:40:32 +00:00
Ondřej Surý
0da22fc138 [9.18] fix: dev: Change the NS_PER_SEC (and friends) from enum to #define
New version of clang (19) has introduced a stricter checks when mixing
integer (and float types) with enums.  In this case, we used enum {}
as C17 doesn't have constexpr yet.  Change the time conversion constants
to be #defined constants because of RHEL 8 compiler doesn't consider
static const unsigned int to be constant.

Closes #4845

Backport of MR !9313

Merge branch 'backport-4845-change-NS_PER_SEC-type-from-enum-to-integer-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9340
2024-08-19 15:32:14 +00:00
Ondřej Surý
a49079c84c Change the NS_PER_SEC (and friends) from enum to static const
New version of clang (19) has introduced a stricter checks when mixing
integer (and float types) with enums.  In this case, we used enum {}
as C17 doesn't have constexpr yet.  Change the time conversion constants
to be #defined constants because of RHEL 8 compiler doesn't consider
static const unsigned int to be constant.

(cherry picked from commit b03e90e0d4)
2024-08-19 15:32:03 +00:00
Arаm Sаrgsyаn
26df9f6255 [9.18] chg: dev: Process also the ISC_R_CANCELED result code in rpz_rewrite()
Log canceled resolver queries (e.g. when shutting down a hung
fetch) in DEBUG3 level instead of DEBUG1 which is used for the
"unrecognized" result codes.

Closes #4797

Backport of MR !9148

Merge branch 'backport-4797-rpz_rewrite-add-ISC_R_CANCELED-processing-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9348
2024-08-19 14:17:22 +00:00
Aram Sargsyan
30238a6172 Process also the ISC_R_CANCELED result code in rpz_rewrite()
Log  canceled queries (e.g. when shutting down a hung fetch)
in DEBUG3 level instead of DEBUG1 which is used for the
"unrecognized" result codes.

(cherry picked from commit 8bb9568467)
2024-08-19 11:45:44 +00:00
Ondřej Surý
b9f0df6097 [9.18] fix: dev: Check the result of dirfd() before calling unlinkat()
Instead of directly using the result of dirfd() in the unlinkat() call,
check whether the returned file descriptor is actually valid.  That
doesn't really change the logic as the unlinkat() would fail with
invalid descriptor anyway, but this is cleaner and will report the right
error returned directly by dirfd() instead of EBADF from unlinkat().

Closes #4853

Backport of MR !9316

Merge branch 'backport-4853-check-result-of-dirfd-in-isc_log-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9344
2024-08-19 11:23:13 +00:00
Ondřej Surý
e08d3a7932 Check the result of dirfd() before calling unlinkat()
Instead of directly using the result of dirfd() in the unlinkat() call,
check whether the returned file descriptor is actually valid.  That
doesn't really change the logic as the unlinkat() would fail with
invalid descriptor anyway, but this is cleaner and will report the right
error returned directly by dirfd() instead of EBADF from unlinkat().

(cherry picked from commit 59f4fdebc0)
2024-08-19 11:23:05 +00:00
Ondřej Surý
887a61a408 [9.18] chg: dev: Remove code to read and parse /proc/net/if_inet6 on Linux
The getifaddr() works fine for years, so we don't have to
keep the callback to parse /proc/net/if_inet6 anymore.

Closes #4852

Backport of MR !9315

Merge branch 'backport-4852-handle-errors-from-rewind-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9342
2024-08-19 11:01:43 +00:00
Ondřej Surý
bd8a1abc80 Remove code to read and parse /proc/net/if_inet6 on Linux
The getifaddr() works fine for years, so we don't have to
keep the callback to parse /proc/net/if_inet6 anymore.

(cherry picked from commit 2fbf9757b8)
2024-08-19 09:46:07 +00:00
Ondřej Surý
e707ee0946 Ignore errno returned from rewind() in the interface iterator
The clang-scan 19 has reported that we are ignoring errno after the call
to rewind().  As we don't really care about the result, just silence the
error, the whole code will be removed in the development version anyway
as it is not needed.

(cherry picked from commit dda5ba53df)
2024-08-19 09:46:07 +00:00
Ondřej Surý
11add5e520 [9.18] chg: test: For TSAN builds, use libraries from /opt/tsan
The new TSAN images, the TSAN-enabled images install libraries to
opt/tsan, synchronize the configure options and CFLAGS between gcc:tsan
and clang:tsan images and set the PKG_CONFIG_PATH to /opt/tsan/lib.

Additionally, drop Debian bullseye that's EOL now.

Backport of MR !9324

Merge branch 'backport-ondrej/use-staging-tsan-images-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9326
2024-08-16 08:40:48 +00:00
Michal Nowak
0bfdc2d55a Retire Debian 11 "bullseye"
A follow-up to isc-projects/bind9!9324.
2024-08-16 09:07:17 +02:00
Ondřej Surý
c95a3600e9 Remove Debian bullseye jobs
The Debian bullseye has reached end-of-life, remove it from the CI.

(cherry picked from commit d02d6af2b9)
2024-08-16 09:07:17 +02:00
Ondřej Surý
60833e5dbe For TSAN builds, use libraries from /opt/tsan
The new TSAN images, the TSAN-enabled images install libraries to
/opt/tsan, synchronize the configure options and CFLAGS between gcc:tsan
and clang:tsan images and set the PKG_CONFIG_PATH to /opt/tsan/lib.

(cherry picked from commit 2a46396f29)
2024-08-16 09:07:17 +02:00
Nicki Křížek
3a8082c02b [9.18] chg: ci: Check that generated changelog entry doesn't break docs build
Since changelog entries are now generated from MR title&description,
they aren't sanity checked during a regular docs build. If these contain
special sequences that will be interpreted by sphinx, it might result in
breakage that would have to be amended manually.

Add a CI check to test a doc build with changelog after the MR is merged
to ensure that the docs can be built when generating changelog from
pristine git contents.

Related #4847

Backport of MR !9294

Merge branch 'backport-nicki/add-changelog-entry-check-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9312
2024-08-14 19:15:25 +00:00
Nicki Křížek
7f057b379d Use python3 in shebang lines for util scripts
Some distributions (notably, debian bookworm) have deprecated the
`python` interpreter in favor of `python3`. Since our scripts are
python3 anyway, use the proper numbered version in shebang to make
scripts easily executable.

(cherry picked from commit 480dcdef9a)
2024-08-14 15:43:39 +00:00
Nicki Křížek
429299cbe0 Check that generated changelog entry doesn't break docs build
Since changelog entries are now generated from MR title&description,
they aren't sanity checked during a regular docs build. If these contain
special sequences that will be interpreted by sphinx, it might result in
breakage that would have to be amended manually.

Add a CI check to test a doc build with changelog after the MR is merged
to ensure that the docs can be built when generating changelog from
pristine git contents.

(cherry picked from commit bf69e8f149)
2024-08-14 15:43:39 +00:00
Nicki Křížek
7b428c681a [9.18] chg: doc: Fix ordering of gitchangelog replacement regexs
Ensure the issue number in changelog isn't accidentally removed for backport MRs.

Backport of MR !9295

Merge branch 'backport-nicki/fix-gitchangelog-replacement-regexs-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9309
2024-08-14 15:20:55 +00:00
Nicki Křížek
46310aa771 Fix ordering of gitchangelog replacement regexs
Prior to this change, the issue number could be accidentally removed by
the `Backport of` text, depending on the order of the MR description
contents. Ensure all the removals for text in MR descriptions happen
first, and only then run the replacement regex for issue number, which
appends it to the end of the last non-empty line (which will no longer
be removed).

The only removals that happen after the replacement are guaranteed to
always happen after the end of MR description, since they're
auto-generated by gitlab when the merge commit is created, thus won't
affect the line with the issue number.

Also remove the needless isc-private/bind9 replacement. References
to private MRs are already removed by the very first regex.

(cherry picked from commit 37274bebe1)
2024-08-14 15:11:59 +00:00
Petr Špaček
a697ae6d0b Update BIND version for release v9.18.29 2024-08-13 16:13:29 +02:00
Petr Špaček
58d5acc2aa Prepare documentation for BIND 9.18.29
Merge branch 'pspacek/prepare-documentation-for-bind-9.18.29' into 'v9.18.29-release'

See merge request isc-private/bind9!730
2024-08-13 13:57:31 +00:00
Petr Špaček
1ad17e870a Tweak and reword release notes
Co-authored-by: Greg Choules <greg@isc.org>
2024-08-13 15:09:41 +02:00
Petr Špaček
2b491b4007 Prepare documentation for BIND 9.18.29 2024-08-13 14:38:38 +02:00
Petr Špaček
8f0d9b7fca Re-apply release note tweaks from the 9.21.0 release 2024-08-13 14:36:20 +02:00
Petr Špaček
7048b2d471 Re-apply changelog formatting tweaks from the 9.21.0 release 2024-08-13 14:24:13 +02:00
Petr Špaček
b3af742926 Generate release documentation 2024-08-13 14:17:00 +02:00
Michał Kępień
944d0dc942 [9.18] fix: usr: reconfigure catz member zones during named reconfiguration
During a reconfiguration named wasn't reconfiguring catalog zones' member zones. This has been fixed.

Backport of MR !695

Closes isc-projects/bind9#4733

Merge branch '4733-fix-catz-member-zones-reconfigure-9.18' into 'v9.18.29-release'

See merge request isc-private/bind9!727
2024-08-09 07:32:07 +00:00