]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
2 months agoIntroduce ZoneName::toStringFull to emit variant names... 15512/head
Peter van Dijk [Fri, 23 May 2025 14:50:05 +0000 (16:50 +0200)] 
Introduce ZoneName::toStringFull to emit variant names...

...and use it for error report in ws-auth.

the size of this commit shows that perhaps we should have
ZoneName::toString() emit the variant. This commit will not
be folded into a previous one, so that it is easy to revert
and rework later.

2 months agoset edns-subnet scope mask
Peter van Dijk [Fri, 23 May 2025 12:14:43 +0000 (14:14 +0200)] 
set edns-subnet scope mask

2 months agoauth-py: add lmdb variants testing
Peter van Dijk [Thu, 22 May 2025 14:09:05 +0000 (16:09 +0200)] 
auth-py: add lmdb variants testing

2 months agoMake increaseSOARecord and RFC2136 code variant-aware.
Miod Vallat [Wed, 7 May 2025 12:01:03 +0000 (14:01 +0200)] 
Make increaseSOARecord and RFC2136 code variant-aware.

2 months agoKeep remote in Lua context, to make dblookup search within the current view.
Miod Vallat [Wed, 7 May 2025 06:47:25 +0000 (08:47 +0200)] 
Keep remote in Lua context, to make dblookup search within the current view.

2 months agoAdd API networks and views testing.
Miod Vallat [Fri, 11 Apr 2025 08:49:57 +0000 (10:49 +0200)] 
Add API networks and views testing.

2 months agoreplace soaData.qname by a getter based on zonename
Peter van Dijk [Tue, 6 May 2025 10:19:05 +0000 (12:19 +0200)] 
replace soaData.qname by a getter based on zonename

2 months agoTry and build fewer ZoneName objects whenever possible.
Miod Vallat [Mon, 5 May 2025 13:35:06 +0000 (15:35 +0200)] 
Try and build fewer ZoneName objects whenever possible.

2 months agoDocument views.
Miod Vallat [Mon, 5 May 2025 11:57:55 +0000 (13:57 +0200)] 
Document views.

2 months agoAdd -variant tests to lmdb, and enable these in CI.
Peter van Dijk [Wed, 30 Apr 2025 10:11:14 +0000 (12:11 +0200)] 
Add -variant tests to lmdb, and enable these in CI.

2 months agoCarry variant information in SOAData.
Peter van Dijk [Wed, 30 Apr 2025 10:14:37 +0000 (12:14 +0200)] 
Carry variant information in SOAData.

Use this in order to produce the correct RRSIGs and DNSKEYs.

Also, lowercase soaData.qname

2 months agoMore use of domainid_t instead of int.
Miod Vallat [Mon, 5 May 2025 06:24:52 +0000 (08:24 +0200)] 
More use of domainid_t instead of int.

2 months agoRequire explicit zone id values in lookup calls.
Miod Vallat [Fri, 25 Apr 2025 05:46:22 +0000 (07:46 +0200)] 
Require explicit zone id values in lookup calls.

Annotate use of UnknownDomainID when it's safe to use.

2 months agoAdd and test support for views in packet cache.
Miod Vallat [Thu, 24 Apr 2025 10:19:58 +0000 (12:19 +0200)] 
Add and test support for views in packet cache.

The packet cache data buckets are now set up in an unordered map
addressed by the view name.

Doing this also makes sure that, if the network configuration of a view
changes, the cache contents are still valid as long as there is no
change in the zones found in that view.

2 months agoSupport for views on AXFR.
Peter van Dijk [Thu, 24 Apr 2025 13:16:52 +0000 (15:16 +0200)] 
Support for views on AXFR.

Note that this causes somewhat important plumbing changes, getSOA will now
take an optional zone ID, which callers should provide if they know it, in
order to save a possible expensive getDomainInfo call.

2 months agoFirst set of regression tests for views.
Peter van Dijk [Mon, 7 Apr 2025 13:51:30 +0000 (15:51 +0200)] 
First set of regression tests for views.

2 months agoIntroduce a Bind-style Views feature.
Peter van Dijk [Mon, 7 Apr 2025 13:25:39 +0000 (15:25 +0200)] 
Introduce a Bind-style Views feature.

