]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
16 months ago[9.18] fix: ci: remove allow failure in cross version config tests
Andoni Duarte [Thu, 30 Jan 2025 12:31:14 +0000 (12:31 +0000)] 
[9.18] fix: ci: remove allow failure in cross version config tests

From https://gitlab.isc.org/isc-projects/bind9/-/issues/5087, the relevant MRs have been merged in the January 2025 release. Hence this MR removes `allow_failure: true` in CI.

Backport of MR !10026

Merge branch 'backport-andoni/remove-allow-failure-in-cross-version-config-tests-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!10028

16 months agoUpdate cross-version-config-tests CI
Andoni Duarte Pintado [Thu, 30 Jan 2025 09:24:48 +0000 (10:24 +0100)] 
Update cross-version-config-tests CI

Remove `allow_failure: true` from .gitlab-ci.yaml, as the relevant
MRs have been merged in the January 2025 release.

(cherry picked from commit 5d07df807a408739e73cd710399a39f27999defc)

16 months agofix: usr: fix "rndc flushname" for longer name server names
Michał Kępień [Thu, 30 Jan 2025 06:45:59 +0000 (06:45 +0000)] 
fix: usr: fix "rndc flushname" for longer name server names

:option:`rndc flushname` did not work for name server names longer
than 16 bytes. This has been fixed.

Closes #3885

Merge branch '3885-fix-rndc-flushname-for-longer-name-server-names' into 'bind-9.18'

See merge request isc-projects/bind9!10025

16 months agoFix "rndc flushname" for longer name server names
Michał Kępień [Thu, 30 Jan 2025 06:44:18 +0000 (07:44 +0100)] 
Fix "rndc flushname" for longer name server names

dns_adb_flushname() calls dns_name_hash() to determine the ADB bucket
number to search for the given name.  Meanwhile, all other functions in
lib/dns/adb.c call dns_name_fullhash() for determining the bucket number
instead.  This discrepancy causes dns_adb_flushname() to have virtually
no chances of actually removing the given name from the ADB if the
name is longer than 16 bytes (since dns_name_hash() only hashes the
first 16 bytes of the name provided to it) - more specifically, the
probability of success for names longer than 16 bytes is inversely
proportional to the number of ADB buckets in use, i.e. 1:1021 at best.

Fix by using dns_name_fullhash() instead of dns_name_hash() in
dns_adb_flushname(), so that the logic for determining the bucket number
that a given name belongs to is consistent throughout lib/dns/adb.c.

16 months agoMerge tag 'v9.18.33' into bind-9.18
Andoni Duarte Pintado [Wed, 29 Jan 2025 16:23:11 +0000 (17:23 +0100)] 
Merge tag 'v9.18.33' into bind-9.18

16 months ago[9.18] chg: ci: Use make clean to reduce artifacts in successful jobs
Nicki Křížek [Wed, 29 Jan 2025 14:51:51 +0000 (14:51 +0000)] 
[9.18] chg: ci: Use make clean to reduce artifacts in successful jobs

Reduce the amount of artifacts stored by running make clean at the end
of unit and system test run. If any of the previous commands fail, the
runner will stop executing the commands in `script` immediately, so the
cleanup only happens if none of the previous commands failed.

The build artifacts from unit and system tests are re-used anywhere and
should be safe to throw away immediately.

Backport of MR !10015

Merge branch 'backport-nicki/reduce-ci-artifacts-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!10019

16 months agoEnable unit test artifacts for gcov jobs
Nicki Křížek [Tue, 28 Jan 2025 15:59:47 +0000 (16:59 +0100)] 
Enable unit test artifacts for gcov jobs

Without using the build artifacts from the unit test jobs in the
bookworm tests, the gcov would be incomplete.

(cherry picked from commit e5636598a5fd795ef80421f3a5d48c511a9498ff)

16 months agoUse make clean to reduce artifacts in successful jobs
Nicki Křížek [Tue, 28 Jan 2025 14:23:01 +0000 (15:23 +0100)] 
Use make clean to reduce artifacts in successful jobs

Reduce the amount of artifacts stored by running make clean at the end
of unit and system test run. If any of the previous commands fail, the
runner will stop executing the commands in `script` immediately, so the
cleanup only happens if none of the previous commands failed.

The build artifacts from unit and system tests are re-used anywhere and
should be safe to throw away immediately. Same for respdiff.

(cherry picked from commit e59bc5b36610168eadde1ce3687f903d2a4630ce)

16 months ago[9.18] fix: ci: Run merged-metadata job for release branches in private repo
Nicki Křížek [Tue, 28 Jan 2025 13:40:43 +0000 (13:40 +0000)] 
[9.18] fix: ci: Run merged-metadata job for release branches in private repo

The prior regex didn't match the actual names we use for release
branches in the private repo. This caused the merged-metadata job to not
be created upon merging to a release branch, resulting in the private MR
not being properly milestoned.

Use the correct regex along with protecting the v9.*-release branches in
the gitlab UI so that they have access to the token used to perform the
required API operations.

Backport of MR !10003

Merge branch 'backport-nicki/ci-fix-post-merge-in-private-repo-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!10014

16 months agoRun merged-metadata job for release branches in private repo
Nicki Křížek [Mon, 27 Jan 2025 14:30:39 +0000 (15:30 +0100)] 
Run merged-metadata job for release branches in private repo

The prior regex didn't match the actual names we use for release
branches in the private repo. This caused the merged-metadata job to not
be created upon merging to a release branch, resulting in the private MR
not being properly milestoned.

Use the correct regex along with protecting the v9.*-release branches in
the gitlab UI so that they have access to the token used to perform the
required API operations.

(cherry picked from commit 2e5a3bde7ee0123e3af5432f45447776ebea90b9)

16 months ago[9.18] chg: test: Add stress tests with DoH and DoT
Michal Nowak [Tue, 28 Jan 2025 10:56:07 +0000 (10:56 +0000)] 
[9.18] chg: test: Add stress tests with DoH and DoT

Backport of MR !5800

Merge branch 'backport-mnowak/stress-test-with-doh-dot-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!10008

