]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
11 months ago[9.16] chg: ci: Run CI danger job even if user canceled it while it was running
Petr Špaček [Mon, 2 Jun 2025 12:09:46 +0000 (12:09 +0000)] 
[9.16] chg: ci: Run CI danger job even if user canceled it while it was running

Backport of MR !10490

Merge branch 'backport-pspacek/always-hazard-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!10536

11 months agoRun CI danger job even if user canceled it while it was running
Petr Špaček [Wed, 28 May 2025 13:46:14 +0000 (15:46 +0200)] 
Run CI danger job even if user canceled it while it was running

Limitation: The after_script is not executed if the job did not start at
all, i.e. if the user canceled the job before it got onto a runner.
See https://gitlab.com/groups/gitlab-org/-/epics/10158

(cherry picked from commit 33bc2628b78dd0a91c1ff644184628b184118588)

11 months ago[9.16] chg: ci: Replace Oracle Linux Docker images with AlmaLinux ones
Michal Nowak [Thu, 29 May 2025 15:55:24 +0000 (15:55 +0000)] 
[9.16] chg: ci: Replace Oracle Linux Docker images with AlmaLinux ones

To be consistent with the replacing of Oracle Linux QCOW2 images with
AlmaLinux AWS AMIs, also replace Docker images.

Backport of MR !10434

Merge branch 'backport-mnowak/replace-oracle-linux-with-almalinux-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!10514

11 months agoReplace Oracle Linux Docker images with AlmaLinux ones
Michal Nowak [Wed, 30 Apr 2025 15:34:13 +0000 (17:34 +0200)] 
Replace Oracle Linux Docker images with AlmaLinux ones

To be consistent with the replacing of Oracle Linux QCOW2 images with
AlmaLinux AWS AMIs, also replace Docker images.

(cherry picked from commit 63947a20622946af134a1738a10170e1d3770f27)

12 months ago[9.16] rem: ci: Drop Ubuntu 20.04 Focal Fossa
Michal Nowak [Tue, 13 May 2025 17:29:52 +0000 (17:29 +0000)] 
[9.16] rem: ci: Drop Ubuntu 20.04 Focal Fossa

Focal-specific ./configure options were moved to Jammy.

Backport of MR !9899

Merge branch 'backport-mnowak/drop-ubuntu-focal-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!10457

12 months agoMake FreeBSD 12.x part of Community-Maintained platforms
Michal Nowak [Thu, 12 Dec 2024 11:27:09 +0000 (12:27 +0100)] 
Make FreeBSD 12.x part of Community-Maintained platforms

(cherry picked from commit ff39441874fd234ac03567d04d8f3dad0f777b1d)

12 months agoDrop Ubuntu 20.04 Focal Fossa
Michal Nowak [Thu, 12 Dec 2024 11:25:09 +0000 (12:25 +0100)] 
Drop Ubuntu 20.04 Focal Fossa

Focal-specific ./configure options were moved to Jammy.

(cherry picked from commit 326e19a65ae511df56c8a32c49d011052186774f)

13 months ago[9.16] [9.18] fix: dev: Unify the int32_t vs int_fast32_t when working with atomic...
Ondřej Surý [Mon, 14 Apr 2025 19:19:32 +0000 (19:19 +0000)] 
[9.16] [9.18] fix: dev: Unify the int32_t vs int_fast32_t when working with atomic types

There's a mismatch between the atomic and non-atomic types that could
potentialy lead to a rwlock deadlock (after two billion 2^32) writes.
Use int_fast32_t when loading the atomic_int_fast32_t types in the
isc_rwlock unit.

Closes #5280

Backport of MR !10390

Merge branch 'backport-5280-match-the-types-in-isc_rwlock-9.18-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!10391

13 months agoUnify the int32_t vs int_fast32_t when working with atomic types
Ondřej Surý [Mon, 14 Apr 2025 16:56:54 +0000 (18:56 +0200)] 
Unify the int32_t vs int_fast32_t when working with atomic types

There's a mismatch between the atomic and non-atomic types that could
potentialy lead to a rwlock deadlock (after two billion 2^32) writes.
Use int_fast32_t when loading the atomic_int_fast32_t types in the
isc_rwlock unit.

(cherry picked from commit 86673ee67aacf677c96f8272e4a0b9fa65e06310)

13 months ago[9.16] new: ci: Allow pushing branches and tags to customer git repos
Nicki Křížek [Wed, 2 Apr 2025 11:13:28 +0000 (11:13 +0000)] 
[9.16] new: ci: Allow pushing branches and tags to customer git repos

For pipelines in the private repository, add an optional manual job,
which allows the current branch to be pushed into the specified
customer's git repository. This can be useful to provide patch previews
for early testing.

For tags created in a private repository, add a manual job which pushes
the created tag to all entitled customers.

Backport of MR !10323

Merge branch 'backport-nicki/ci-customer-git-automation-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!10358

13 months agoAllow pushing branches and tags to customer git repos
Nicki Křížek [Tue, 25 Mar 2025 15:51:24 +0000 (16:51 +0100)] 
Allow pushing branches and tags to customer git repos

For pipelines in the private repository, add an optional manual job,
which allows the current branch to be pushed into the specified
customer's git repository. This can be useful to provide patch previews
for early testing.

For tags created in a private repository, add a manual job which pushes
the created tag to all entitled customers.

(cherry picked from commit 378b412e94a40ee74ab5c9edfb3a2059612a59ff)

13 months agoAdd Clang 20
Michal Nowak [Wed, 19 Mar 2025 08:09:38 +0000 (08:09 +0000)] 
Add Clang 20

Clang 18 is no longer in the base image with a recent image update and clang-format and scan-build fail.

Merge branch 'mnowak/missing-clang-18' into 'bind-9.16'

See merge request isc-projects/bind9!10269

13 months agoDrop scan-build job
Michal Nowak [Mon, 17 Mar 2025 14:51:18 +0000 (15:51 +0100)] 
Drop scan-build job

With the updated Clang 20, the scan-build job fails identifying 10 bugs,
but they are unlikely to be addressed in this EoL branch.

