Commit Graph

38316 Commits

Author SHA1 Message Date
Evan Hunt
4e31215c20 Merge branch '3983-secondary-loadtime-bind-9.18' into 'bind-9.18'
[9.18] set loadtime during initial transfer of a secondary zone

See merge request isc-projects/bind9!8498
2023-11-16 05:53:00 +00:00
Evan Hunt
6b47d98a95 set loadtime during initial transfer of a secondary zone
when transferring in a non-inline-signing secondary for the first time,
we previously never set the value of zone->loadtime, so it remained
zero. this caused a test failure in the statschannel system test,
and that test case was temporarily disabled.  the value is now set
correctly and the test case has been reinstated.

(cherry picked from commit 9643281453)
2023-11-15 18:06:58 -08:00
Mark Andrews
95d75b653c Merge branch '4433-supplied-buffer-too-large-in-wire_test-c-bind-9.18' into 'bind-9.18'
[9.18] Resolve "Supplied Buffer Too Large in wire_test.c"

See merge request isc-projects/bind9!8497
2023-11-16 02:01:21 +00:00
Mark Andrews
617f73426d Adjust comment to have correct message limit value
(cherry picked from commit 560c245971)
2023-11-16 12:22:08 +11:00
Mark Andrews
dc0671e724 Adjust message buffer sizes in test code
(cherry picked from commit cbfcdbc199)
2023-11-16 12:22:08 +11:00
Mark Andrews
ab2a450887 Check that buffer length in dns_message_renderbegin
The maximum DNS message size is 65535 octets. Check that the buffer
being passed to dns_message_renderbegin does not exceed this as the
compression code assumes that all offsets are no bigger than this.

(cherry picked from commit a069513234)
2023-11-16 12:22:08 +11:00
Michał Kępień
d30902f9cf Merge tag 'v9.18.20' into bind-9.18 2023-11-15 14:57:53 +01:00
Michal Nowak
ed78bc4a01 Merge branch 'mnowak/fedora-39-9.18' into 'bind-9.18'
[9.18] Add Fedora 39

See merge request isc-projects/bind9!8491
2023-11-14 19:21:02 +00:00
Michal Nowak
59b2452c7a Add Fedora 39
(cherry picked from commit cdb4b97b28)
2023-11-14 19:34:52 +01:00
Ondřej Surý
50a7594475 Merge branch 'ondrej-clang-format-17-bind-9.18' into 'bind-9.18'
Reformat sources with up-to-date clang-format-17

See merge request isc-projects/bind9!8489
2023-11-13 16:22:04 +00:00
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ń
396c2b43f4 Update BIND version for release v9.18.20 2023-11-09 13:41:09 +01:00
Michał Kępień
16c123df5e Add a CHANGES marker 2023-11-09 13:41:09 +01:00
Michał Kępień
69c60db1d4 Merge branch 'michal/prepare-documentation-for-bind-9.18.20' into 'v9.18.20-release'
Prepare documentation for BIND 9.18.20

See merge request isc-private/bind9!592
2023-11-09 12:40:14 +00:00
Michał Kępień
965405211a Reorder release notes 2023-11-09 13:10:33 +01:00
Michał Kępień
d12076f9f4 Tweak and reword release notes 2023-11-09 13:10:33 +01:00
Michał Kępień
87c0ac8cf9 Prepare release notes for BIND 9.18.20 2023-11-09 13:10:33 +01:00
Michał Kępień
d4cd418c94 Tweak CHANGES entry for [GL #4260] 2023-11-09 13:10:33 +01:00
Michał Kępień
d50b55ef6d Tweak CVE-2021-25219 reference 2023-11-09 13:10:33 +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ý
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 Finch
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