16 months agoAdd DoH and DoT stress tests, generate test configurations
Michal Nowak [Mon, 19 Feb 2024 14:55:00 +0000 (15:55 +0100)] 
Add DoH and DoT stress tests, generate test configurations

Add DoH and DoT stress test jobs. The DoH scenario on FreeBSD is omitted
because all Flamethrower's DoH queries timeout on this platform.

Since the response rate of DoT queries is lower than that of DoH and
TCP, the expected TCP response rate is 80%.

Due to the large number of similar stress test configurations, the
"util/generate-stress-test-configs.py" script now generates them as part
of a downstream pipeline. The script is expected to be run exclusively
within the CI environment, which sources all environmental variables and
files.

This refactoring brought the following changes:

- To start a stress test immediately and not wait for artifacts of the
  autoreconf job, run the "autoreconf -fi" command as part of every job.

- Drop the BIND_STRESS_TEST_* variables as they were rarely used and
  conflicted with mode and platform selection in the configuration
  generator.

- Most pipelines now include a few short, randomly selected stress test
  jobs. To schedule all stress tests, set the ALL_BIND_STRESS_TESTS
  environmental variable, push a tag to CI, or run a scheduled pipeline.

- Set the BIND_STRESS_TESTS_RUN_TIME environmental variable to pick the
  stress test runtime of your choosing, set the BIND_STRESS_TESTS_RATE
  environmental variable to set different than the default query rate.

- Job timeout is set to 30 minutes plus stress test runtime in minutes.

(cherry picked from commit 9756292a5f78438343357873809b726cb0a1a2b2)

16 months ago[9.18] chg: ci: Ensure changelog job builds docs with the new entry
Nicki Křížek [Mon, 27 Jan 2025 09:35:45 +0000 (09:35 +0000)] 
[9.18] chg: ci: Ensure changelog job builds docs with the new entry

The changelog job is supposed to test that the text from GitLab MR
title&description is valid rst syntax and can be built with sphinx. In
49128fc1, the way gitchangelog generates entries was changed - it no
longer writes to the changelog file, but generates output on stdout
instead. Ensure the generated notes is actually written to (some)
rendered file which is part of the docs so that the subsequent sphinx
build attempts to render the note.

Backport of MR !9804

Merge branch 'backport-nicki/ci-fix-changelog-job-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9998

16 months agoEnsure changelog job builds docs with the new entry
Nicki Křížek [Mon, 2 Dec 2024 14:31:53 +0000 (15:31 +0100)] 
Ensure changelog job builds docs with the new entry

The changelog job is supposed to test that the text from GitLab MR
title&description is valid rst syntax and can be built with sphinx. In
49128fc1, the way gitchangelog generates entries was changed - it no
longer writes to the changelog file, but generates output on stdout
instead. Ensure the generated notes is actually written to (some)
rendered file which is part of the docs so that the subsequent sphinx
build attempts to render the note.

(cherry picked from commit 380a30ba8d59453a04de05ddd7ce10d840cd875a)

16 months ago[9.18] new: doc: Add linkcheck to CI
Michal Nowak [Fri, 24 Jan 2025 14:39:56 +0000 (14:39 +0000)] 
[9.18] new: doc: Add linkcheck to CI

Backport of MR !9680

Merge branch 'backport-mnowak/rtd-add-linkcheck-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9995

16 months agoDisable anchor checking for GitHub
Michal Nowak [Fri, 24 Jan 2025 13:24:09 +0000 (14:24 +0100)] 
Disable anchor checking for GitHub

(cherry picked from commit 641d7c561f391bdb6b46f5e19a532a5028ba0946)

16 months agoAdd linkcheck job
Michal Nowak [Fri, 24 Jan 2025 10:50:49 +0000 (11:50 +0100)] 
Add linkcheck job

(cherry picked from commit 48eab764273fe2e2b47ebbf08b6120d74ff11b81)

16 months agoFix broken links in documentation
Michal Nowak [Fri, 24 Jan 2025 10:50:36 +0000 (11:50 +0100)] 
Fix broken links in documentation

Some detected links are not to be verified (127.*, dnssec-or-not.com)
and some I can't fix (flaticon, godaddy, icann), but they are not
crucial.

(cherry picked from commit 83024695075412f95c3d445ae0acd2e0a49b5c27)

16 months ago[9.18] chg: doc: Document how secondaries refresh a zone in the ARM
Matthijs Mekking [Fri, 24 Jan 2025 09:07:30 +0000 (09:07 +0000)] 
[9.18] chg: doc: Document how secondaries refresh a zone in the ARM

Closes #5123

Backport of MR !9966

Merge branch 'backport-5123-document-refreshing-a-secondary-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9987

16 months agoDocument how secondaries refresh a zone in the ARM
Matthijs Mekking [Mon, 20 Jan 2025 15:47:25 +0000 (16:47 +0100)] 
Document how secondaries refresh a zone in the ARM

We have a KB article that describes this, put a condensed version into
the ARM.

(cherry picked from commit 8daf3782d16d38fd0f0a73c8ddfb832b5fd23326)

16 months ago[9.18] chg: ci: Set stricter limits for respdiff testing
Nicki Křížek [Thu, 23 Jan 2025 17:48:18 +0000 (17:48 +0000)] 
[9.18] chg: ci: Set stricter limits for respdiff testing

Adjust the limit of maximum disagreements in respdiff results based on
recent pipeline results.

The respdiff and respdiff:asan seem to have almost identical results,
typically around 0.07 % of differences with ocassional spikes up to
around 0.11 %. Similar results are for respdiff:tsan, perhaps with more
common spikes with values up to around 0.12 %. Set the limit to 0.15 %
to allow for some tolerance due to network conditions, time of day etc.

The respdiff:third-party has a slightly higher disagreements average,
with typical values being around 0.12 %. Set the limit to 0.2 %.

Exceeding either of those values should be quite clear indication that
some resolution behaviour has changed, since the values appear to be
very stable within the newly configured limits.

Backport of MR !9950

Merge branch 'backport-nicki/ci-respdiff-limits-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9990

16 months agoSet stricter limits for respdiff testing
Nicki Křížek [Mon, 13 Jan 2025 13:29:24 +0000 (14:29 +0100)] 
Set stricter limits for respdiff testing