13 months agoDrop clang-format job
Michal Nowak [Mon, 17 Mar 2025 14:50:26 +0000 (15:50 +0100)] 
Drop clang-format job

With updated Clang, the job won't pass. Reformating the code just for
the sake of the job seems futile.

13 months agoUpdate CLANG_VERSION to 20
Michal Nowak [Mon, 17 Mar 2025 14:13:45 +0000 (15:13 +0100)] 
Update CLANG_VERSION to 20

With a recent image update Clang 18 is no longer in the base image.
Update the Clang version used to 20.

13 months ago[9.16] new: dev: Implement -T cookiealwaysvalid
Arаm Sаrgsyаn [Tue, 18 Mar 2025 16:20:10 +0000 (16:20 +0000)] 
[9.16] new: dev: Implement -T cookiealwaysvalid

When `-T cookiealwaysvalid` is passed to `named`, DNS cookie checks for
the incoming queries always pass, given they are structurally correct.

Backport of MR !10232

Merge branch 'backport-aram/new-named-minus-T-option-of-cookiealwaysvalid-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!10266

13 months agoTest -T cookiealwaysvalid
Aram Sargsyan [Tue, 11 Mar 2025 14:29:22 +0000 (14:29 +0000)] 
Test -T cookiealwaysvalid

Add a check in the "cookie" system test to make sure that the new
'-T cookiealwaysvalid' option works.

(cherry picked from commit 4e75a20b6a63c3840559accc9df2af2d50a747f6)

13 months agoImplement -T cookiealwaysvalid
Aram Sargsyan [Tue, 11 Mar 2025 14:03:56 +0000 (14:03 +0000)] 
Implement -T cookiealwaysvalid

When -T cookiealwaysvalid is passed to named, DNS cookie checks for
the incoming queries always pass, given they are structurally correct.

(cherry picked from commit 807ef8545d2e06c77826f3b2ac3f1cb7a7413dad)

14 months agoDrop unused libvirt anchor
Michal Nowak [Tue, 11 Mar 2025 13:12:18 +0000 (13:12 +0000)] 
Drop unused libvirt anchor

This is a leftover from f08f69c54d594c36e36a07ccbd04a4a2276e2da0.

Merge branch 'mnowak/drop-libvirt-anchor' into 'bind-9.16'

See merge request isc-projects/bind9!10231

14 months agoDrop unused libvirt anchor
Michal Nowak [Tue, 11 Mar 2025 13:09:58 +0000 (14:09 +0100)] 
Drop unused libvirt anchor

This is a leftover from f08f69c54d594c36e36a07ccbd04a4a2276e2da0.

14 months agoDrop FreeBSD and OpenBSD from CI
Michal Nowak [Tue, 11 Mar 2025 12:42:59 +0000 (12:42 +0000)] 
Drop FreeBSD and OpenBSD from CI

Both FreeBSD and OpenBSD in the CI are tested on outdated images.
Current FreeBSD images can't even be rebuild because in the maintained
branches they were ported from QCOW2 to the AWS autoscaler (also a
future of the OpenBSD image). This is something we don't want to
backport to EoL branches.

Merge branch 'mnowak/drop-bsd-images-from-ci' into 'bind-9.16'

See merge request isc-projects/bind9!10229

14 months agoDrop FreeBSD and OpenBSD from CI
Michal Nowak [Tue, 11 Mar 2025 09:56:18 +0000 (10:56 +0100)] 
Drop FreeBSD and OpenBSD from CI

Both FreeBSD and OpenBSD in the CI are tested on outdated images.
Current FreeBSD images can't even be rebuild because in the maintained
branches they were ported from QCOW2 to the AWS autoscaler (also a
future of the OpenBSD image). This is something we don't want to
backport to EoL branches.

15 months agoDrop some unit tests
Michal Nowak [Mon, 3 Feb 2025 19:02:54 +0000 (19:02 +0000)] 
Drop some unit tests

After isc-projects/images!330, kyua is present in fewer images.

Merge branch 'mnowak/drop-some-unit-tests' into 'bind-9.16'

See merge request isc-projects/bind9!10041

15 months agoRevert "Build contrib dlz modules in the CI"
Michal Nowak [Mon, 30 May 2022 14:20:53 +0000 (16:20 +0200)] 
Revert "Build contrib dlz modules in the CI"

The libsqlite3-dev package is not present in "bookworm" images and some
unsupported contrib modules won't build.

This reverts commit 8f2f5c426ee9db9340205c1a8ac31f5bb50b2fd0.

15 months agoDrop Tumbleweed unit test
Michal Nowak [Fri, 31 Jan 2025 12:14:59 +0000 (13:14 +0100)] 
Drop Tumbleweed unit test

openSUSE Tumbleweed image does not have kyua anymore.

15 months agoDrop unit:gcc:focal:amd64
Michal Nowak [Mon, 3 Feb 2025 10:57:36 +0000 (11:57 +0100)] 
Drop unit:gcc:focal:amd64

The "focal" image does not have kyua.

15 months agoMove --without-cmocka to Ubuntu 20.04 (Focal Fossa)
Michal Nowak [Fri, 31 Jan 2025 12:00:36 +0000 (13:00 +0100)] 
Move --without-cmocka to Ubuntu 20.04 (Focal Fossa)

"focal" does not have kyua in its stock repositories and is a good
candidate to build BIND 9 with this ./configure option.

15 months ago[9.16] fix: ci: Do not trigger post-merge jobs for cross-project pushes
Petr Špaček [Fri, 31 Jan 2025 14:16:39 +0000 (14:16 +0000)] 
[9.16] fix: ci: Do not trigger post-merge jobs for cross-project pushes

Backport of MR !10029
Backport of MR !10042

Merge branch 'backport-pspacek/no-cross-project-after-merge-jobs-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!10045

15 months agoFix shell escaping in post-merge before_script
Petr Špaček [Fri, 31 Jan 2025 13:20:04 +0000 (14:20 +0100)] 
Fix shell escaping in post-merge before_script

