Commit Graph
38298 Commits
Author SHA1 Message Date
Ondřej Surý eaadc30b4d Ignore clang-format reformat 2023-11-13 17:13:58 +01:00
Ondřej Surý 6a85e79c0b Reformat sources with up-to-date clang-format-17 2023-11-13 17:13:07 +01:00
Petr Špaček 957eb31680 Merge branch 'pspacek/set-up-version-and-release-notes-for-bind-9.18.21' into 'bind-9.18'
Set up version and release notes for BIND 9.18.21

See merge request isc-projects/bind9!8483
2023-11-10 13:20:57 +00:00
Petr Špaček c1fbdc6c5a Set up release notes for BIND 9.18.21 2023-11-10 14:04:03 +01:00
Petr Špaček 9a2665efde Update BIND version to 9.18.21-dev 2023-11-10 14:04:03 +01:00
Michał Kępień 450019ba83 Merge branch 'ondrej/remove-i386-as-fully-supported-platform-9.18' into 'bind-9.18'
[9.18] Move i386 and armhf to the Best-Effort category

See merge request isc-projects/bind9!8475
2023-11-08 12:14:02 +00:00
Ondřej SurýandMichał Kępień ac63acdb3b Split the CPU architectures into more categories
Move i386 and other less common or ancient CPU architectures to
Community-Maintened category.  Move armhf and arm64 to the Best-Effort
category as we do test them as part of development work (new MacBooks
are all arm64), we don't really do full set of tests in the CI.

(cherry picked from commit db94c7526c)
2023-11-08 13:01:40 +01:00
Evan Hunt acbe660771 Merge branch 'each-fix-ntadump' into 'bind-9.18'
[9.18] Fix missing newlines in output of `rndc nta -dump`

See merge request isc-projects/bind9!8466
2023-11-03 13:08:07 +00:00
Evan Hunt 9a4ccdf4fc CHANGES for [GL !8454]
(cherry picked from commit 37b101b6e2)
2023-11-03 08:28:18 +01:00
Tony FinchandEvan Hunt 1b138a5883 Fix missing newlines in output of rndc nta -dump
There were no newlines between each view in the list of negative trust
anchors.

(cherry picked from commit 61b245e318)
2023-11-03 08:28:18 +01:00
Mark Andrews 27cf95ac98 Merge branch '4101-update-b-root-server-net-addresses-bind-9.18' into 'bind-9.18'
[9.18] Resolve "Update b.root-server.net addresses"