Add interfaces to the zone cache to get the view name from the
originating network address, and to retrieve the appropriate
variant name to use to update a ZoneName when necessary.

Allow updates from the http api.

Add zonecache unit test for views.

2 months agoimplement LMDB schema upgrade to v6
Peter van Dijk [Tue, 15 Apr 2025 13:13:09 +0000 (15:13 +0200)] 
implement LMDB schema upgrade to v6

2 months agoPreliminary views supports for LMDB.
Peter van Dijk [Mon, 7 Apr 2025 13:24:50 +0000 (15:24 +0200)] 
Preliminary views supports for LMDB.

2 months agoNaive plumbing of views and networks in the REST API.
Miod Vallat [Thu, 27 Mar 2025 16:04:45 +0000 (17:04 +0100)] 
Naive plumbing of views and networks in the REST API.

2 months agoAdd views-related commands to pdnsutil.
Peter van Dijk [Mon, 7 Apr 2025 13:25:15 +0000 (15:25 +0200)] 
Add views-related commands to pdnsutil.

2 months agoNew DNSBackend entry points for views support.
Peter van Dijk [Fri, 28 Mar 2025 06:04:35 +0000 (07:04 +0100)] 
New DNSBackend entry points for views support.

2 months agoadd g_rootzonename
Peter van Dijk [Fri, 2 May 2025 10:28:16 +0000 (12:28 +0200)] 
add g_rootzonename

2 months agoAdd optional variants to ZoneName.
Miod Vallat [Mon, 7 Apr 2025 09:55:21 +0000 (11:55 +0200)] 
Add optional variants to ZoneName.

2 months agoAdd views configuration setting and reject non-working configuration.
Miod Vallat [Mon, 7 Apr 2025 09:55:35 +0000 (11:55 +0200)] 
Add views configuration setting and reject non-working configuration.

2 months agoMerge pull request #15580 from rgacogne/ddist-fix-build-ol8
Remi Gacogne [Thu, 22 May 2025 10:59:54 +0000 (12:59 +0200)] 
Merge pull request #15580 from rgacogne/ddist-fix-build-ol8

dnsdist: Fix building on EL-8 (we now need Python 3.12 instead of 3.11)

2 months agoMerge pull request #15567 from Habbie/auth-py-backends
Peter van Dijk [Thu, 22 May 2025 09:57:55 +0000 (11:57 +0200)] 
Merge pull request #15567 from Habbie/auth-py-backends

auth-py testing: add backend choice

2 months agodnsdist: Fix building on EL-8 (we now need Python 3.12 instead of 3.11) 15580/head
Remi Gacogne [Thu, 22 May 2025 08:32:31 +0000 (10:32 +0200)] 
dnsdist: Fix building on EL-8 (we now need Python 3.12 instead of 3.11)

2 months agoauth-py tests: allow backend choice, add lmdb testing 15567/head
Peter van Dijk [Fri, 9 May 2025 18:05:13 +0000 (20:05 +0200)] 
auth-py tests: allow backend choice, add lmdb testing

2 months agoMerge pull request #15571 from rgacogne/ddist-fix-obsd-tcp-crash
Remi Gacogne [Thu, 22 May 2025 07:23:55 +0000 (09:23 +0200)] 
Merge pull request #15571 from rgacogne/ddist-fix-obsd-tcp-crash

dnsdist: Fix a crash when TCP queries and responses keep coming

2 months agoMerge pull request #15573 from rgacogne/ddist-coverity-202505
Remi Gacogne [Thu, 22 May 2025 07:23:45 +0000 (09:23 +0200)] 
Merge pull request #15573 from rgacogne/ddist-coverity-202505

dnsdist: Fix one potential issue and several false positives reported by Coverity

2 months agoMerge pull request #15574 from rgacogne/ddist-1.9.10-changelog-secpoll
Remi Gacogne [Tue, 20 May 2025 11:00:35 +0000 (13:00 +0200)] 
Merge pull request #15574 from rgacogne/ddist-1.9.10-changelog-secpoll

dnsdist: Add ChangeLog and update security polling zone for 1.9.10