Fixup for commit 60140607740bf8e07c0f223c18798bef36ef439c
"Do not trigger post-merge jobs for cross-project pushes".

Related: isc-projects/bind9!10029
(cherry picked from commit 6276e0b23b678c271de38e92b460b5eba9da0d04)

15 months agoDo not trigger post-merge jobs for cross-project pushes
Petr Špaček [Thu, 30 Jan 2025 10:24:59 +0000 (11:24 +0100)] 
Do not trigger post-merge jobs for cross-project pushes

We need to avoid double-triggering of post-merge jobs in the following
scenario:

 1. A private MR gets merged into the private BIND 9 repository.

 2. This merge operation triggers a "push" pipeline in the private
    repository, which correctly runs post-merge jobs, e.g. to set MR
    metadata in the private project.

 3. When a release is published, a script is run to change the
    automatically assigned milestone value ("Not released yet") to
    something else.

 4. Shortly afterwards, the result of the merge from step 1 is merged
    back into a maintenance branch in the public repository.

 5. The push operation triggers another "push" pipeline, this time in
    the public project.

At this point there are two problems:

  - If the script is dumb (like it currently is), it will extract the
    merge request ID from the merge commit description and change the
    milestone for a merge request in the wrong project namespace.

  - Even if the script was fixed to extract and use the correct GitLab
    project reference, it would reset the milestone for the merge
    request in the private repository back to "Not released yet" - while
    the milestone set in step 3 should be retained.

An alternative would be to change the order of operations so that
post-release milestoning happens at a later stage, while also fixing the
script to correctly follow cross-project references, but that approach
seems more fragile than simply failing on all cross-project pushes.  The
rule to enforce is: each project should only take care of its own
post-merge tasks.

(cherry picked from commit 60140607740bf8e07c0f223c18798bef36ef439c)

15 months ago[9.16] chg: ci: Use default cloning depth for the Danger CI job
Michał Kępień [Fri, 31 Jan 2025 09:37:54 +0000 (09:37 +0000)] 
[9.16] chg: ci: Use default cloning depth for the Danger CI job

With shallow fetching working reliably in pygit2 1.17.0+, there is no
longer any need for GitLab CI runners to clone the BIND 9 repository
with a fixed depth of 1000 during every "danger" CI job as Hazard is now
able to fetch remote refs with an arbitrary depth, controlled by the
HAZARD_FETCH_DEPTH environment variable.  The latter can be defined via
GitLab project's CI settings and adjusted as needed over time, without
the need to update .gitlab-ci.yml every time its value needs to be
changed.

Backport of MR !9946

Merge branch 'backport-michal/use-default-cloning-depth-for-the-danger-ci-job-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!10039

15 months agoUse default cloning depth for the Danger CI job
Michał Kępień [Fri, 31 Jan 2025 09:25:56 +0000 (10:25 +0100)] 
Use default cloning depth for the Danger CI job

With shallow fetching working reliably in pygit2 1.17.0+, there is no
longer any need for GitLab CI runners to clone the BIND 9 repository
with a fixed depth of 1000 during every "danger" CI job as Hazard is now
able to fetch remote refs with an arbitrary depth, controlled by the
HAZARD_FETCH_DEPTH environment variable.  The latter can be defined via
GitLab project's CI settings and adjusted as needed over time, without
the need to update .gitlab-ci.yml every time its value needs to be
changed.

(cherry picked from commit e39e7afc16fe1575afb907be76e55942925e1a3d)

15 months agoMerge branch 'bind-9.16-release' into bind-9.16
Nicki Křížek [Wed, 29 Jan 2025 18:40:05 +0000 (19:40 +0100)] 
Merge branch 'bind-9.16-release' into bind-9.16

15 months agoDrop stress tests
Michal Nowak [Mon, 27 Jan 2025 16:10:36 +0000 (16:10 +0000)] 
Drop stress tests

After isc-projects/bind9-qa!9 merged BIND 9 releases without DoH/DoT
support are not supported.

Merge branch 'mnowak/drop-stress-tests' into 'bind-9.16'

See merge request isc-projects/bind9!10005

15 months agoDrop stress tests
Michal Nowak [Mon, 27 Jan 2025 15:26:54 +0000 (16:26 +0100)] 
Drop stress tests

After isc-projects/bind9-qa!9 merged BIND 9 releases without DoH/DoT
support are not supported.

15 months ago[9.16] [CVE-2024-11187] sec: usr: Limit the additional processing for large RDATA...
Nicki Křížek [Mon, 20 Jan 2025 16:17:08 +0000 (16:17 +0000)] 
[9.16] [CVE-2024-11187] sec: usr: Limit the additional processing for large RDATA sets

When answering queries, don't add data to the additional section if the answer has more than 13 names in the RDATA. This limits the number of lookups into the database(s) during a single client query, reducing query processing load.

Backport of MR !750

See isc-projects/bind9#5034

Merge branch '5034-security-limit-additional-9.16' into 'bind-9.16-release'

See merge request isc-private/bind9!760

15 months agoLimit the additional processing for large RDATA sets
Ondřej Surý [Thu, 14 Nov 2024 09:37:29 +0000 (10:37 +0100)] 
Limit the additional processing for large RDATA sets

When answering queries, don't add data to the additional section if
the answer has more than 13 names in the RDATA.  This limits the
number of lookups into the database(s) during a single client query,
reducing query processing load.

Also, don't append any additional data to type=ANY queries. The
answer to ANY is already big enough.

(cherry picked from commit a1982cf1bb95c818aa7b58988b5611dec80f2408)

15 months agoIsolate using the -T noaa flag only for part of the resolver test
Ondřej Surý [Tue, 7 Jan 2025 14:22:40 +0000 (15:22 +0100)] 
Isolate using the -T noaa flag only for part of the resolver test

Instead of running the whole resolver/ns4 server with -T noaa flag,
use it only for the part where it is actually needed.  The -T noaa
could interfere with other parts of the test because the answers don't
have the authoritative-answer bit set, and we could have false
positives (or false negatives) in the test because the authoritative
server doesn't follow the DNS protocol for all the tests in the resolver
system test.