Adjust the limit of maximum disagreements in respdiff results based on
recent pipeline results.

The respdiff and respdiff:asan seem to have almost identical results,
typically around 0.07 % of differences with ocassional spikes up to
around 0.11 %. Similar results are for respdiff:tsan, perhaps with more
common spikes with values up to around 0.12 %. Set the limit to 0.15 %
to allow for some tolerance due to network conditions, time of day etc.

The respdiff:third-party has a slightly higher disagreements average,
with typical values being around 0.12 %. Set the limit to 0.2 %.

Exceeding either of those values should be quite clear indication that
some resolution behaviour has changed, since the values appear to be
very stable within the newly configured limits.

(cherry picked from commit 0584d3f65f4fea05eeb8c3f70c5460467b6637ef)

16 months agofix: nil: Stop the timer when canceling the last fetch
Ondřej Surý [Thu, 23 Jan 2025 17:25:37 +0000 (17:25 +0000)] 
fix: nil: Stop the timer when canceling the last fetch

When canceling the last fetch, we also need to stop the fctx_expired
timer from possibly firing between the fctx_shutdown() call and the
fetch being actually destroyed along with the timer.

Closes #5136

Merge branch '5136-stop-timer-when-canceling-last-fetch-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9988

16 months agoStop the timer when shuttingdown the fetch context
Ondřej Surý [Thu, 23 Jan 2025 16:04:24 +0000 (17:04 +0100)] 
Stop the timer when shuttingdown the fetch context

When canceling the last fetch, we also need to stop the fctx_expired
timer from possibly firing between the fctx_shutdown() call and the
fetch being actually destroyed along with the timer.  As there are
multiple places where fctx_shutdown() is being called without stopping
the timer, move the fctx_stoptimer() to fctx_shutdown() and cleanup the
explicit usage.

16 months ago[9.18] fix: doc: Clarify dnssec-signzone interval option
Matthijs Mekking [Thu, 23 Jan 2025 11:53:34 +0000 (11:53 +0000)] 
[9.18] fix: doc: Clarify dnssec-signzone interval option

There was confusion about whether the interval was calculated from
the validity period provided on the command line (with -s and -e),
or from the signature being replaced.

Add text to clarify that the interval is calculated from the new
validity period.

Closes #5128

Backport of MR !9955

Merge branch 'backport-5128-clarify-dnssec-signzone-interval-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9984

16 months agoClarify dnssec-signzone interval option
Matthijs Mekking [Wed, 15 Jan 2025 12:47:48 +0000 (13:47 +0100)] 
Clarify dnssec-signzone interval option

There was confusion about whether the interval was calculated from
the validity period provided on the command line (with -s and -e),
or from the signature being replaced.

Add text to clarify that the interval is calculated from the new
validity period.

(cherry picked from commit ae42fa69fa1b1b19bdfa3c1957f8ca8fec005a24)

16 months ago[9.18] fix: usr: Yaml string not terminated in negative response in delv
Mark Andrews [Thu, 23 Jan 2025 00:40:13 +0000 (00:40 +0000)] 
[9.18] fix: usr: Yaml string not terminated in negative response in delv

Closes #5098

Backport of MR !9922

Merge branch 'backport-5098-missing-yaml-string-termination-delv-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9980

16 months agoCheck delv +yaml negative response output
Mark Andrews [Sun, 15 Dec 2024 23:29:26 +0000 (10:29 +1100)] 
Check delv +yaml negative response output

(cherry picked from commit 9c04640def525f04c0ff8a1fe796b521bb7547cb)

16 months agoTerminate yaml string after negative comment
Mark Andrews [Sun, 15 Dec 2024 22:57:30 +0000 (09:57 +1100)] 
Terminate yaml string after negative comment

(cherry picked from commit 89afc1138992def8d03a6cf59e3c9b4ea2185bbb)

16 months ago[9.18] fix: usr: Apply the memory limit only to ADB database items
Ondřej Surý [Wed, 22 Jan 2025 14:30:05 +0000 (14:30 +0000)] 
[9.18] fix: usr: Apply the memory limit only to ADB database items

Resolver under heavy-load could exhaust the memory available for storing
the information in the Address Database (ADB) effectively evicting already
stored information in the ADB.  The memory used to retrieve and provide
information from the ADB is now not a subject of the same memory limits
that are applied for storing the information in the Address Database.

Closes #5127

Backport of MR !9954

Merge branch 'backport-5127-change-ADB-memory-split-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9976

16 months agoRemove memory limit on ADB finds and fetches
Ondřej Surý [Wed, 15 Jan 2025 09:36:33 +0000 (10:36 +0100)] 
Remove memory limit on ADB finds and fetches

Address Database (ADB) shares the memory for the short lived ADB
objects (finds, fetches, addrinfo) and the long lived ADB
objects (names, entries, namehooks).  This could lead to a situation
where the resolver-heavy load would force evict ADB objects from the
database to point where ADB is completely empty, leading to even more
resolver-heavy load.

Make the short lived ADB objects use the other memory context that we
already created for the hashmaps.  This makes the ADB overmem condition
to not be triggered by the ongoing resolver fetches.

(cherry picked from commit 05faff6d5306de1e57b56f9ea44469bfb111e2e3)

16 months ago[9.18] fix: usr: Improve the resolver performance under attack
Ondřej Surý [Wed, 22 Jan 2025 14:27:44 +0000 (14:27 +0000)] 
[9.18] fix: usr: Improve the resolver performance under attack

A remote client can force the DNS resolver component to consume the memory faster than cleaning up the resources for the canceled resolver fetches due to `recursive-clients` limit. If the such traffic pattern is sustained for a long period of time, the DNS server might eventually run out of the available memory. This has been fixed.

It should be noted that when under such heavy attack for BIND 9 version both with and without the fix, no outgoing DNS queries will be successful as the generated traffic pattern will consume all the available slots for the recursive clients.

Merge branch '5110-backport-the-hashtable-use-for-fetchcontexts-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9961

16 months agoReplace linked lists with the hashtables to hold fetch contexts
Ondřej Surý [Wed, 15 Jan 2025 12:02:20 +0000 (13:02 +0100)] 
Replace linked lists with the hashtables to hold fetch contexts