2 months agodnsdist: Apply Peter's suggestion to the advisory 15574/head
Remi Gacogne [Tue, 20 May 2025 10:24:03 +0000 (12:24 +0200)] 
dnsdist: Apply Peter's suggestion to the advisory

Co-authored-by: Peter van Dijk <peter.van.dijk@powerdns.com>
2 months agodnsdist: Add security advisory 2025-03
Remi Gacogne [Tue, 20 May 2025 07:42:46 +0000 (09:42 +0200)] 
dnsdist: Add security advisory 2025-03

2 months agodnsdist: Prepare ChangeLog and secpoll for 1.9.10
Remi Gacogne [Mon, 19 May 2025 08:47:55 +0000 (10:47 +0200)] 
dnsdist: Prepare ChangeLog and secpoll for 1.9.10

2 months agodnsdist: Fix one potential issue spotted by Coverity 15573/head
Remi Gacogne [Tue, 20 May 2025 08:09:09 +0000 (10:09 +0200)] 
dnsdist: Fix one potential issue spotted by Coverity

As spotted by Coverity, one function called from a destructor could
in theory throw an exception which is not caught from within the
destructor, which would lead to a termination of the program.
At a quick glance it seems quite impossible to happen in practice
with the current code, but let's fix it nevertheless.

2 months agodnsdist: Fix Coverity's false positives
Remi Gacogne [Tue, 20 May 2025 08:08:49 +0000 (10:08 +0200)] 
dnsdist: Fix Coverity's false positives

2 months agodnsdist: Add a unit test for lots of pipelined queries w/ immediate response from... 15571/head
Remi Gacogne [Wed, 14 May 2025 18:33:09 +0000 (20:33 +0200)] 
dnsdist: Add a unit test for lots of pipelined queries w/ immediate response from backend

2 months agodnsdist: Fix a crash when TCP queries and responses keep coming
Remi Gacogne [Tue, 13 May 2025 13:50:21 +0000 (15:50 +0200)] 
dnsdist: Fix a crash when TCP queries and responses keep coming

It happens when we keep finding queries waiting for us on the incoming
TCP socket from the client, and responses waiting for us on the TCP
socket to the backend after forwarding a new query. This is quite
unlikely but not impossible to happen, as reported by Renaud Allard
(many thanks for taking the time to investigate the issue!).

2 months agoMerge pull request #15568 from omoerbeek/dnsdist-followup-15565
Otto Moerbeek [Tue, 20 May 2025 06:32:02 +0000 (08:32 +0200)] 
Merge pull request #15568 from omoerbeek/dnsdist-followup-15565

dnsdist: don't try creating symlink if it already exists

2 months agounlink as suggested by @miodvallat 15568/head
Otto Moerbeek [Mon, 19 May 2025 13:14:37 +0000 (15:14 +0200)] 
unlink as suggested by @miodvallat

2 months agodnsdist: don't try creating symlink if it already exists
Otto Moerbeek [Mon, 19 May 2025 12:48:07 +0000 (14:48 +0200)] 
dnsdist: don't try creating symlink if it already exists

I am seeing: FileExistsError: [Errno 17] File exists: '/Users/otto/pdns/pdns/dnsdistdist/dnsdist-rust-lib/dnsdist-configuration-yaml-items-generated.cc' -> './dnsdist-rust-lib//dnsdist-configuration-yaml-items-generated.cc'

after a change in dnsdist-settings-definitions.yml

Plus three typos in docs.

2 months agoMerge pull request #15524 from rgacogne/ddist-faster-custom-metrics
Remi Gacogne [Mon, 19 May 2025 12:43:04 +0000 (14:43 +0200)] 
Merge pull request #15524 from rgacogne/ddist-faster-custom-metrics

dnsdist: Improve scalability of custom metrics

2 months agoMerge pull request #15565 from rgacogne/ddist-fix-meson-stable-state
Remi Gacogne [Mon, 19 May 2025 12:15:51 +0000 (14:15 +0200)] 
Merge pull request #15565 from rgacogne/ddist-fix-meson-stable-state

dnsdist: Fix our `meson` build not reaching a stable state

2 months agoMerge pull request #15566 from rgacogne/ddist-ubicloud-private
Remi Gacogne [Mon, 19 May 2025 12:15:41 +0000 (14:15 +0200)] 
Merge pull request #15566 from rgacogne/ddist-ubicloud-private

