Commit Graph
35532 Commits
Author SHA1 Message Date
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
Ondřej Surý 5d3a90b266 Merge branch '4327-minor-warning-about-ctype-h-function-9.16' into 'bind-9.16'
[9.16] Add semantic patch to explicitly cast chars to unsigned for ctype.h

See merge request isc-projects/bind9!8331
2023-09-22 15:42:01 +00:00
Ondřej Surý aa5b5e41a6 Add CHANGES note for [GL #4327]
(cherry picked from commit 0e49a8422f)
2023-09-22 17:10:25 +02:00
Ondřej Surý b354e10793 Explicitly cast chars to unsigned chars for <ctype.h> functions
Apply the semantic patch to catch all the places where we pass 'char' to
the <ctype.h> family of functions (isalpha() and friends, toupper(),
tolower()).

(cherry picked from commit 29caa6d1f0)
2023-09-22 17:10:25 +02:00
Ondřej Surý c2e835989f Add semantic patch to explicitly cast chars to unsigned for ctype.h
Add a semantic patch to catch all the places where we pass 'char' to the
<ctype.h> family of functions (isalpha() and friends, toupper(),
tolower()).  While it generally works because the way how these
functions are constructed in the libc, it's safer to do the explicit
cast.

(cherry picked from commit 5ec65ab5d0)
2023-09-22 17:02:39 +02:00
Michał Kępień 100890b172 Merge branch 'mnowak/add-cve-ref-role-9.16' into 'bind-9.16'
[9.16] Add a Sphinx role for linking CVEs to the ISC Knowledgebase

See merge request isc-projects/bind9!8327
2023-09-21 12:46:33 +00:00
Michal NowakandMichał Kępień 1e75f3ae33 Add a Sphinx role for linking CVEs to the ISC Knowledgebase
The new :cve: Sphinx role takes a CVE number as an argument and creates
a hyperlink to the relevant ISC Knowledgebase document that might have
more up-to-date or verbose information than the relevant release note.
This makes reaching ISC Knowledgebase pages directly from the release
notes easier.

Make all CVE references in the release notes use the new Sphinx role.

(cherry picked from commit 41b857e567)
2023-09-21 14:38:28 +02:00