When the recursive-clients value is too large, the linked lists holding
the fetch contexts can also grow large and since the algorithm to merge
outgoing queries is quadratic, named can get slow.

Replace the linked list with hashtable for faster lookups.  This also
allows us to reduce the number of tasks (buckets) in the resolver.

16 months ago[9.18] fix: usr: Avoid unnecessary locking in the zone/cache database
Ondřej Surý [Wed, 22 Jan 2025 13:31:39 +0000 (13:31 +0000)] 
[9.18] fix: usr: Avoid unnecessary locking in the zone/cache database

Prevent lock contention among many worker threads referring to the same database node at the same time. This would improve zone and cache database performance for the heavily contended database nodes.

Backport of !9963

Closes #5130

Merge branch '5130-reduce-lock-contention-in-decrement-reference-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9965

16 months agoOptimize database decref by avoiding locking with refs > 1
JINMEI Tatuya [Sat, 18 Jan 2025 00:54:19 +0000 (16:54 -0800)] 
Optimize database decref by avoiding locking with refs > 1

Previously, this function always acquires a node write lock if it
might need node cleanup in case the reference decrements to 0.  In
fact, the lock is unnecessary if the reference is larger than 1 and it
can be optimized as an "easy" case. This optimization could even be
"necessary". In some extreme cases, many worker threads could repeat
acquring and releasing the reference on the same node, resulting in
severe lock contention for nothing (as the ref wouldn't decrement to 0
in most cases). This change would prevent noticeable performance
drop like query timeout for such cases.

Co-authored-by: JINMEI Tatuya <jtatuya@infoblox.com>
Co-authored-by: Ondřej Surý <ondrej@isc.org>
(cherry picked from commit 7f4471594db157b61218ee6377e6ba0887092a41)

16 months ago[9.18] chg: dev: Shutdown the fetch context after canceling the last fetch
Ondřej Surý [Wed, 22 Jan 2025 13:22:26 +0000 (13:22 +0000)] 
[9.18] chg: dev: Shutdown the fetch context after canceling the last fetch

Shutdown the fetch context immediately after the last fetch has been canceled from that particular fetch context.

Merge branch 'ondrej/shutdown-the-fetch-context-early-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9960

16 months agoShutdown the fetch context after canceling the last fetch
Ondřej Surý [Wed, 15 Jan 2025 12:02:20 +0000 (13:02 +0100)] 
Shutdown the fetch context after canceling the last fetch

Currently, the fetch context will continue running even when the last
fetch (response) has been removed from the context, so named can process
and cache the answer.  This can lead to a situation where the number of
outgoing recursing clients exceeds the the configured number for
recursive-clients.

Be more stringent about the recursive-clients limit and shutdown the
fetch context immediately after the last fetch has been canceled from
that particular fetch context.

16 months ago[9.18] rem: usr: Remove --with-tuning=small/large configuration option
Ondřej Surý [Wed, 22 Jan 2025 13:17:13 +0000 (13:17 +0000)] 
[9.18] rem: usr: Remove --with-tuning=small/large configuration option

The configuration option --with-tuning has been removed as it is no longer required or desired.

Merge branch 'ondrej/remove-tuning-large-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9959

16 months agoRemove --with-tuning=small/large configuration option
Ondřej Surý [Wed, 15 Jan 2025 16:11:48 +0000 (17:11 +0100)] 
Remove --with-tuning=small/large configuration option

The last remaining tuning value was RESOLVER_NTASKS and instead of
having variable number of the tasks per-cpu and in named and in
dns_client, set the number of the resolver tasks to 523 (number taken
from dns_client unit) to accomodate most of the recursive-clients
values.

16 months ago[9.18] chg: dev: Reduce memory sizes of common structures
Ondřej Surý [Wed, 22 Jan 2025 13:13:01 +0000 (13:13 +0000)] 
[9.18] chg: dev: Reduce memory sizes of common structures

* Reduce `sizeof(isc_sockaddr_t)` from 152 to 48 bytes
* Reduce `sizeof(struct isc__nm_uvreq)` from 1560 to 560 bytes

Partial backport of !8299

Merge branch 'ondrej/reduce-netmgr-memory-usage-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9953

16 months agoReduce struct isc__nm_uvreq size from 1560 to 560 bytes
Ondřej Surý [Tue, 12 Sep 2023 07:10:41 +0000 (09:10 +0200)] 
Reduce struct isc__nm_uvreq size from 1560 to 560 bytes

The uv_req union member of struct isc__nm_uvreq contained libuv request
types that we don't use.  Turns out that uv_getnameinfo_t is 1000 bytes
big and unnecessarily enlarged the whole structure.  Remove all the
unused members from the uv_req union.

16 months agoReduce sizeof isc_sockaddr from 152 to 48 bytes
Ondřej Surý [Tue, 12 Sep 2023 07:21:53 +0000 (09:21 +0200)] 
Reduce sizeof isc_sockaddr from 152 to 48 bytes

After removing sockaddr_unix from isc_sockaddr, we can also remove
sockaddr_storage and reduce the isc_sockaddr size from 152 bytes to just
48 bytes needed to hold IPv6 addresses.

(cherry picked from commit 2367b6a2e1770df42415a1813b036814a945843b)

16 months ago[9.18] new: nil: ignore TAGS files
Colin Vidal [Wed, 22 Jan 2025 12:09:02 +0000 (12:09 +0000)] 
[9.18] new: nil: ignore TAGS files

Backport of MR !9956

Merge branch 'backport-colin/ignoreTAGS-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9974

16 months agoignore TAGS files
Colin Vidal [Wed, 15 Jan 2025 13:53:28 +0000 (14:53 +0100)] 
ignore TAGS files

TAGS file are generated from `make tags` using etags. Other index tags
are already ignored (GTAGS, GPATH, etc.). Also ignoring `TAGS`.

(cherry picked from commit 2164ea8abdd511e320355895a84ba60c4a5c6a81)

16 months agochg: doc: Set up version for BIND 9.18.34
Andoni Duarte [Wed, 22 Jan 2025 08:33:26 +0000 (08:33 +0000)] 
chg: doc: Set up version for BIND 9.18.34