build-and-test-all: Build DNSdist on Ubicloud runners when needed

2 months agodnsdist: Properly handle autotools-based builds as well 15565/head
Remi Gacogne [Mon, 19 May 2025 10:46:47 +0000 (12:46 +0200)] 
dnsdist: Properly handle autotools-based builds as well

2 months agodnsdist: Use a symbolic link in the meson build dir
Remi Gacogne [Mon, 19 May 2025 10:04:05 +0000 (12:04 +0200)] 
dnsdist: Use a symbolic link in the meson build dir

2 months agobuild-and-test-all: Build DNSdist on Ubicloud runners when needed 15566/head
Remi Gacogne [Thu, 15 May 2025 10:13:09 +0000 (12:13 +0200)] 
build-and-test-all: Build DNSdist on Ubicloud runners when needed

GH actions provides us with a 16 GB runner on public repositories,
but only 7 GB on private ones. Unfortunately our current workflow
assumes that we can get away with 4 concurrent jobs when building
DNSdist, which is true when we have 16 GB available but not with
7 GB.
So this commit switches to Ubicloud runners (standard 4, 4 vCPU,
16 GB) for repositories defining the `REPOSITORY_USE_UBICLOUD`
variable to 1. These runners are also significantly faster than the
GH actions ones.

2 months agodnsdist: Fix our `meson` build not reaching a stable state
Remi Gacogne [Mon, 19 May 2025 09:45:59 +0000 (11:45 +0200)] 
dnsdist: Fix our `meson` build not reaching a stable state

Before this commit calling `meson build` a second time right after building
triggered a re-generation of the `dnsdist-configuration-yaml-items-generated.cc`
file because `meson` wants it to be present in the build directory,
but we also want to generate it in the source directory so that it
can be included in the repository.
The current solution is a bit dirty, but our options are limited
because some files are only generated when YAML support is available,
because they require Rust, and we need them to be in the dist tarball.
Otto suggested that we could generate them only when building the dist
tarball, I'll look into it in a bit.

2 months agoMerge pull request #15472 from rgacogne/ddist-dynamic-resolver-gc
Remi Gacogne [Mon, 19 May 2025 09:04:45 +0000 (11:04 +0200)] 
Merge pull request #15472 from rgacogne/ddist-dynamic-resolver-gc

dnsdist: Reduce memory usage with fast-changing dynamic backends

2 months agoMerge pull request #15557 from rgacogne/ddist-fix-backend-discovery-on-gh-action...
Remi Gacogne [Mon, 19 May 2025 07:37:36 +0000 (09:37 +0200)] 
Merge pull request #15557 from rgacogne/ddist-fix-backend-discovery-on-gh-action-oops-they-did-it-again

dnsdist: Fix backend discovery regression test on GH action (again)

2 months agodnsdist: As suggested by Miod, add the date to the comment so we know when it is... 15557/head
Remi Gacogne [Sun, 18 May 2025 09:54:47 +0000 (11:54 +0200)] 
dnsdist: As suggested by Miod, add the date to the comment so we know when it is outdated

2 months agoMerge pull request #15559 from rgacogne/ddist-fix-flaky-proxy-protocol-test
Remi Gacogne [Sun, 18 May 2025 09:53:11 +0000 (11:53 +0200)] 
Merge pull request #15559 from rgacogne/ddist-fix-flaky-proxy-protocol-test

dnsdist: Fix a flaky Proxy Protocol regression test

2 months agoMerge pull request #15564 from omoerbeek/dnsdist-openbsd-fixes
Otto Moerbeek [Fri, 16 May 2025 13:17:27 +0000 (15:17 +0200)] 
Merge pull request #15564 from omoerbeek/dnsdist-openbsd-fixes

dnsdist: two fixes to enable building on OpenBSD with quic enabled

2 months agodnsdist: two fixes to enable building on OpenBSD with quic enabled 15564/head
Otto Moerbeek [Fri, 16 May 2025 12:26:42 +0000 (14:26 +0200)] 
dnsdist: two fixes to enable building on OpenBSD with quic enabled

Meson setup used:

meson setup build \
        -Dlibedit=auto \
        -Dcdb=auto \
        -Dcpp_args=-DDISABLE_OCSP_STAPLING \
        -Ddns-over-http3=enabled \
        -Ddns-over-https=enabled \
        -Ddns-over-quic=enabled \
        -Ddns-over-tls=enabled \
        -Dlmdb=enabled \
        -Dsnmp=disabled \
        -Dtls-gnutls=disabled \
        -Dtls-libssl-dir=/usr/local/eboringssl \
        -Dunit-tests=true \
        -Dyaml=enabled \
        -Ddnstap=enabled \

2 months agoMerge pull request #15563 from omoerbeek/dnsdist-warning
Otto Moerbeek [Fri, 16 May 2025 08:16:16 +0000 (10:16 +0200)] 
Merge pull request #15563 from omoerbeek/dnsdist-warning

dnsdist: surpress a warning on macOS

2 months agoMerge pull request #15546 from omoerbeek/rec-meson-gen-deps-fix
Otto Moerbeek [Fri, 16 May 2025 08:16:02 +0000 (10:16 +0200)] 
Merge pull request #15546 from omoerbeek/rec-meson-gen-deps-fix

rec [meson]: force some files to be regenerated when table.py changes

2 months agodnsdist: surpress a warning on macOS 15563/head
Otto Moerbeek [Fri, 16 May 2025 07:22:48 +0000 (09:22 +0200)] 
dnsdist: surpress a warning on macOS

2 months agoRefactor as suggested by @miodvallat 15546/head
Otto Moerbeek [Fri, 16 May 2025 07:17:48 +0000 (09:17 +0200)] 
Refactor as suggested by @miodvallat

2 months agodnsdist: Apply Miod's suggestion (thanks!) 15559/head
Remi Gacogne [Fri, 16 May 2025 07:11:58 +0000 (09:11 +0200)] 
dnsdist: Apply Miod's suggestion (thanks!)

Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoMerge pull request #15558 from rgacogne/ddist-ebpf-auto
Remi Gacogne [Thu, 15 May 2025 13:52:24 +0000 (15:52 +0200)] 
Merge pull request #15558 from rgacogne/ddist-ebpf-auto

dnsdist: Switch `eBPF` support to `auto` when building with `meson`

2 months agodnsdist: Fix a flaky Proxy Protocol regression test
Remi Gacogne [Thu, 15 May 2025 13:48:37 +0000 (15:48 +0200)] 
dnsdist: Fix a flaky Proxy Protocol regression test

2 months agodnsdist: Fix backend discovery regression test on GH action (again)
Remi Gacogne [Thu, 15 May 2025 08:11:23 +0000 (10:11 +0200)] 
dnsdist: Fix backend discovery regression test on GH action (again)

Apparently IPv6 is very flaky on GH actions these days, and I see
this test failing again and again because DNSdist cannot reliably
reach the servers over IPv6. IPv4 is fine from GH actions, v4 and
v6 are fine locally, so let's not fail in that case.

2 months agodnsdist: Explicitly enable eBPF support in our EL-based packages 15558/head
Remi Gacogne [Thu, 15 May 2025 08:43:12 +0000 (10:43 +0200)] 
dnsdist: Explicitly enable eBPF support in our EL-based packages

2 months agodnsdist: Switch eBPF support to `auto` when building with `meson`
Remi Gacogne [Thu, 15 May 2025 08:42:17 +0000 (10:42 +0200)] 
dnsdist: Switch eBPF support to `auto` when building with `meson`

It used to be that way with `autotools` and I don't see any good
reason to disable it by default.

2 months agoMerge pull request #15554 from rgacogne/ddist-fix-concurrent-connections-shards
Remi Gacogne [Tue, 13 May 2025 09:33:18 +0000 (11:33 +0200)] 
Merge pull request #15554 from rgacogne/ddist-fix-concurrent-connections-shards

dnsdist: Fix a crash in the TCP concurrent connections map

2 months agodnsdist: Fix a crash in the TCP concurrent connections map 15554/head
Remi Gacogne [Tue, 13 May 2025 07:20:22 +0000 (09:20 +0200)] 
dnsdist: Fix a crash in the TCP concurrent connections map