(cherry picked from commit e51d4d3b88af00d6667f2055087ebfc47fb3107c)

16 months ago[9.16] fix: dev: Fix a bug in isc_rwlock_trylock()
Arаm Sаrgsyаn [Wed, 8 Jan 2025 12:39:51 +0000 (12:39 +0000)] 
[9.16] fix: dev: Fix a bug in isc_rwlock_trylock()

When isc_rwlock_trylock() fails to get a read lock because another
writer was faster, it should wake up other waiting writers in case
there are no other readers, but the current code forgets about
the currently active writer when evaluating 'cntflag'.

Unset the WRITER_ACTIVE bit in 'cntflag' before checking to see if
there are other readers, otherwise the waiting writers, if they exist,
might not wake up.

Closes #5121

Backport of MR !9937

Merge branch 'backport-aram/isc_rwlock_trylock-bugfix-9.18-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9938

16 months agoFix a bug in isc_rwlock_trylock()
Aram Sargsyan [Tue, 7 Jan 2025 13:30:26 +0000 (13:30 +0000)] 
Fix a bug in isc_rwlock_trylock()

When isc_rwlock_trylock() fails to get a read lock because another
writer was faster, it should wake up other waiting writers in case
there are no other readers, but the current code forgets about
the currently active writer when evaluating 'cntflag'.

Unset the WRITER_ACTIVE bit in 'cntflag' before checking to see if
there are other readers, otherwise the waiting writers, if they exist,
might not wake up.

(cherry picked from commit 73b6d9e9e5c3405b8f2cd6ab1e999e2a5d756875)

17 months ago[9.16] chg:test: Disable too-many/too-few pylint checks
Michal Nowak [Tue, 3 Dec 2024 10:32:21 +0000 (10:32 +0000)] 
[9.16] chg:test: Disable too-many/too-few pylint checks

Enforcing pylint standards and default for our test code seems
counter-productive. Since most of the newly added code are tests or is
test-related, encountering these checks rarely make us refactor the code
in other ways and we just disable these checks individually. Code that
is too complex or convoluted will be pointed out in reviews anyways.

(cherry picked from commit f7319a38cf277c2140f0ed7ab46fd616b9322587)

Backport of MR !9626

Merge branch 'backport-nicki/pylint-disable-too-few-too-many-checks-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9806

17 months agoDisable too-many/too-few pylint checks
Nicki Křížek [Mon, 14 Oct 2024 12:44:06 +0000 (14:44 +0200)] 
Disable too-many/too-few pylint checks

Enforcing pylint standards and default for our test code seems
counter-productive. Since most of the newly added code are tests or is
test-related, encountering these checks rarely make us refactor the code
in other ways and we just disable these checks individually. Code that
is too complex or convoluted will be pointed out in reviews anyways.

(cherry picked from commit 7639c58c4889003777e5da36567f84caa424f157)

17 months ago[9.16] new: usr: Update bind.keys with the new 2025 IANA root key
Evan Hunt [Sat, 16 Nov 2024 00:31:28 +0000 (00:31 +0000)] 
[9.16] new: usr: Update bind.keys with the new 2025 IANA root key

Add an 'initial-ds' entry to bind.keys for the new root key, ID
38696, which is scheduled for publication in January 2025.

Closes #4896

Backport of MR !9422

Merge branch 'backport-4896-update-bind-keys-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9748

17 months agoAdd the DS for the new root key (38696)
Evan Hunt [Mon, 26 Aug 2024 19:13:09 +0000 (12:13 -0700)] 
Add the DS for the new root key (38696)

Add an 'initial-ds' entry to bind.keys for the new root key, ID
38696, scheduled for publication in January 2025.

(cherry picked from commit 609bf35075868ceca1a39b003613317d7796e6dd)

18 months ago[9.16] chg: test: Support dnspython 2.7.0
Michal Nowak [Tue, 22 Oct 2024 07:13:12 +0000 (07:13 +0000)] 
[9.16] chg: test: Support dnspython 2.7.0

Closes #4988

Backport of MR !9634

Merge branch 'backport-4988-dnspython-2.7.0-support-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9677

18 months agoSupport dnspython 2.7.0
Nicki Křížek [Tue, 15 Oct 2024 08:03:25 +0000 (10:03 +0200)] 
Support dnspython 2.7.0

CookieOption with new .server/.client attributes (rather than .data) was
added to dnspython. Adjust the code to use the new attributes if
available and fall back to the old code for dnspython<2.7.0
compatibility.

(cherry picked from commit 0d90b1364651d9ee5c3495e305187eee11961a42)

19 months ago[9.16] chg: ci: Exclude some RPZ files from long stress test artifacts
Michal Nowak [Mon, 23 Sep 2024 12:25:34 +0000 (12:25 +0000)] 
[9.16] chg: ci: Exclude some RPZ files from long stress test artifacts

This fixes 6f868853049769cd4c327acf32a8c1a7320daa06, that excluded files
only from short stress tests.