Merge branch 'andoni/set-up-version-for-bind-9.18.34' into 'bind-9.18'

See merge request isc-projects/bind9!9970

16 months agoUpdate BIND version to 9.18.34-dev
Andoni Duarte Pintado [Tue, 21 Jan 2025 16:55:04 +0000 (17:55 +0100)] 
Update BIND version to 9.18.34-dev

16 months agoUpdate BIND version for release 216585 v9.18.33
Nicki Křížek [Mon, 20 Jan 2025 13:35:25 +0000 (14:35 +0100)] 
Update BIND version for release

16 months agonew: doc: Prepare documentation for BIND 9.18.33
Nicki Křížek [Mon, 20 Jan 2025 13:32:58 +0000 (13:32 +0000)] 
new: doc: Prepare documentation for BIND 9.18.33

Merge branch 'andoni/prepare-documentation-for-bind-9.18.33' into 'v9.18.33-release'

See merge request isc-private/bind9!774

16 months agoTweak and reword release notes
Andoni Duarte Pintado [Thu, 16 Jan 2025 15:43:14 +0000 (16:43 +0100)] 
Tweak and reword release notes

16 months agoFix broken option reference in the ARM
Andoni Duarte Pintado [Thu, 16 Jan 2025 09:41:20 +0000 (10:41 +0100)] 
Fix broken option reference in the ARM

16 months agoPrepare release notes for BIND 9.18.33
Andoni Duarte Pintado [Thu, 16 Jan 2025 15:39:21 +0000 (16:39 +0100)] 
Prepare release notes for BIND 9.18.33

16 months agoGenerate changelog for BIND 9.18.33
Andoni Duarte Pintado [Thu, 16 Jan 2025 15:38:10 +0000 (16:38 +0100)] 
Generate changelog for BIND 9.18.33

16 months ago[9.18] [CVE-2024-12705] sec: usr: DNS-over-HTTP(s) flooding fixes
Andoni Duarte [Wed, 15 Jan 2025 16:03:28 +0000 (16:03 +0000)] 
[9.18] [CVE-2024-12705] sec: usr: DNS-over-HTTP(s) flooding fixes

Fix DNS-over-HTTP(S) implementation issues that arise under heavy
query load. Optimize resource usage for :iscman:`named` instances
that accept queries over DNS-over-HTTP(S).

Previously, :iscman:`named` would process all incoming HTTP/2 data
at once, which could overwhelm the server, especially when dealing
with clients that send requests but don't wait for responses. That
has been fixed. Now, :iscman:`named` handles HTTP/2 data in smaller
chunks and throttles reading until the remote side reads the
response data. It also throttles clients that send too many requests
at once.

Additionally, :iscman:`named` now carefully processes data sent by
some clients, which can be considered "flooding." It logs these
clients and drops connections from them.
:gl:`#4795`

In some cases, :iscman:`named` could leave DNS-over-HTTP(S)
connections in the `CLOSE_WAIT` state indefinitely. That also has
been fixed. ISC would like to thank JF Billaud for thoroughly
investigating the issue and verifying the fix.
:gl:`#5083`

See https://gitlab.isc.org/isc-projects/bind9/-/issues/4795

Closes https://gitlab.isc.org/isc-projects/bind9/-/issues/5083

Backport of !732.

Merge branch 'artem-improve-doh-resource-usage-9.18' into 'v9.18.33-release'

See merge request isc-private/bind9!763

16 months agoDoH: reduce excessive bad request logging
Artem Boldariev [Thu, 18 Jul 2024 17:21:53 +0000 (20:21 +0300)] 
DoH: reduce excessive bad request logging

We started using isc_nm_bad_request() more actively throughout
codebase. In the case of HTTP/2 it can lead to a large count of
useless "Bad Request" messages in the BIND log, as often we attempt to
send such request over effectively finished HTTP/2 sessions.

This commit fixes that.

(cherry picked from commit 937b5f8349a6a5e15af254a53a659e39c7c1d179)

16 months agoDoH: introduce manual read timer control
Artem Boldariev [Tue, 9 Jul 2024 20:23:11 +0000 (23:23 +0300)] 
DoH: introduce manual read timer control

This commit introduces manual read timer control as used by StreamDNS
and its underlying transports. Before that, DoH code would rely on the
timer control provided by TCP, which would reset the timer any time
some data arrived. Now, the timer is restarted only when a full DNS
message is processed in line with other DNS transports.

That change is required because we should not stop the timer when
reading from the network is paused due to throttling. We need a way to
drop timed-out clients, particularly those who refuse to read the data
we send.

(cherry picked from commit 609a41517b1631c320876a41c43c68c9a0ee0f9f)

16 months agoDoH: floodding clients detection
Artem Boldariev [Mon, 8 Jul 2024 20:27:29 +0000 (23:27 +0300)] 
DoH: floodding clients detection

This commit adds logic to make code better protected against clients
that send valid HTTP/2 data that is useless from a DNS server
perspective.

Firstly, it adds logic that protects against clients who send too
little useful (=DNS) data. We achieve that by adding a check that
eventually detects such clients with a nonfavorable useful to
processed data ratio after the initial grace period. The grace period
is limited to processing 128 KiB of data, which should be enough for
sending the largest possible DNS message in a GET request and then
some. This is the main safety belt that would detect even flooding
clients that initially behave well in order to fool the checks server.

Secondly, in addition to the above, we introduce additional checks to
detect outright misbehaving clients earlier:

The code will treat clients that open too many streams (50) without
sending any data for processing as flooding ones; The clients that
managed to send 1.5 KiB of data without opening a single stream or
submitting at least some DNS data will be treated as flooding ones.
Of course, the behaviour described above is nothing else but
heuristical checks, so they can never be perfect. At the same time,
they should be reasonable enough not to drop any valid clients,
realatively easy to implement, and have negligible computational
overhead.

(cherry picked from commit 3425e4b1d04746520931e93ac7ef5979fd6b54fd)

16 months agoDoH: process data chunk by chunk instead of all at once
Artem Boldariev [Thu, 4 Jul 2024 11:58:10 +0000 (14:58 +0300)] 
DoH: process data chunk by chunk instead of all at once