The bug was introduced in 99d1e8f044d43b9a75ffc70fed22ea674a9b7859.
Thanks to Robert Edmonds for finding, reporting and proposing a patch
fixing the issue!

2 months agoUse os.walk, as Path.walk is not always available
Otto Moerbeek [Fri, 9 May 2025 14:18:10 +0000 (16:18 +0200)] 
Use os.walk, as Path.walk is not always available

2 months agoMerge pull request #15534 from rgacogne/ddist-fix-invalid-proxy-protocol-payload...
Remi Gacogne [Mon, 12 May 2025 12:22:34 +0000 (14:22 +0200)] 
Merge pull request #15534 from rgacogne/ddist-fix-invalid-proxy-protocol-payload-size

dnsdist: Only set the proxy protocol payload size when actually added

2 months agoMerge pull request #15539 from rgacogne/ddist-fix-set-api-writable
Remi Gacogne [Mon, 12 May 2025 10:18:41 +0000 (12:18 +0200)] 
Merge pull request #15539 from rgacogne/ddist-fix-set-api-writable

dnsdist: The second parameter to `setAPIWritable()` is optional

2 months agodnsdist: Add a regression test for "restart query w/o proxy protocol" 15534/head
Remi Gacogne [Mon, 12 May 2025 10:17:18 +0000 (12:17 +0200)] 
dnsdist: Add a regression test for "restart query w/o proxy protocol"

2 months agodnsdist: The PP mock backend has to copy the response before editing it
Remi Gacogne [Mon, 12 May 2025 10:16:37 +0000 (12:16 +0200)] 
dnsdist: The PP mock backend has to copy the response before editing it

2 months agodnsdist: Reset the PP payload size when resetting the payload (restart)
Remi Gacogne [Mon, 12 May 2025 10:15:24 +0000 (12:15 +0200)] 
dnsdist: Reset the PP payload size when resetting the payload (restart)

We fixed that for UDP backends in a previous commit, but this was still
an issue for TCP-based backends.

2 months agodnsdist: Apply better syntax suggestion from Otto (thanks) 15539/head
Remi Gacogne [Mon, 12 May 2025 08:58:42 +0000 (10:58 +0200)] 
dnsdist: Apply better syntax suggestion from Otto (thanks)

2 months agoWhen table.py changes, some files need to be regenerated, but cargo neglects that...
Otto Moerbeek [Fri, 9 May 2025 09:23:06 +0000 (11:23 +0200)] 
When table.py changes, some files need to be regenerated, but cargo neglects that in some cases

2 months agodnsdist: As suggested by Miod's, add the new payload size to the initial value of...
Remi Gacogne [Wed, 7 May 2025 12:56:23 +0000 (14:56 +0200)] 
dnsdist: As suggested by Miod's, add the new payload size to the initial value of zero

Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agodnsdist: Only set the proxy protocol payload size when actually added
Remi Gacogne [Wed, 7 May 2025 08:52:56 +0000 (10:52 +0200)] 
dnsdist: Only set the proxy protocol payload size when actually added

I can think of two cases where we got this wrong:
- the query was initially assigned to a backend using the proxy protocol
  payload, then later restarted and assigned to a backend not using it.
  The proxy protocol payload size was then kept from the first assignment.
- we failed to actually prepend the proxy protocol payload but the payload
  size was updated.

Both cases could cause a corrupted payload to be sent, or an exception to
be raised if the size of the proxy protocol payload was larger than the
size of the initial query.

2 months agodnsdist: The second parameter to `setAPIWritable()` is optional
Remi Gacogne [Wed, 7 May 2025 13:06:43 +0000 (15:06 +0200)] 
dnsdist: The second parameter to `setAPIWritable()` is optional

This was broken 93cd7bf30d and not noticed because our regression
tests provide the optional parameter.

2 months agoMerge pull request #15541 from rgacogne/ddist-gracefully-handle-missing-v6-in-backend...
Peter van Dijk [Thu, 8 May 2025 13:29:53 +0000 (15:29 +0200)] 
Merge pull request #15541 from rgacogne/ddist-gracefully-handle-missing-v6-in-backend-discovery

dnsdist: Gracefully handle missing v6 in backend discovery test