Validation jobs:
- [x] short - [#4756989](https://gitlab.isc.org/isc-projects/bind9/-/jobs/4756989/artifacts/browse/output/ns4/) -
- [x] long - [#4757196](https://gitlab.isc.org/isc-projects/bind9/-/jobs/4757196/artifacts/browse/output/ns4/)

Backport of MR !9522

Merge branch 'backport-mnowak/exclude-some-rpz-files-from-long-stress-tests-artifacts-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9540

19 months agoExclude some RPZ files from long stress test artifacts
Michal Nowak [Thu, 19 Sep 2024 09:26:53 +0000 (11:26 +0200)] 
Exclude some RPZ files from long stress test artifacts

This fixes 6f868853049769cd4c327acf32a8c1a7320daa06, that excluded files
only from short stress tests.

(cherry picked from commit 871eeed519c323e54fb4c052e5b405c01dcdbeaa)

20 months ago[9.16] chg: test: Be more patient when stopping servers in the system tests
Michal Nowak [Tue, 10 Sep 2024 12:44:51 +0000 (12:44 +0000)] 
[9.16] chg: test: Be more patient when stopping servers in the system tests

When the TCP test is run on the busy server, the server might take a
while to wind the server down because it might still be processing all
that 300k invalid XFR requests.

Increate the rncd wait time to 120 seconds, the SIGTERM time to 300
seconds, and reduce the time to wait for ans servers from 1200 second
to just 120 seconds.

(cherry picked from commit d97147232157a87ccb155b2d9c312eb7d1a21b4f)

Backport of MR !6847

Merge branch 'backport-ondrej-increase-the-time-to-wait-for-servers-to-gracefully-shutdown-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9468

20 months agoBe more patient when stopping servers in the system tests
Ondřej Surý [Fri, 30 Sep 2022 14:01:49 +0000 (16:01 +0200)] 
Be more patient when stopping servers in the system tests

When the TCP test is run on the busy server, the server might take a
while to wind the server down because it might still be processing all
that 300k invalid XFR requests.

Increate the rncd wait time to 120 seconds, the SIGTERM time to 300
seconds, and reduce the time to wait for ans servers from 1200 second
to just 120 seconds.

(cherry picked from commit d97147232157a87ccb155b2d9c312eb7d1a21b4f)

20 months ago[9.16] chg: ci: Cleanup stress test artifacts
Michal Nowak [Wed, 28 Aug 2024 08:56:33 +0000 (08:56 +0000)] 
[9.16] chg: ci: Cleanup stress test artifacts

Backport of MR !9424

Merge branch 'backport-mnowak/avoid-some-artifacts-in-stress-tests-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9430

20 months agoSome stress test artifacts should not be saved in CI artifact
Michal Nowak [Tue, 27 Aug 2024 10:12:50 +0000 (12:12 +0200)] 
Some stress test artifacts should not be saved in CI artifact

(cherry picked from commit 6f868853049769cd4c327acf32a8c1a7320daa06)

20 months agochg: test: Bump max-recursion-queries to 100 in resolver system test
Michal Nowak [Wed, 28 Aug 2024 07:26:13 +0000 (07:26 +0000)] 
chg: test: Bump max-recursion-queries to 100 in resolver system test

With max-recursion-queries set to 50 the resolver system test was
unstable in the "checking query resolution for a domain with a valid
glueless delegation chain" check as ns1 replied with SERVFAIL.

Closes #4897

Merge branch '4897-resolver-ns1-bump-max-recursion-queries-to-100' into 'bind-9.16'

See merge request isc-projects/bind9!9421

20 months agoBump max-recursion-queries to 100 in resolver system test
Michal Nowak [Mon, 26 Aug 2024 15:56:56 +0000 (17:56 +0200)] 
Bump max-recursion-queries to 100 in resolver system test

With max-recursion-queries set to 50 the resolver system test was
unstable in the "checking query resolution for a domain with a valid
glueless delegation chain" check as ns1 replied with SERVFAIL.

20 months ago[9.16] chg: ci: Drop removed system tests from cross-version-config-tests
Michal Nowak [Mon, 26 Aug 2024 15:25:32 +0000 (15:25 +0000)] 
[9.16] chg: ci: Drop removed system tests from cross-version-config-tests

The cross-version-config-tests job fails when a system test is removed
from the upcoming release. To avoid this, remove the system test also
from the $BIND_BASELINE_VERSION.

See the failure mode at https://gitlab.isc.org/isc-projects/bind9/-/jobs/4668947.

Backport of MR !9413

Merge branch 'backport-mnowak/remove-dialup-from-cross-version-config-tests-job-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9417

20 months agoDrop removed system tests from $BIND_BASELINE_VERSION
Michal Nowak [Mon, 26 Aug 2024 11:41:47 +0000 (13:41 +0200)] 
Drop removed system tests from $BIND_BASELINE_VERSION

The cross-version-config-tests job fails when a system test is removed
from the upcoming release. To avoid this, remove the system test also
from the $BIND_BASELINE_VERSION.

(cherry picked from commit 60f5f2a9d9d8853f1de25ed29e285a33d6093b73)

20 months agochg: ci: Fix formatting in lib/ns/query.c broken by !9284
Michal Nowak [Mon, 26 Aug 2024 13:38:35 +0000 (13:38 +0000)] 
chg: ci: Fix formatting in lib/ns/query.c broken by !9284

Merge branch 'mnowak/fix-formating' into 'bind-9.16'

See merge request isc-projects/bind9!9414

20 months agoFix formatting in lib/ns/query.c broken by !9284
Michal Nowak [Mon, 26 Aug 2024 12:25:55 +0000 (14:25 +0200)] 
Fix formatting in lib/ns/query.c broken by !9284

20 months ago[9.16] new: ci: Automate parts of MR workflow
Petr Špaček [Fri, 23 Aug 2024 08:45:28 +0000 (08:45 +0000)] 
[9.16] new: ci: Automate parts of MR workflow

Backport of MR !9244

Merge branch 'backport-pspacek/post-merge-ci-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9403

20 months agoRemove milestone check from dangerfile
Petr Špaček [Fri, 23 Aug 2024 07:34:20 +0000 (09:34 +0200)] 
Remove milestone check from dangerfile

Milestone is automatically set by 'merged-metadata' CI job to 'Not
released yet' so it does not matter what the original value was.

(cherry picked from commit 73b950dc29ba1a381fa8d1c47d12f3d2ee79cbe9)

20 months agoAutomatically adjust MR metadata after merge
Petr Špaček [Mon, 5 Aug 2024 08:21:46 +0000 (10:21 +0200)] 
Automatically adjust MR metadata after merge

1. Set milestone to 'Not released yet' after merge
   We will set milestone to actual version number when we actually tag a
   particular version. This will get rid of mass MR reassignment when we
   do last minute changes to a release plan etc.

2. Adjust No CHANGES and Release Notes MR labels to match gitchangelog
   workflow.

(cherry picked from commit 3165261ecd7468c5f30eec0f50b4b43e556b7194)
(cherry picked from commit d1c64d588b5d2b293d6b4a366372c61043caba30)

20 months ago[9.16] new: usr: Tighten 'max-recursion-queries' and add 'max-query-restarts' option
Ondřej Surý [Thu, 22 Aug 2024 09:31:53 +0000 (09:31 +0000)] 
[9.16] new: usr: Tighten 'max-recursion-queries' and add 'max-query-restarts' option

There were cases in resolver.c when the `max-recursion-queries` quota was ineffective. It was possible to craft zones that would cause a resolver to waste resources by sending excessive queries while attempting to resolve a name. This has been addressed by correcting errors in the implementation of `max-recursion-queries`, and by reducing the default value from 100 to 32.

In addition, a new `max-query-restarts` option has been added which limits the number of times a recursive server will follow CNAME or DNAME records before terminating resolution. This was previously a hard-coded limit of 16, and now defaults to 11.

Closes #4741

Backport of MR !9281

Merge branch 'backport-4741-reclimit-restarts-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9284

20 months agoimplement 'max-query-restarts'
Evan Hunt [Wed, 26 Jun 2024 06:49:00 +0000 (23:49 -0700)] 
implement 'max-query-restarts'

implement, document, and test the 'max-query-restarts' option
which specifies the query restart limit - the number of times
we can follow CNAMEs before terminating resolution.

(cherry picked from commit 104f3b82fb7c7cd03edc36507b167cfc6e11d17c)
(cherry picked from commit 2e04f0380c5af65661ee906ffc0730e6ea8040aa)

20 months agoreduce the max-recursion-queries default to 32
Evan Hunt [Tue, 25 Jun 2024 21:39:58 +0000 (14:39 -0700)] 
reduce the max-recursion-queries default to 32

the number of iterative queries that can be sent to resolve a
name now defaults to 32 rather than 100.

(cherry picked from commit 7e3b425dc283df66df9c46002307ab676e10e4fd)
(cherry picked from commit a11367ade3f4ebd314c31a1ef45965e3859b5095)

20 months agomake "max_restarts" a configurable value
Evan Hunt [Tue, 25 Jun 2024 21:30:20 +0000 (14:30 -0700)] 
make "max_restarts" a configurable value

MAX_RESTARTS is no longer hard-coded; ns_server_setmaxrestarts()
and dns_client_setmaxrestarts() can now be used to modify the
max-restarts value at runtime. in both cases, the default is 11.

(cherry picked from commit c5588babaf89f3e3ad2edccaada716e55c135dd3)
(cherry picked from commit bfbc6a6c840461a530077f2d5b02f9a53500f8ce)

20 months agoreduce MAX_RESTARTS to 11
Evan Hunt [Tue, 25 Jun 2024 19:28:23 +0000 (12:28 -0700)] 
reduce MAX_RESTARTS to 11

the number of steps that can be followed in a CNAME chain
before terminating the lookup has been reduced from 16 to 11.
(this is a hard-coded value, but will be made configurable later.)

(cherry picked from commit 05d78671bb6a5ba63d78d77339e17cbc73f18188)
(cherry picked from commit dd88a4cdfc8042e2cd2fdae93b803ba8490b88dc)

20 months agoadd debug logging when creating or attaching to a query counter
Evan Hunt [Tue, 25 Jun 2024 18:02:49 +0000 (11:02 -0700)] 
add debug logging when creating or attaching to a query counter

fctx_create() now logs at debug level 9 when the fctx attaches
to an existing counter or creates a new one.

(cherry picked from commit 825f3d68c5b041b53f13a8c5b4dc431ca9b5887f)
(cherry picked from commit 14bce7e27582f97d2e5be43a8e88df84e241c5cb)

20 months agoapply max-recursion-queries quota to validator queries
Evan Hunt [Wed, 22 May 2024 22:17:47 +0000 (15:17 -0700)] 
apply max-recursion-queries quota to validator queries

previously, validator queries for DNSKEY and DS records were
not counted toward the quota for max-recursion-queries; they
are now.

(cherry picked from commit af7db8951364a89c468eda1535efb3f53adc2c1f)
(cherry picked from commit 18e39d989f5a716045cd6d99b3bdb7a2633a2db8)

20 months agoattach query counter to NS fetches
Evan Hunt [Wed, 22 May 2024 20:02:16 +0000 (13:02 -0700)] 
attach query counter to NS fetches

there were cases in resolver.c when queries for NS records were
started without passing a pointer to the parent fetch's query counter;
as a result, the max-recursion-queries quota for those queries started
counting from zero, instead of sharing the limit for the parent fetch,
making the quota ineffective in some cases.

(cherry picked from commit d3b7e92783754e9a4ce93046fadcb96c5439a0d7)
(cherry picked from commit 5ab4cae4ed5c2f7b8509a0dfcbadbc727abecf36)

20 months ago[9.16] rem: ci: Drop Oracle Linux 7
Michal Nowak [Mon, 19 Aug 2024 15:57:48 +0000 (15:57 +0000)] 
[9.16] rem: ci: Drop Oracle Linux 7

See #3729

Backport of MR !9352

Merge branch 'backport-3729-drop-oracle-linux-7-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9353

20 months agoDrop Oracle Linux 7
Michal Nowak [Mon, 19 Aug 2024 14:32:36 +0000 (16:32 +0200)] 
Drop Oracle Linux 7

(cherry picked from commit 4af28f9ffcc9375e0b71293ede17c7be79068cd5)

20 months ago[9.16] chg: test: Drop TSAN jobs, drop bullseye jobs
Ondřej Surý [Fri, 16 Aug 2024 07:09:39 +0000 (07:09 +0000)] 
[9.16] chg: test: Drop TSAN jobs, drop bullseye jobs

The new TSAN images, the TSAN-enabled images install libraries to
opt/tsan, this doesn't work, just drop the TSAN jobs.

Additionally, drop Debian bullseye that's EOL now.

Backport of MR !9324

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

See merge request isc-projects/bind9!9327

20 months agoAlso drop softhsm2.6 jobs
Ondřej Surý [Fri, 16 Aug 2024 07:07:52 +0000 (09:07 +0200)] 
Also drop softhsm2.6 jobs

20 months agoDon't bother with TSAN jobs for end-of-life release
Ondřej Surý [Fri, 16 Aug 2024 06:32:15 +0000 (08:32 +0200)] 
Don't bother with TSAN jobs for end-of-life release

20 months agoRemove Debian bullseye jobs
Ondřej Surý [Thu, 15 Aug 2024 18:21:46 +0000 (20:21 +0200)] 
Remove Debian bullseye jobs

The Debian bullseye has reached end-of-life, remove it from the CI.

(cherry picked from commit d02d6af2b9ac6e74c433c01d63e37c87e14b254e)

20 months agoFor TSAN builds, use libraries from /opt/tsan
Ondřej Surý [Thu, 15 Aug 2024 17:54:58 +0000 (19:54 +0200)] 
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 2a46396f295146b3868d89c8d8136fd3574579e5)

21 months ago[9.16] chg: test: Use new images with TSAN-enabled libraries
Ondřej Surý [Wed, 7 Aug 2024 16:02:51 +0000 (16:02 +0000)] 
[9.16] chg: test: Use new images with TSAN-enabled libraries

The new Fedora 40 TSAN images use libuv, urcu and OpenSSL libraries compiled with ThreadSanitizer.  This (in theory) should enable better detection of memory races in those (most important) libraries.

Backport of MR !9264

Merge branch 'backport-ondrej/test-new-tsan-images-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9280

21 months agoAdd configure for libraries in /usr/local for the gcc:tsan job
Ondřej Surý [Tue, 6 Aug 2024 14:01:54 +0000 (16:01 +0200)] 
Add configure for libraries in /usr/local for the gcc:tsan job

The TSAN-enabled libraries are installed to /usr/local, pass the
PKG_CONFIG_PATH and few other options to CFLAGS to the configure
arguments.

(cherry picked from commit ed766efc15da8b1ca3c597b5b53ab7e2bd331e85)

21 months ago[9.16] fix: test: refresh base image repos before installing from them
Michał Kępień [Wed, 7 Aug 2024 15:41:57 +0000 (15:41 +0000)] 
[9.16] fix: test: refresh base image repos before installing from them

Stale repositories cause issue on installation in the `docs:pdf` CI job:

    E: Failed to fetch http://deb.debian.org/debian/pool/main/s/systemd/libsystemd-shared_252.22-1%7edeb12u1_amd64.deb  404  Not Found [IP: 2a04:4e42:78::644 80]
    E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Validation job: https://gitlab.isc.org/isc-projects/bind9/-/jobs/4487570

Backport of MR !9164

Merge branch 'mnowak/refresh-base-image-repo-before-installation' into 'bind-9.16'

See merge request isc-projects/bind9!9129

21 months agoRefresh base image repos before installing from them
Michal Nowak [Mon, 8 Jul 2024 12:20:02 +0000 (14:20 +0200)] 
Refresh base image repos before installing from them

Stale repositories cause issue on installation in the docs:pdf CI job:

    E: Failed to fetch http://deb.debian.org/debian/pool/main/s/systemd/libsystemd-shared_252.22-1%7edeb12u1_amd64.deb  404  Not Found [IP: 2a04:4e42:78::644 80]
    E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

(cherry picked from commit 0077cfd7a6ea64b0b765569bcc57b1a566cca36e)

21 months agochg: test: use --without-python for Debian "sid" builds
Michał Kępień [Tue, 6 Aug 2024 11:22:38 +0000 (11:22 +0000)] 
chg: test: use --without-python for Debian "sid" builds

Debian "sid" images used in GitLab CI no longer contain the distutils
Python module, which prevents the ./configure script from succeeding on
that operating system.  Instead of explicitly installing optional
dependencies for a branch that is no longer actively maintained, add the
--without-python switch to the ./configure invocations on Debian "sid"
to work around the problem.

Merge branch 'michal/disable-python-for-debian-sid-builds' into 'bind-9.16'

See merge request isc-projects/bind9!9260

21 months agochg: test: use --without-python for Debian "sid" builds
Michał Kępień [Tue, 6 Aug 2024 07:34:53 +0000 (09:34 +0200)] 
chg: test: use --without-python for Debian "sid" builds

Debian "sid" images used in GitLab CI no longer contain the distutils
Python module, which prevents the ./configure script from succeeding on
that operating system.  Instead of explicitly installing optional
dependencies for a branch that is no longer actively maintained, add the
--without-python switch to the ./configure invocations on Debian "sid"
to work around the problem.

21 months ago[9.16] chg: Remove danger checks for release notes and CHANGES
Nicki Křížek [Mon, 5 Aug 2024 15:55:46 +0000 (15:55 +0000)] 
[9.16] chg: Remove danger checks for release notes and CHANGES

Since 9.21.0-dev, the release notes and changelog process has been
changed. Backport to the EoL branch are no longer expected to have
either CHANGES or release notes, as we aren't going to release any more
versions anyway.

Related #75

Merge branch '75-gitchangelog-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9182

21 months agoRemove danger checks for release notes and CHANGES
Nicki Křížek [Mon, 29 Jul 2024 12:57:45 +0000 (14:57 +0200)] 
Remove danger checks for release notes and CHANGES

Since 9.21.0-dev, the release notes and changelog process has been
changed. Backport to the EoL branch are no longer expected to have
either CHANGES or release notes, as we aren't going to release any more
versions anyway.

21 months ago[9.16] fix: usr: Add a compatibility shim for older libuv versions (< 1.19.0)
Ondřej Surý [Mon, 5 Aug 2024 10:32:36 +0000 (10:32 +0000)] 
[9.16] fix: usr: Add a compatibility shim for older libuv versions (< 1.19.0)

The uv_stream_get_write_queue_size() is supported only in relatively newer versions of libuv (1.19.0 or higher).  Provide a compatibility shim for this function , so BIND 9 can be built in environments with older libuv version.

Fixes: #4822
Backport of MR !9153

Merge branch 'backport-uv_stream_get_write_queue_size_wrapper-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9248

21 months agoadd a trivial wrapper for uv_stream_get_write_queue_size
JINMEI Tatuya [Tue, 16 Jul 2024 12:15:03 +0000 (21:15 +0900)] 
add a trivial wrapper for uv_stream_get_write_queue_size

(cherry picked from commit b9bef2cc89082694a33536938515d59c430e52a7)

21 months agofix: dev: Pull the doc/misc/options{,.active} from the CI
Ondřej Surý [Mon, 5 Aug 2024 09:11:51 +0000 (09:11 +0000)] 
fix: dev: Pull the doc/misc/options{,.active} from the CI

The doc/misc/options{,.active} were built on system with different
configuration than we have in the CI, so the docs job just keeps
failing.  Pull the files from the CI, so they match what we have
in the CI images.

Merge branch 'ondrej/make-docs-job-happy-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9242

21 months agoPull the doc/misc/options{,.active} from the CI
Ondřej Surý [Mon, 5 Aug 2024 08:18:31 +0000 (10:18 +0200)] 
Pull the doc/misc/options{,.active} from the CI

The doc/misc/options{,.active} were built on system with different
configuration than we have in the CI, so the docs job just keeps
failing.  Pull the files from the CI, so they match what we have
in the CI images.

21 months ago[9.16] fix: test: Use LC_ALL to override all system locales
Ondřej Surý [Mon, 5 Aug 2024 08:38:57 +0000 (08:38 +0000)] 
[9.16] fix: test: Use LC_ALL to override all system locales

The system tests were overriding the local locale by setting LANG to C.
This does not override the locale in case there are individual LC_<*>
variables like LC_CTYPE explicitly set.

Use LC_ALL=C instead which is the proper way of overriding all currently
set locales.

Backport of MR !9109

Merge branch 'backport-ondrej/use-LC_ALL-not-LANG-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9237

21 months agoUse LC_ALL to override all system locales
Ondřej Surý [Tue, 18 Jun 2024 06:56:18 +0000 (08:56 +0200)] 
Use LC_ALL to override all system locales

The system tests were overriding the local locale by setting LANG to C.
This does not override the locale in case there are individual LC_<*>
variables like LC_CTYPE explicitly set.

Use LC_ALL=C instead which is the proper way of overriding all currently
set locales.

21 months ago[9.16] new: test: Import fuzzers from bind-9.18 branch
Petr Špaček [Fri, 2 Aug 2024 11:21:12 +0000 (11:21 +0000)] 
[9.16] new: test: Import fuzzers from bind-9.18 branch

Merge branch 'pspacek/9.16-fuzzers' into 'bind-9.16'

See merge request isc-projects/bind9!8685

21 months agoImport fuzzers from bind-9.18 branch
Petr Špaček [Thu, 1 Feb 2024 09:17:43 +0000 (10:17 +0100)] 
Import fuzzers from bind-9.18 branch

It required minor resync of other auxiliary files in fuzz/ directory.

21 months agoAdd the ability specify the signing / verification time
Ondřej Surý [Wed, 2 Mar 2022 10:48:26 +0000 (11:48 +0100)] 
Add the ability specify the signing / verification time

When fuzzing it is useful for all signing operations to happen
at a specific time for reproducability.  Add two variables to
the message structure (fuzzing and fuzztime) to specify if a
fixed time should be used and the value of that time.

(cherry picked from commit 3e85d8c3d69d62ee585a5544c1454b452cab917e)

21 months ago[9.16] chg: test: Retry job in case of AWS Spot Instance interruption event
Nicki Křížek [Mon, 29 Jul 2024 14:53:29 +0000 (14:53 +0000)] 
[9.16] chg: test: Retry job in case of AWS Spot Instance interruption event

Closes #4777

Backport of MR !9107

Merge branch '4777-retry-job-aws-spot-instance-interruption-event-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9186

21 months agoRetry job in case of AWS Spot Instance interruption
Emanuel Petr [Mon, 17 Jun 2024 18:06:13 +0000 (20:06 +0200)] 
Retry job in case of AWS Spot Instance interruption

(cherry picked from commit bbcce1bfc1243d74ff0ec736e7d370c4cb8591f2)

21 months ago[9.16] chg: usr: Backport max-types-per-name to BIND 9.16
Ondřej Surý [Mon, 29 Jul 2024 10:56:27 +0000 (10:56 +0000)] 
[9.16] chg: usr: Backport max-types-per-name to BIND 9.16

This aligns the fix for large number of RRs in RRSet with 9.18 and up
by backporting to `max-records-per-type` configuration option to
BIND 9.16.

Merge branch 'ondrej/max-types-per-rr-backport-9.16' into 'bind-9.16'

See merge request isc-projects/bind9!9178

21 months agoAdd more tests for adding many RR types to the database
Ondřej Surý [Mon, 17 Jun 2024 09:40:40 +0000 (11:40 +0200)] 
Add more tests for adding many RR types to the database

More reclimit tests that test various scenarios adding combinations of
priority and non-priority RR types into the database.

21 months agoLog error when update fails
Matthijs Mekking [Mon, 3 Jun 2024 05:56:21 +0000 (07:56 +0200)] 
Log error when update fails

The new "too many records" error can make an update fail without the
error being logged. This commit fixes that.

(cherry picked from commit 558923e5405894cf976d102f0d246a28bdbb400c)

21 months agoRemove duplicated empty zone files
Petr Špaček [Wed, 29 May 2024 19:03:02 +0000 (21:03 +0200)] 
Remove duplicated empty zone files

(cherry picked from commit 1456b4fc7778b851256107dbc79fb67d45f752f5)

21 months agomasterformat: rename zone names to reflect intended meaning
Petr Špaček [Wed, 29 May 2024 16:28:58 +0000 (18:28 +0200)] 
masterformat: rename zone names to reflect intended meaning

(cherry picked from commit d34bfb1eeaa2f8faab80b1620b992b5495e6f88c)