Initially, our DNS-over-HTTP(S) implementation would try to process as
much incoming data from the network as possible. However, that might
be undesirable as we might create too many streams (each effectively
backed by a ns_client_t object). That is too forgiving as it might
overwhelm the server and trash its memory allocator, causing high CPU
and memory usage.

Instead of doing that, we resort to processing incoming data using a
chunk-by-chunk processing strategy. That is, we split data into small
chunks (currently 256 bytes) and process each of them
asynchronously. However, we can process more than one chunk at
once (up to 4 currently), given that the number of HTTP/2 streams has
not increased while processing a chunk.

That alone is not enough, though. In addition to the above, we should
limit the number of active streams: these streams for which we have
received a request and started processing it (the ones for which a
read callback was called), as it is perfectly fine to have more opened
streams than active ones. In the case we have reached or surpassed the
limit of active streams, we stop reading AND processing the data from
the remote peer. The number of active streams is effectively decreased
only when responses associated with the active streams are sent to the
remote peer.

Overall, this strategy is very similar to the one used for other
stream-based DNS transports like TCP and TLS.

(cherry picked from commit 9846f395ad79bb50a5fa5ca6ab97ef904b3be35a)

16 months agoAdd isc__nm_async_run()
Artem Boldariev [Fri, 6 Sep 2024 14:28:58 +0000 (17:28 +0300)] 
Add isc__nm_async_run()

This commit adds isc__nm_async_run() which is very similar to
isc_async_run() in newer versions of BIND: it allows calling a
callback asynchronously.

Potentially, it can be used to replace some other async operations in
other networking code, in particular the delayed I/O calls in TLS a
TCP DNS transports to name a few and remove quiet a lot of code, but
it we are unlikely to do that for the strictly maintenance only
branch, so it is protected with DoH-related #ifdefs.

It is implemented in a "universal" way mainly because doing it in the
specific code requires the same amount of code and is not simpler.

16 months agoImplement TLS manual read timer control functionality
Artem Boldariev [Wed, 4 Sep 2024 18:35:35 +0000 (21:35 +0300)] 
Implement TLS manual read timer control functionality

This commit adds a manual TLS read timer control mode which is
supposed to override automatic resetting of the timer when any data is
received.

It both depends and complements similar functionality in TCP.

16 months agoImplement TCP manual read timer control functionality
Artem Boldariev [Wed, 4 Sep 2024 15:53:35 +0000 (18:53 +0300)] 
Implement TCP manual read timer control functionality

This commit adds a manual TCP read timer control mode which is
supposed to override automatic resetting of the timer when any data is
received. That can be accomplished by
`isc__nmhandle_set_manual_timer()`.

This functionality is supposed to be used by multilevel networking
transports which require finer grained control over the read
timer (TLS Stream, DoH).

The commit is essentially an implementation of the functionality from
newer versions of BIND.

16 months ago[9.18] [CVE-2024-11187] sec: usr: Limit the additional processing for large RDATA...
Andoni Duarte [Wed, 15 Jan 2025 13:27:08 +0000 (13:27 +0000)] 
[9.18] [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.18' into 'v9.18.33-release'

See merge request isc-private/bind9!759

16 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)

16 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.18] new: ci: Add shotgun perf test of DoH GET to CI
Nicki Křížek [Wed, 8 Jan 2025 14:13:04 +0000 (14:13 +0000)] 
[9.18] new: ci: Add shotgun perf test of DoH GET to CI

Add performance tests of DoH using the GET protocol to nightly pipelines.

Backport of MR !9926

Merge branch 'backport-nicki/ci-shotgun-doh-get-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9940

16 months agoAdd shotgun perf test of DoH GET to CI
Nicki Křížek [Thu, 19 Dec 2024 11:45:04 +0000 (12:45 +0100)] 
Add shotgun perf test of DoH GET to CI

(cherry picked from commit 32c5f24713ca839668f4d024feef4c1b256c8bbc)

16 months agofix: dev: Fix a bug in isc_rwlock_trylock()
Arаm Sаrgsyаn [Wed, 8 Jan 2025 10:29:14 +0000 (10:29 +0000)] 
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

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

See merge request isc-projects/bind9!9937

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.

17 months ago[9.18] fix: test: Various coccinelle fixes
Michal Nowak [Fri, 13 Dec 2024 15:34:11 +0000 (15:34 +0000)] 
[9.18] fix: test: Various coccinelle fixes

Backport of MR !9836

Merge branch 'backport-mnowak/cocci-more-set-if-not-null-changes-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9917

17 months agoDrop superfluous isc_mem_get() NULL check
Michal Nowak [Thu, 12 Dec 2024 16:42:50 +0000 (17:42 +0100)] 
Drop superfluous isc_mem_get() NULL check

coccinelle v1.1 trips over a superfluous isc_mem_get() NULL check in
tests/libtest/ns.c and reports the following failure in CI:

    EXN: Failure("rule starting on line 26: already tagged token:\nC code context\nFile \"./tests/libtest/ns.c\", line 350, column 1, charpos = 7939\n  around = 'if',\n  whole content = \tif (qctx != NULL) {") in ./tests/libtest/ns.c

(cherry picked from commit cf76851c7543c6dc5bf3468f9f1af017d1df5343)

17 months agoMerge tag 'v9.18.32' into bind-9.18
Andoni Duarte Pintado [Fri, 13 Dec 2024 09:41:07 +0000 (10:41 +0100)] 
Merge tag 'v9.18.32' into bind-9.18

17 months ago[9.18] fix: test: Fix "checking startup notify rate limit" failure
Mark Andrews [Fri, 13 Dec 2024 01:40:04 +0000 (01:40 +0000)] 
[9.18] fix: test:  Fix "checking startup notify rate limit" failure

Fix the loop terminating condition to get consistent sample sizes and increase the minimum number of samples from 20 to 40.

Closes #5091

Backport of MR !9894

Merge branch 'backport-5091-investigate-checking-startup-notify-rate-limit-failure-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9910

