Commit Graph

35538 Commits

Author SHA1 Message Date
Petr Špaček
5bd6ce99ff Set up release notes for BIND 9.16.46 2023-11-10 14:05:53 +01:00
Petr Špaček
a1c92efc53 Update BIND version to 9.16.46-dev 2023-11-10 14:05:53 +01:00
Mark Andrews
70a99fa770 Merge branch '4101-update-b-root-server-net-addresses-bind-9.16' into 'bind-9.16'
[9.16] Resolve "Update b.root-server.net addresses"

See merge request isc-projects/bind9!8463
2023-11-02 17:18:06 +00:00
Mark Andrews
eda6bbc6cf Add release note for [GL #4101]
(cherry picked from commit c7a06b1fa1)
2023-11-03 03:45:25 +11:00
Mark Andrews
1448a2c321 Add CHANGES note for [GL #4101]
(cherry picked from commit b9bba29c5e)
2023-11-03 03:45:24 +11:00
Mark Andrews
066de399bd 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:44:43 +11:00
Mark Andrews
8924adca61 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:44:43 +11:00
Michał Kępień
535d8e820e Merge branch 'michal/add-a-release-signing-job-to-gitlab-ci-9.16' into 'bind-9.16'
[9.16] Add a release signing job to GitLab CI

See merge request isc-projects/bind9!8458
2023-11-02 06:59:11 +00:00
Michał Kępień
402d8363fc 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:29:31 +01:00
Michał Kępień
1ddcb5d6c2 Merge branch '4355-revert-9.16' into 'bind-9.16'
Revert GL !8447

See merge request isc-projects/bind9!8456
2023-11-01 17:31:03 +00:00
Michał Kępień
4d4b209abd Revert GL !8447
This reverts commit bd572bb5af
(c02925763e,
3aeac8e2a9, and
57d8e2949d), reversing changes made to
28c92c9b26.
2023-11-01 18:26:33 +01:00
Matthijs Mekking
bd572bb5af Merge branch '4355-serve-stale-unexpected-recursion-v9_16' into 'bind-9.16'
[9.16] Don't ignore authoritative local zones when in serve-stale mode

See merge request isc-projects/bind9!8447
2023-10-31 15:08:58 +00:00
Matthijs Mekking
57d8e2949d Add release note and CHANGES for #4355
(cherry picked from commit ac19d43a32)
2023-10-31 15:05:02 +01:00
Matthijs Mekking
3aeac8e2a9 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 15:04:55 +01:00
Matthijs Mekking
c02925763e 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 15:04:28 +01:00
Mark Andrews
28c92c9b26 Merge branch '4397-util-checklibs-sh-script-doesn-t-work' into 'bind-9.16'
Resolve "util/checklibs.sh script doesn't work"

See merge request isc-projects/bind9!8441
2023-10-31 04:20:25 +00:00
Mark Andrews
d151b570cc Work around broken Bash implementation on MacOS 13.6.1
The bash implementation on MacOS 13.6.1 is:

% /bin/sh --version
GNU bash, version 3.2.57(1)-release (arm64-apple-darwin22)
Copyright (C) 2007 Free Software Foundation, Inc.

This fails to handle 'case' inside of $().  Reimplement using
if/elif/fi.
2023-10-31 03:15:59 +00:00
Michal Nowak
7ace49ac75 Merge branch 'mnowak/openbsd-7.4-9.16' into 'bind-9.16'
[9.16] Add OpenBSD 7.4

See merge request isc-projects/bind9!8435
2023-10-30 11:11:04 +00:00
Michal Nowak
6899db8f7d Add OpenBSD 7.4
(cherry picked from commit f8733fc051)
2023-10-30 11:37:25 +01:00
Mark Andrews
8df01f29f4 Merge branch '4393-only-declare-engine-when-used-bind-9.16' into 'bind-9.16'
[9.16] Resolve "error: variable 'engine' set but not used on OpenBSD 7.4"

See merge request isc-projects/bind9!8440
2023-10-27 23:43:18 +00:00
Mark Andrews
5f8ac682c9 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.

(cherry picked from commit 8b11061b91)
2023-10-28 09:01:51 +11:00
Tom Krizek
d040a2d178 Merge branch 'tkrizek/shfmt-9.16' into 'bind-9.16'
[9.16] Enforce shell script codestyle with shfmt

See merge request isc-projects/bind9!8431
2023-10-26 14:02:46 +00:00
Tom Krizek
794c99f4c8 Fix incorrect conversion in rpz system test
Backslashes weren't handled properly when formatting the code with
shfmt.

Related https://github.com/mvdan/sh/issues/1041
2023-10-26 15:25:38 +02:00
Tom Krizek
bc638105bc Add editorconfig file for shell style
(cherry picked from commit bebdfa13be)
2023-10-26 14:08:02 +02:00
Tom Krizek
5e369523e1 Run shfmt in CI
Ensure our shell script format stays consistent in the future.

(manually picked from commit b6505ff573)
2023-10-26 14:08:01 +02:00
Tom Krizek
ce014dbf4e Reformat shell scripts with shfmt
All changes in this commit were automated using the command:

  shfmt -w -i 2 -ci -bn bin/tests/system/ util/ $(find bin/tests/system/ -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:24:51 +02:00
Michal Nowak
0cbe4011bf Merge branch 'mnowak/drop-ubuntu-bionic-9.16' into 'bind-9.16'
[9.16] Drop Ubuntu 18.04 "bionic"

See merge request isc-projects/bind9!8414
2023-10-23 10:35:08 +00:00
Michal Nowak
71da3f984e Drop Ubuntu 18.04 "bionic"
Ubuntu 18.04 LTS (Bionic Beaver) is EOL.

Move gcc:bionic:amd64-specific CFLAGS and EXTRA_CONFIGURE to
gcc:jammy:amd64.

(cherry picked from commit 6d100c4a32)
2023-10-23 12:00:50 +02:00
Michal Nowak
fd0edc6406 Merge branch '4152-reproducer-stack-exhaustion-9.16' into 'bind-9.16'
[9.16] Add test for CVE-2023-3341

See merge request isc-projects/bind9!8412
2023-10-20 15:19:48 +00:00
Michal Nowak
43947e7198 Add test for CVE-2023-3341
(cherry picked from commit 7d1834b250)
2023-10-20 16:26:49 +02:00
Mark Andrews
af80b17b48 Merge branch '4378-uv_sleep-wrapper-misses-parentheses-causing-unit-test-hang-bind-9.18-bind-9.16' into 'bind-9.16'
[9.16] Resolve "uv_sleep wrapper misses parentheses, causing unit test hang"

See merge request isc-projects/bind9!8406
2023-10-20 00:54:10 +00:00
Mark Andrews
a846180a01 Add parentheses around macro arguement 'msec'
The is needed to ensure that the multiplication is correctly done.
This was reported by Jinmei Tatuya.

(cherry picked from commit ebfbad29c1)
2023-10-20 11:26:04 +11:00
Michal Nowak
0d447bceae Merge branch 'mnowak/llvm-17-9.16' into 'bind-9.16'
[9.16] Update clang to version 17

See merge request isc-projects/bind9!8396
2023-10-17 16:40:39 +00:00
Michal Nowak
531c96b8ed Update the source code formatting using clang-format-17 2023-10-17 17:56:31 +02:00
Michal Nowak
12679a98b3 Update clang to version 17
(cherry picked from commit 625a4ffc7a)
2023-10-17 17:52:02 +02:00
Mark Andrews
67f9be9cd2 Merge branch '4365-update-dangerfile-py-to-know-about-cve-bind-9.16' into 'bind-9.16'
[9.16] Resolve "Update dangerfile.py to know about `:cve:`"

See merge request isc-projects/bind9!8392
2023-10-17 03:38:23 +00:00
Mark Andrews
d773b15561 Update dangerfile.py to know about ':cve:'
(cherry picked from commit dbc2167325)
2023-10-17 13:19:28 +11:00
Petr Špaček
24b6edfccf Merge branch 'pspacek/doc-and-build-tweaks-9.16' into 'bind-9.16'
[9.16] Describe BIND threat model

See merge request isc-projects/bind9!8380
2023-10-13 08:10:10 +00:00
Petr Špaček
3914b87eaf Describe BIND threat model
Basically all local data is considered trusted, and proper ACLs and
limits need to be explicitly configured. We are also free to let
protocol non-compliant servers burn in flames.

(cherry picked from commit fc907baa7f)
2023-10-13 10:01:09 +02:00
Michał Kępień
545fbdf953 Merge branch 'michal/install-pdf-dependencies-on-demand-in-gitlab-ci-9.16' into 'bind-9.16'
[9.16] Install PDF dependencies on demand in GitLab CI

See merge request isc-projects/bind9!8374
2023-10-12 13:14:39 +00:00
Michał Kępień
37bf6c7ed0 Install PDF dependencies on demand in GitLab CI
Building the PDF version of the BIND 9 ARM requires TeX Live to be
present on the build host.  A TeX Live installation takes up several
gigabytes of disk space.  This significantly increases the size of the
Debian Docker images that include that toolchain, even though only two
GitLab CI jobs actually use it.

Instead of including TeX Live in the Docker image itself, install the
former on demand in a new GitLab CI job that only tests building the PDF
version of the BIND 9 ARM.  Do the same for qpdf, a tool used for
checking the PDF output produced by TeX Live.  This enables the size of
the "base" Docker image (which a lot of GitLab CI jobs need to pull) to
remain within reasonable limits.  As downloading and installing TeX Live
takes a significant amount of time, only run the new job in scheduled
pipelines and for tags.  Adjust job dependencies so that the "release"
job continues to work.

(cherry picked from commit 29cba33d44)
2023-10-12 14:41:45 +02:00
Michał Kępień
9449c2f12c Merge branch 'michal/move-linux-stress-tests-to-autoscaled-instances-9.16' into 'bind-9.16'
[9.16] Move Linux "stress" tests to autoscaled instances

See merge request isc-projects/bind9!8363
2023-10-06 11:13:26 +00:00
Michał Kępień
928b7621cf Move Linux "stress" tests to autoscaled instances
The autoscaling GitLab CI runners currently used for most GitLab CI jobs
spin up AWS EC2 instances that are at least as powerful as the dedicated
instances used for running "stress" tests.  Move all Linux-based
"stress" tests to autoscaling GitLab CI runners to enable deprovisioning
Linux AWS instances reserved for running "stress" tests.  Leave FreeBSD
"stress" tests intact as there is currently no support for autoscaling
BSD instances.

(cherry picked from commit 12ea994680)
2023-10-06 13:12:16 +02:00
Michal Nowak
4af611b946 Merge branch 'mnowak/drop-autoreconf-job-from-ci' into 'bind-9.16'
Drop autoreconf CI job

See merge request isc-projects/bind9!8232
2023-10-04 16:54:06 +00:00
Michal Nowak
3869085f95 Drop autoreconf CI job
In BIND 9.16, we don't need to run autoreconf, because ./configure et
al. are part of the source tree. It's nothing more than a check to see
if the build configuration can be built.
2023-10-04 18:01:41 +02:00
Petr Špaček
f4ab2328f4 Merge branch 'pspacek/fix-no-case-compression-docs-9.16' into 'bind-9.16'
[9.16] Fix no-case-compress description in the ARM

See merge request isc-projects/bind9!8356
2023-10-03 13:10:37 +00:00
Petr Špaček
c6571c36b8 Fix no-case-compress description in the ARM
We confused ourselves, it seems.

(cherry picked from commit 6451462a93)
2023-10-03 15:10:04 +02:00
Mark Andrews
0cf801f34d Merge branch '4316-dynamic-update-refused-shortly-after-zone-was-thawed-bind-9.16' into 'bind-9.16'
[9.16] Resolve "dynamic update refused shortly after zone was thawed"

See merge request isc-projects/bind9!8337
2023-09-27 00:41:41 +00:00
Mark Andrews
652847b06e Document that reloading happens asynchronously
(cherry picked from commit e33dbd0cbd)
2023-09-27 10:14:35 +10:00
Mark Andrews
0e55d94653 Wait for the test zone to finish re-loading
'rndc thaw' initiates asynchrous loading of all the zones
similar to 'rndc load'.  Wait for the test zone's load to
complete before testing that it is updatable again.

(cherry picked from commit 5b3238aa85)
2023-09-26 14:12:36 +10:00