2 months agoMerge pull request #15544 from jpmens/patch-16
Otto Moerbeek [Thu, 8 May 2025 09:54:54 +0000 (11:54 +0200)] 
Merge pull request #15544 from jpmens/patch-16

typo in pdns_server manpage

2 months agotypo in pdns_server manpage 15544/head
Jan-Piet Mens [Thu, 8 May 2025 09:17:37 +0000 (11:17 +0200)] 
typo in pdns_server manpage

2 months agodnsdist: Be a bit more patient in the Backend Discovery test 15541/head
Remi Gacogne [Wed, 7 May 2025 15:00:28 +0000 (17:00 +0200)] 
dnsdist: Be a bit more patient in the Backend Discovery test

2 months agodnsdist: Gracefully handle missing v6 in backend discovery test
Remi Gacogne [Wed, 7 May 2025 14:18:25 +0000 (16:18 +0200)] 
dnsdist: Gracefully handle missing v6 in backend discovery test

This test has been randomly failing on GH actions lately, and it looks
like it is because we sometimes do not get the IPv6 addresses when
resolving `dns.quad9.net` via the system resolver.

2 months agoMerge pull request #15530 from miodvallat/CDXCV
Miod Vallat [Wed, 7 May 2025 10:32:55 +0000 (12:32 +0200)] 
Merge pull request #15530 from miodvallat/CDXCV

auth-4.9.5 changelog & secpoll update

2 months agoauth-4.9.5 changelog & secpoll update 15530/head
Miod Vallat [Mon, 28 Apr 2025 12:24:08 +0000 (14:24 +0200)] 
auth-4.9.5 changelog & secpoll update

2 months agoMerge pull request #15526 from rgacogne/ddist-deprecate-httpstatusaction-options
Remi Gacogne [Wed, 7 May 2025 07:23:20 +0000 (09:23 +0200)] 
Merge pull request #15526 from rgacogne/ddist-deprecate-httpstatusaction-options

dnsdist: Deprecate the `options` parameter of `HTTPStatusAction`

2 months agoMerge pull request #15528 from rgacogne/ddist-doc-fix-1.10-2.0.0
Remi Gacogne [Tue, 6 May 2025 15:36:30 +0000 (17:36 +0200)] 
Merge pull request #15528 from rgacogne/ddist-doc-fix-1.10-2.0.0

dnsdist: Fix references to 1.10 in the documentation: it's 2.0.0

2 months agoMerge pull request #15527 from rgacogne/ddist-fix-yaml-doc
Remi Gacogne [Tue, 6 May 2025 15:36:18 +0000 (17:36 +0200)] 
Merge pull request #15527 from rgacogne/ddist-fix-yaml-doc

dnsdist: Fix outdated YAML settings documentation

2 months agodnsdist: Fix references to 1.10 in the documentation: it's 2.0.0 15528/head
Remi Gacogne [Tue, 6 May 2025 13:51:10 +0000 (15:51 +0200)] 
dnsdist: Fix references to 1.10 in the documentation: it's 2.0.0

2 months agodnsdist: Fix outdated YAML settings documentation 15527/head
Remi Gacogne [Tue, 6 May 2025 13:45:19 +0000 (15:45 +0200)] 
dnsdist: Fix outdated YAML settings documentation

The version present in our repository was not in sync with recently
made changes.

2 months agodnsdist: Deprecate the `options` parameter of `HTTPStatusAction` 15526/head
Remi Gacogne [Tue, 6 May 2025 13:07:31 +0000 (15:07 +0200)] 
dnsdist: Deprecate the `options` parameter of `HTTPStatusAction`

As noted in #14791, it is probably not working as expected and there
is no practical use for it anyway.

2 months agoMerge pull request #15525 from omoerbeek/protozero-upgrade
Otto Moerbeek [Tue, 6 May 2025 10:13:16 +0000 (12:13 +0200)] 
Merge pull request #15525 from omoerbeek/protozero-upgrade

Upgrade to protozero 1.8.0

2 months agoUpgrade to protozero 1.8.0: https://github.com/mapbox/protozero/releases/tag/v1.8.0 15525/head
Otto Moerbeek [Tue, 6 May 2025 08:20:35 +0000 (10:20 +0200)] 
Upgrade to protozero 1.8.0: https://github.com/mapbox/protozero/releases/tag/v1.8.0