17 months agoFix startup notify rate test
Mark Andrews [Wed, 11 Dec 2024 02:32:18 +0000 (13:32 +1100)] 
Fix startup notify rate test

The terminating conditions for the startup notify test would
occasionally get ~20 records or get +10 seconds of records due to
a bad terminating condition.  Additionally 20 samples lead to test
failures.  Fix the terminating condition to use the correct conditional
(-eq -> -ge) and increase the minimum number of log entries to
average over to 22.

(cherry picked from commit 46388d07a2849d8f82d52d334caf09c986daa27c)

17 months ago[9.18] fix: test: tests/irs/resconf_test.c is missing check callbacks
Mark Andrews [Thu, 12 Dec 2024 23:58:26 +0000 (23:58 +0000)] 
[9.18] fix: test: tests/irs/resconf_test.c is missing check callbacks

Closes #5088

Backport of MR !9884

Merge branch 'backport-5088-tests-irs-resconf_test-c-is-missing-check-callbacks-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9908

17 months agoCheck that nameservers are parsed correctly
Mark Andrews [Tue, 10 Dec 2024 06:35:16 +0000 (17:35 +1100)] 
Check that nameservers are parsed correctly

Add checks that the expected nameservers where actuall addes when
parsing resolv.conf.

(cherry picked from commit c38eb871587147cdc795a11ec232eb5dbd6b285b)

17 months ago[9.18] chg: doc: Update CONTRIBUTING.md and developer docs
Nicki Křížek [Thu, 12 Dec 2024 17:13:39 +0000 (17:13 +0000)] 
[9.18] chg: doc: Update CONTRIBUTING.md and developer docs

Include the recent changes such as:
- changes to running system tests
- gitlab development workflow
- changelog and release note process

Closes #5045

Backport of MR !9784

Merge branch 'backport-5045-update-contributing-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9903

17 months agoUpdate CONTRIBUTING.md and developer doc
Nicki Křížek [Tue, 26 Nov 2024 15:33:33 +0000 (16:33 +0100)] 
Update CONTRIBUTING.md and developer doc

Include the recent changes such as:
- changes to running system tests
- gitlab development workflow
- changelog and release note process

(cherry picked from commit 39485c1f70a3577c3a883114b844770aa9b05e22)

17 months ago[9.18] fix: test: Wait for "all zones loaded" after rndc reload in "database" test
Michal Nowak [Thu, 12 Dec 2024 12:51:46 +0000 (12:51 +0000)] 
[9.18] fix: test: Wait for "all zones loaded" after rndc reload in "database" test

After the rndc reload command finished, we might have queried the
database zone sooner than it was reloaded because rndc reloads zones
asynchronously if no specific zone was provided. We should wait for "all
zones loaded" in the ns1 log to be sure.

Closes #5075

Backport of MR !9829

Merge branch 'backport-5075-database-rndc-reload-ensure-all-zones-loaded-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9901

17 months agoWait for "all zones loaded" after rndc reload in "database" test
Michal Nowak [Thu, 5 Dec 2024 10:58:12 +0000 (11:58 +0100)] 
Wait for "all zones loaded" after rndc reload in "database" test

After the rndc reload command finished, we might have queried the
database zone sooner than it was reloaded because rndc reloads zones
asynchronously if no specific zone was provided. We should wait for "all
zones loaded" in the ns1 log to be sure.

(cherry picked from commit 0bdd03db6683cd30924456823f650e37235cbce8)

17 months ago[9.18] fix: nil: update style guideline to reflect current practice
Evan Hunt [Wed, 11 Dec 2024 15:53:26 +0000 (15:53 +0000)] 
[9.18] fix: nil: update style guideline to reflect current practice

The style guide now mentions clang-format, doesn't parenthesize return values, and no longer calls for backward compatibility in public function names.

Backport of MR !9892

Merge branch 'backport-each-style-update-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9897

17 months agoupdate style guideline to reflect current practice
Evan Hunt [Tue, 10 Dec 2024 22:11:45 +0000 (14:11 -0800)] 
update style guideline to reflect current practice

It now mentions clang-format, doesn't parenthesize return values,
and no longer calls for backward compatibility in public function names.

(cherry picked from commit 9f7314eaa4ed13f141ea71219e1cd042a184cc9c)

17 months ago[9.18] fix: test: Add rr-related common test artifacts
Michal Nowak [Tue, 10 Dec 2024 18:22:55 +0000 (18:22 +0000)] 
[9.18] fix: test: Add rr-related common test artifacts

Backport of MR !9830

Merge branch 'backport-mnowak/add-rr-related-common-artifacts-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9890

17 months agoAdd rr-related common test artifacts
Michal Nowak [Thu, 5 Dec 2024 11:54:38 +0000 (12:54 +0100)] 
Add rr-related common test artifacts

(cherry picked from commit c607237b77f6cb56b51195f37685b83c73487fb6)

17 months ago[9.18] fix: ci: Set cross-version-config-tests to allow_failure in CI
Michal Nowak [Tue, 10 Dec 2024 10:22:16 +0000 (10:22 +0000)] 
[9.18] fix: ci: Set cross-version-config-tests to allow_failure in CI

Address failing cross-version-config-tests job.

Closes #5087

Backport of MR !9833

Merge branch 'backport-mnowak/cross-version-config-tests-allow-fail-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9887

17 months agoSet cross-version-config-tests to allow_failure in CI
Michal Nowak [Thu, 5 Dec 2024 14:50:40 +0000 (15:50 +0100)] 
Set cross-version-config-tests to allow_failure in CI

The December releases suffer from the ns2/managed1.conf file not being
in the mkeys extra_artifacts. This manifests only when pytest is run
with the --setup-only option, which is the case in the
cross-version-config-tests CI job. The original issue is fixed in !9815,
but the fix will be effective only when subsequent releases are out.

(cherry picked from commit 97a9d7287c075b55cd599d98e68e04121b854a1d)

17 months ago[9.18] chg: test: Use a different burst name to identify test queries
Mark Andrews [Tue, 10 Dec 2024 06:43:23 +0000 (06:43 +0000)] 
[9.18] chg: test: Use a different burst name to identify test queries

This allows easier identification of which burst is which in
named.run.

Backport of MR !9881