See merge request isc-projects/bind9!8462
2023-11-02 17:19:05 +00:00
Mark Andrews 3b55342a4b Add release note for [GL #4101]
(cherry picked from commit c7a06b1fa1)
2023-11-03 03:44:30 +11:00
Mark Andrews a4c447f9e3 Add CHANGES note for [GL #4101]
(cherry picked from commit b9bba29c5e)
2023-11-03 03:44:27 +11:00
Mark Andrews ba7cfd2f92 Suppress reporting upcoming changes in root hints
To reduce the amount of log spam when root servers change their
addresses keep a table of upcoming changes by expected date and time
and suppress reporting differences for them until then.

Add initial entry for B.ROOT-SERVERS.NET, Nov 27, 2023.

(cherry picked from commit b69100b747)
2023-11-03 03:43:49 +11:00
Mark Andrews 15e13bd523 Update b.root-servers.net IP addresses
This covers both root hints and the default primaries for the root
zone mirror.  The official change date is Nov 27, 2023.

(cherry picked from commit 2ca2f7e985)
2023-11-03 03:43:49 +11:00
Mark Andrews 1664f95c66 Merge branch '4406-cleanup-b-in-dnstap-main-bind-9.18' into 'bind-9.18'
[9.18] Resolve "cleanup 'b' in dnstap-read main"

See merge request isc-projects/bind9!8460
2023-11-02 10:53:15 +00:00
Mark Andrews b4352bbc6f Cleanup dead code in dnstap-read
Remove 'b' from main as it is unused.

(cherry picked from commit 0482451f84)
2023-11-02 10:09:44 +00:00
Tom Krizek 09c2dab315 Merge branch '4401-make-check-fix-junitxml-output-processing-9.18' into 'bind-9.18'
[9.18] Fix pytest junitxml output processing for make check

See merge request isc-projects/bind9!8459
2023-11-02 09:30:31 +00:00
Tom Krizek 8c8ff7faea Fix pytest junitxml output processing for make check
Not every element tagged `skipped` in the JUnitXML tree has to contain
the `type` attribute. An example of that is a test that results in
xpass.

This has been verified with pytest version 7.4.2 and prior.

(cherry picked from commit ba25ecd2d2)
2023-11-02 10:02:51 +01:00
Michał Kępień 9199555db9 Merge branch 'michal/add-a-release-signing-job-to-gitlab-ci-9.18' into 'bind-9.18'
[9.18] Add a release signing job to GitLab CI

See merge request isc-projects/bind9!8457
2023-11-02 06:36:22 +00:00
Michał Kępień dd217e1acf Add a release signing job to GitLab CI
Add a GitLab CI job that is only run for tags and makes signing BIND 9
releases more convenient by utilizing a signing VM that is registered as
a GitLab CI runner.  This pulls the signing process into the release
pipelines in GitLab CI, resulting in job artifacts containing the
signatures for BIND 9 releases, which in turns simplifies the subsequent
release publication steps.

(cherry picked from commit a3a91a1557)
2023-11-02 07:23:38 +01:00
Michał Kępień 8f1dd1751e Merge branch '4404-improve-stability-of-the-jemalloc-workaround' into 'bind-9.18'
Improve stability of the jemalloc workaround

See merge request isc-projects/bind9!8453
2023-11-01 17:04:36 +00:00
Michał Kępień e974f98eb4 Improve stability of the jemalloc workaround
When jemalloc is linked into BIND 9 binaries (rather than preloaded or
used as the system allocator), depending on the decisions made by the
linker, the malloc() symbol may be resolved to a non-jemalloc
implementation at runtime.  Such a scenario foils the workaround added
in commit 2da371d005 as it relies on the
jemalloc implementation of malloc() to be executed.

Handle the above scenario properly by calling mallocx() explicitly
instead of relying on the runtime resolution of the malloc() symbol.
Use trivial wrapper functions to avoid the need to copy multiple #ifdef
lines from lib/isc/mem.c to lib/isc/trampoline.c.  Using a simpler
alternative, e.g. calling isc_mem_create() & isc_mem_destroy(), was
already considered before and rejected, as described in the log message
for commit 2da371d005.

ADJUST_ZERO_ALLOCATION_SIZE() is only used in isc__mem_free_noctx() to
concisely avoid compilation warnings about its 'size' parameter not
being used when building against jemalloc < 4.0.0 (as sdallocx() is then
redefined to dallocx(), which has a different signature).
2023-11-01 18:04:07 +01:00
Tom Krizek 3488ada94b Merge branch 'tkrizek/perf-tests-shotgun-9.18' into 'bind-9.18'
[9.18] Add DNS Shotgun performance tests to nightly pipelines

See merge request isc-projects/bind9!8452
2023-11-01 14:18:14 +00:00
Tom Krizek a303fa25ac Update release checklist
Add a step to verify results of shotgun:* jobs.

(cherry picked from commit 322dfbf6a9)
2023-11-01 14:41:40 +01:00
Tom Krizek 61f1305b4b ci: trigger a DNS Shotgun performance test
Run comparative performance tests against the latest released version of
the same branch. This is done for different protocols with an
appropriate load the server is expected to be able to handle.

Currently, the results need to be inspected manually, since a success of
the job doesn't indicate there is no issue. Instead, the job provides an
URL to an overview with latency, memory and CPU charts which display the
test results with the current code against the reference version. There
should be no major unexplained and reproducible differences in the
charts.

(cherry picked from commit c7fcb1ca60)
2023-11-01 14:39:31 +01:00
Tom Krizek 1ff49ab199 util: script to get DNS Shotgun pipeline results
The shotgun performance tests are executed in a different repository, in
a couple of different pipelines. To hide away the complexity, this
script takes the pipeline ID of the triggered pipeline and then takes
care of the rest - waits for the pipeline to finish, locates the child
pipeline and the relevant results. The output from this script is a
convenient link to the charts with the results once they're available.

GitLab also has a mechanism which can wait for another pipeline.
However, it can't be utilized here, since there are variables which
need to be passed in when the pipeline is triggered (like protocol to be
tested, load, runtime etc.). This isn't currently supported by the
GitLab feature.

(cherry picked from commit ff32421a64)
2023-11-01 14:39:31 +01:00
Tom Krizek 4ad89d8e34 ci: move baseline version detection into separate job
Multiple CI jobs may utilize a baseline version, i.e. the version that
the current code should be tested against when doing comparative
testing. To avoid repeating the non-trivial detection of the baseline
version, move it into a separate job which creates an environment file
that subsequent jobs may require via `needs` option. It is then possible
to use the variable(s) defined in the script section of the new job.

(cherry picked from commit ef4e2d2964)
2023-11-01 14:39:29 +01:00
Matthijs Mekking 51f3b118dd Merge branch '4355-serve-stale-unexpected-recursion-9.18' into 'bind-9.18'
[9.18] Don't ignore authoritative local zones when in serve-stale mode

See merge request isc-projects/bind9!8446
2023-10-31 13:32:52 +00:00
Matthijs Mekking 87e21a716e Add release note and CHANGES for #4355
(cherry picked from commit ac19d43a32)
2023-10-31 14:01:21 +01:00
Matthijs Mekking 76c9019403 Don't ignore auth zones when in serve-stale mode
When serve-stale is enabled and recursive resolution fails, the fallback
to lookup stale data always happens in the cache database. Any
authoritative data is ignored, and only information learned through
recursive resolution is examined.

If there is data in the cache that could lead to an answer, and this can
be just the root delegation, the resolver will iterate further, getting
closer to the answer that can be found by recursing down the root, and
eventually puts the final response in the cache.

Change the fallback to serve-stale to use 'query_getdb()', that finds
out the best matching database for the given query.

(cherry picked from commit 2322425016)
2023-10-31 13:52:08 +01:00
Matthijs Mekking 784b096098 Test case for issue #4355
Add a test case where serve-stale is enabled on a server that also
servers a local authoritative zone.

The particular case tests a lame delegation and checks if falling
back to serving stale data does not attempt to retrieve the query
by recursing from the root down.

(cherry picked from commit e196ba6168)
2023-10-31 13:52:01 +01:00
Michal Nowak 15f664171d Merge branch 'mnowak/openbsd-7.4-9.18' into 'bind-9.18'
[9.18] Add OpenBSD 7.4

See merge request isc-projects/bind9!8434
2023-10-30 12:18:34 +00:00
Michal Nowak 0c3bd09595 Add OpenBSD 7.4
(cherry picked from commit f8733fc051)
2023-10-30 12:12:50 +01:00
Mark Andrews 3a7c7693d7 Merge branch '4393-only-declare-engine-when-used' into 'bind-9.18'
Resolve "error: variable 'engine' set but not used on OpenBSD 7.4"

See merge request isc-projects/bind9!8436
2023-10-27 05:56:25 +00:00
Mark Andrews 8b11061b91 Only declare 'engine' if it is used
Move the declaration of 'engine' within the appropriate #if/#endif
block.  Remove the UNUSED(engine) from the #else block.
2023-10-27 10:49:38 +11:00
Arаm Sаrgsyаn 9c50e0fb8d Merge branch 'aram/fix-lock-file-option-and--X-argument-issues-9.18' into 'bind-9.18'
[9.18] Fix assertion failure when using -X none and lock-file in configuration

See merge request isc-projects/bind9!8433
2023-10-26 13:49:30 +00:00
Aram Sargsyan 08de15e5f2 Do not warn about lock-file option change when -X is used
When -X is used the 'lock-file' option change detection condition
is invalid, because it compares the 'lock-file' option's value to
the '-X' argument's value instead of the older 'lock-file' option
value (which was ignored because of '-X').

Don't warn about changing 'lock-file' option if '-X' is used.

(cherry picked from commit 41945b32d7)
2023-10-26 13:12:57 +00:00
Aram Sargsyan 4ed32424c8 Fix an invalid condition check when detecting a lock-file change
It is obvious that the '!cfg_obj_asstring(obj)' check should be
'cfg_obj_asstring(obj)' instead, because it is an AND logic chain
which further uses 'obj' as a string.

Fix the error.

(cherry picked from commit bc891e749f)
2023-10-26 13:12:52 +00:00
Aram Sargsyan 1bff704681 Fix assertion failure when using -X none and lock-file in configuration
When 'lock-file <lockfile>' is used in configuration at the same time
as using '-X none' in 'named' invocation, there is an invalid
logic that would lead to a isc_mem_strdup() call on a NULL value.

Also, contradicting to ARM, 'lock-file none' is overriding the '-X'
argument.

Fix the overall logic, and make sure that the '-X' takes precedence to
'lock-file'.

(cherry picked from commit fc2dd09390)
2023-10-26 13:12:47 +00:00
Ondřej Surý cdd68a3700 Merge branch '4386-fix-assertion-failure-when-using--X-named-option-9.18' into 'bind-9.18'
[9.18] Fix assertion failure when using -X and lock-file in configuration

See merge request isc-projects/bind9!8430
2023-10-26 12:07:54 +00:00
Ondřej Surý cdf7c34a58 Add CHANGES and release note for [GL #4386]
(cherry picked from commit 8294a43acf)
2023-10-26 13:59:46 +02:00
Ondřej Surý d9fc95f842 Fix assertion failure when using -X and lock-file in configuration
When 'lock-file <lockfile1>' was used in configuration at the same time
as using `-X <lockfile2>` in `named` invocation, there was an invalid
logic that would lead to a double isc_mem_strdup() call on the
<lockfile2> value.

Skip the second allocation if `lock-file` is being used in
configuration, so the <lockfile2> is used only single time.

(cherry picked from commit 4f68def5e9)
2023-10-26 13:59:46 +02:00
Tom Krizek bf330dc3cc Merge branch 'tkrizek/shfmt-9.18' into 'bind-9.18'
[9.18] Enforce shell script codestyle with shfmt

See merge request isc-projects/bind9!8429
2023-10-26 11:59:05 +00:00
Tom Krizek 914654efeb Ignore shell script formatting in git blame
(cherry picked from commit c8fb0b48e0)
2023-10-26 13:07:44 +02:00
Tom Krizek 5bd67594b1 Add editorconfig file for shell style
(cherry picked from commit bebdfa13be)
2023-10-26 13:06:55 +02:00
Tom Krizek a17230fefb Run shfmt in CI
Ensure our shell script format stays consistent in the future.

(cherry picked from commit b6505ff573)
2023-10-26 13:06:53 +02:00
Tom Krizek b8b9b4ac2c Reformat shell scripts with shfmt
All changes in this commit were automated using the command:

shfmt -w -i 2 -ci -bn . $(find . -name "*.sh.in")

By default, only *.sh and files without extension are checked, so
*.sh.in files have to be added additionally. (See mvdan/sh#944)

(manually replayed commit 4cb8b13987)
2023-10-26 13:05:00 +02:00
Mark Andrews fd2e6f90a4 Merge branch '4387-lock-file-is-deleted-on-exit-even-if-lock-acquisition-failed-bind-9.18' into 'bind-9.18'
[9.18] Resolve "lock file is deleted on exit even if lock acquisition failed"

See merge request isc-projects/bind9!8424
2023-10-26 07:47:14 +00:00
Mark Andrews 81b5a94ad8 Add release note for [GL #4387]
(cherry picked from commit c1b8279ebb)
2023-10-26 18:05:26 +11:00