2 months agoMerge pull request #15518 from Habbie/tsig-lowercase
Peter van Dijk [Tue, 6 May 2025 08:07:56 +0000 (10:07 +0200)] 
Merge pull request #15518 from Habbie/tsig-lowercase

TSIG payload: use canonical (lowercase) name format

2 months agodnsdist: Improve scalability of custom metrics 15524/head
Remi Gacogne [Mon, 5 May 2025 15:03:06 +0000 (17:03 +0200)] 
dnsdist: Improve scalability of custom metrics

This commit improves the scalability of custom metrics by:
- being optimistic about the existence of a given metric (including labels):
  since most of the time a given metric, even with labels, will be increased
  more than once, we can take read-only lock and only fallback to taking a
  write lock if we actually have to add a new entry. This is especially
  useful when using custom metrics with per-thread Lua, since there is no
  global lock involved in this case.
- optimizing the "no label" case, since the Lua FFI interface does not
  use anyway: skip the creation (and destruction) of an empty labels
  map whenever possible, return an empty string early when combining
  empty labels.

It already yields a noticeable improvement when a single thread is used,
but really shines when several threads are processing queries simultaneously.

2 months agoMerge pull request #15521 from rgacogne/ddist-fix-libedit-meson
Remi Gacogne [Mon, 5 May 2025 11:58:48 +0000 (13:58 +0200)] 
Merge pull request #15521 from rgacogne/ddist-fix-libedit-meson

dnsdist: Don't build with `libedit` if disabled via `meson`

2 months agoMerge pull request #15520 from rgacogne/fix-gcc151-build
Remi Gacogne [Mon, 5 May 2025 09:17:57 +0000 (11:17 +0200)] 
Merge pull request #15520 from rgacogne/fix-gcc151-build

Fix building with GCC 15.1: missing `cstdint` include

2 months agodnsdist: Don't build with `libedit` if disabled via `meson` 15521/head
Remi Gacogne [Mon, 5 May 2025 09:05:39 +0000 (11:05 +0200)] 
dnsdist: Don't build with `libedit` if disabled via `meson`

Based on a patch by Robert Edmonds (thanks!).

2 months agoFix building with GCC 15.1: missing `cstdint` include 15520/head
Remi Gacogne [Mon, 5 May 2025 08:42:20 +0000 (10:42 +0200)] 
Fix building with GCC 15.1: missing `cstdint` include

GCC 15.1 complains about a missing `cstdint` include when building
`DNSdist`:
```
In file included from ../doh3.hh:29,
                 from ../doh3.cc:23:
../noinitvector.hh:67:35: error: ‘uint8_t’ was not declared in this scope
   67 | using PacketBuffer = NoInitVector<uint8_t>;
      |                                   ^~~~~~~
../noinitvector.hh:7:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
    6 | #include <vector>
  +++ |+#include <cstdint>
    7 |
../noinitvector.hh:67:42: error: template argument 1 is invalid
   67 | using PacketBuffer = NoInitVector<uint8_t>;
      |                                          ^
In file included from ../dnsdist-idstate.hh:27,
                 from ../doh3.hh:48:
../dnscrypt.hh:247:20: error: ‘PacketBuffer’ has not been declared
  247 |   void parsePacket(PacketBuffer& packet, bool tcp, time_t now);
      |                    ^~~~~~~~~~~~
../dnscrypt.hh:248:31: error: ‘PacketBuffer’ has not been declared
  248 |   void getDecrypted(bool tcp, PacketBuffer& packet);
      |                               ^~~~~~~~~~~~
../dnscrypt.hh:249:43: error: ‘PacketBuffer’ has not been declared
  249 |   void getCertificateResponse(time_t now, PacketBuffer& response) const;
      |                                           ^~~~~~~~~~~~
../dnscrypt.hh:250:23: err
```

2 months agoMerge pull request #15477 from nokia/master
Remi Gacogne [Mon, 5 May 2025 07:41:55 +0000 (09:41 +0200)] 
Merge pull request #15477 from nokia/master

dnsdist: Provide runtime update API for some health check params