Merge branch 'backport-marka-use-different-burst-name-for-forensics-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9883

17 months agoUse a different burst name to identify test queries
Mark Andrews [Fri, 6 Sep 2024 04:51:24 +0000 (14:51 +1000)] 
Use a different burst name to identify test queries

This allows easier identification of which burst is which in
named.run.

(cherry picked from commit e02d66b2791242a2e2065c6747a0ab5ff2ce3130)

17 months ago[9.18] fix: test: Fix static stub subtest description
Mark Andrews [Tue, 10 Dec 2024 04:36:32 +0000 (04:36 +0000)] 
[9.18] fix: test: Fix static stub subtest description

This subtest exercises static stub behaviour when server-addresses has an address.  This was misidentified in the description.

Closes !9799

Backport of MR !9799

Merge branch 'backport-marka-fix-stub-subtest-description-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9880

17 months agoFix static stub subtest description
Mark Andrews [Tue, 1 Oct 2024 03:12:11 +0000 (13:12 +1000)] 
Fix static stub subtest description

(cherry picked from commit f173a0145425c7d598382004b0db7c0c0b4453a0)

17 months ago[9.18] fix: usr: Unknown directive in resolv.conf not handled properly
Mark Andrews [Tue, 10 Dec 2024 03:36:40 +0000 (03:36 +0000)] 
[9.18] fix: usr: Unknown directive in resolv.conf not handled properly

The line after an unknown directive in resolv.conf could accidentally be skipped, potentially affecting dig, host, nslookup, nsupdate, or delv. This has been fixed.

Closes #5084

Backport of MR !9865

Merge branch 'backport-5084-plain-unknown-keyword-in-resolv-conf-not-handled-propely-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9878

17 months agoExtend resconf_test
Mark Andrews [Mon, 9 Dec 2024 02:04:05 +0000 (13:04 +1100)] 
Extend resconf_test

Update to the new unit test framework.

Add a test for an unknown directive without any arguments.

Add test for an unknown directive without arguments, followed
by a search directive.

(cherry picked from commit c44c4fcbfbc65ffc8226c461b172c2bef83872f8)

17 months agoFix parsing of unknown directives in resolv.conf
Mark Andrews [Mon, 9 Dec 2024 03:45:38 +0000 (14:45 +1100)] 
Fix parsing of unknown directives in resolv.conf

Only call eatline() to skip to the next line if we're not
already at the end of a line when parsing an unknown directive.
We were accidentally skipping the next line when there was only
a single unknown directive on the current line.

(cherry picked from commit eb78ad20803b28f1a5ede52115ad6bd73cfeb843)

17 months ago[9.18] new: test: Add Fedora 41
Michal Nowak [Mon, 9 Dec 2024 18:00:12 +0000 (18:00 +0000)] 
[9.18] new: test: Add Fedora 41

Prereq: isc-projects/images!345

Backport of MR !9612

Merge branch 'backport-mnowak/fedora-41-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9876

17 months agoAdd Fedora 41
Michal Nowak [Thu, 10 Oct 2024 09:11:48 +0000 (11:11 +0200)] 
Add Fedora 41

(cherry picked from commit 66fddf812fd9923fb8afe12df3701ac3497e8947)

17 months ago[9.18] new: test: Add Alpine Linux 3.21
Michal Nowak [Mon, 9 Dec 2024 17:17:39 +0000 (17:17 +0000)] 
[9.18] new: test: Add Alpine Linux 3.21

Prereq: isc-projects/images!359

Backport of MR !9872

Merge branch 'backport-mnowak/alpine-3.21-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9874

17 months agoAdd Alpine Linux 3.21
Michal Nowak [Mon, 9 Dec 2024 15:35:59 +0000 (16:35 +0100)] 
Add Alpine Linux 3.21

(cherry picked from commit 6340454ea74cf7ea839251cbf9cb4ee00016bad5)

17 months ago[9.18] new: ci: Add FreeBSD 14.2
Michal Nowak [Mon, 9 Dec 2024 13:42:25 +0000 (13:42 +0000)] 
[9.18] new: ci: Add FreeBSD 14.2

Backport of MR !9838

Merge branch 'backport-mnowak/freebsd-14.2-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9870

17 months agoAdd FreeBSD 14.2
Michal Nowak [Thu, 5 Dec 2024 18:27:36 +0000 (19:27 +0100)] 
Add FreeBSD 14.2

(cherry picked from commit a5628101ee1efdd51bc709c0174dd7fdcf018f6d)

17 months ago[9.18] chg: dev: Use query counters in validator code
Matthijs Mekking [Mon, 9 Dec 2024 11:26:20 +0000 (11:26 +0000)] 
[9.18] chg: dev: Use query counters in validator code

Commit af7db8951364a89c468eda1535efb3f53adc2c1f as part of #4141 was supposed to apply the 'max-recursion-queries' quota to validator queries, but the counter was never actually passed on to 'dns_resolver_createfetch()'. This has been fixed, and the global query counter ('max-query-count', per client request) is now also added.

Related to #4980

Backport of MR !9856

Merge branch 'backport-4980-pass-counters-in-validator-createfetch-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9867

17 months agoUse query counters in validator code
Matthijs Mekking [Fri, 6 Dec 2024 15:41:15 +0000 (16:41 +0100)] 
Use query counters in validator code

Commit af7db8951364a89c468eda1535efb3f53adc2c1f as part of #4141 was
supposed to apply the 'max-recursion-queries' quota to validator
queries, but the counter was never actually passed on to
dns_resolver_createfetch(). This has been fixed, and the global query
counter ('max-query-count', per client request) is now also added.

(cherry picked from commit 5b1ae4a9485af1f7a247fd0c23d16a0ce51456ab)

17 months ago[9.18] chg: dev: Update picohttpparser.{c,h} with upstream repository
Ondřej Surý [Sun, 8 Dec 2024 13:16:07 +0000 (13:16 +0000)] 
[9.18] chg: dev: Update picohttpparser.{c,h} with upstream repository

Closes #4485

Backport of MR !9857

Merge branch 'backport-4485-update-httppicoparser-9.18' into 'bind-9.18'

See merge request isc-projects/bind9!9864