]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
3 days agoMerge pull request #16429 from rgacogne/ddist-test-http1-date-header
Remi Gacogne [Tue, 4 Nov 2025 15:17:24 +0000 (16:17 +0100)] 
Merge pull request #16429 from rgacogne/ddist-test-http1-date-header

dnsdist: Add a test for the `Date` header in rejected HTTP/1 requests

3 days agodnsdist: Add a test for the `Date` header in rejected HTTP/1 requests 16429/head
Remi Gacogne [Tue, 4 Nov 2025 14:21:04 +0000 (15:21 +0100)] 
dnsdist: Add a test for the `Date` header in rejected HTTP/1 requests

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 days agoMerge pull request #16402 from pieterlexis/dnsdist-no-ot-activation-without-benchmarks
Pieter Lexis [Tue, 4 Nov 2025 10:27:18 +0000 (11:27 +0100)] 
Merge pull request #16402 from pieterlexis/dnsdist-no-ot-activation-without-benchmarks

feat(dnsdist): Speed up adding Spans in the Tracer

3 days agoMerge pull request #16424 from rgacogne/fix-comment-in-the-sbom-generation-tool
Remi Gacogne [Tue, 4 Nov 2025 09:42:03 +0000 (10:42 +0100)] 
Merge pull request #16424 from rgacogne/fix-comment-in-the-sbom-generation-tool

Our SBOMs are in CycloneDX JSON format, not Protocol Buffer

3 days agoOur SBOMs are in CycloneDX JSON format, not Protocol Buffer 16424/head
Remi Gacogne [Tue, 4 Nov 2025 09:04:05 +0000 (10:04 +0100)] 
Our SBOMs are in CycloneDX JSON format, not Protocol Buffer

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 days agofeat(dnsdist): wrap d_traceid in Tracer in a lock 16402/head
Pieter Lexis [Mon, 3 Nov 2025 15:33:16 +0000 (16:33 +0100)] 
feat(dnsdist): wrap d_traceid in Tracer in a lock

3 days agofeat(dnsdist): Speed up adding Spans in the Tracer
Pieter Lexis [Fri, 31 Oct 2025 13:35:21 +0000 (14:35 +0100)] 
feat(dnsdist): Speed up adding Spans in the Tracer

This makes the code cleaner, and does away with the pre- and
post-activation spans. We now have a "mini" span that we convert to
actual Spans only when they need to be sent out.

Using microbenchmarks the following became clear:

Adding a Span to the Tracer (using `Closer::openSpan`) is now about
45% slower than adding it to an old "unactivated" Tracer. But is is
*twice* as fast compared to the old "activated" Tracer.

When tracing is enabled for a query, most spans are added *after*
"activation". So this commit should speed up query processing when
tracing is enabled.

One downside of this commit is that generating the actual OpenTelemetry
Trace data we now need to create the real Spans, this generation is
about 60% slower. However, when the `delay` option is used for the
RemoteLogResponseAction this slowness is not in the hot path of the
query. As this generation happens after the response has been sent.

Signed-off-by: Pieter Lexis <pieter.lexis@powerdns.com>
4 days agoMerge pull request #16417 from jsoref/docs-remote
Miod Vallat [Mon, 3 Nov 2025 20:03:51 +0000 (21:03 +0100)] 
Merge pull request #16417 from jsoref/docs-remote

Improve remote docs

4 days agoApply suggestions from code review 16417/head
Josh Soref [Mon, 3 Nov 2025 17:20:48 +0000 (12:20 -0500)] 
Apply suggestions from code review

Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
4 days agodocs(remote): try to make superMasterBackend reply easier to read
Josh Soref [Mon, 3 Nov 2025 15:37:06 +0000 (10:37 -0500)] 
docs(remote): try to make superMasterBackend reply easier to read

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
4 days agodocs(remote): make http/rpc match json/rpc for getbeforeandafternamesabsolute
Josh Soref [Mon, 3 Nov 2025 15:36:09 +0000 (10:36 -0500)] 
docs(remote): make http/rpc match json/rpc for getbeforeandafternamesabsolute

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
4 days agodocs(remote): fix json for getdomaininfo response
Josh Soref [Mon, 3 Nov 2025 15:34:44 +0000 (10:34 -0500)] 
docs(remote): fix json for getdomaininfo response

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
4 days agodocs(remote): fix sentence to end with a period instead of the parenthetical
Josh Soref [Mon, 3 Nov 2025 15:33:59 +0000 (10:33 -0500)] 
docs(remote): fix sentence to end with a period instead of the parenthetical

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
4 days agodocs(remote): Document that real-remote is a CIDR-netmask
Josh Soref [Mon, 3 Nov 2025 15:29:54 +0000 (10:29 -0500)] 
docs(remote): Document that real-remote is a CIDR-netmask

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
4 days agodocs(remote): Move pre v4.0 content to pre v4.0 breaking section
Josh Soref [Mon, 3 Nov 2025 15:28:36 +0000 (10:28 -0500)] 
docs(remote): Move pre v4.0 content to pre v4.0 breaking section

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
4 days agodocs(remote): Add sections to important notices
Josh Soref [Mon, 3 Nov 2025 15:26:47 +0000 (10:26 -0500)] 
docs(remote): Add sections to important notices

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
4 days agoMerge pull request #16409 from Habbie/gh-diskspace
Peter van Dijk [Mon, 3 Nov 2025 14:16:06 +0000 (15:16 +0100)] 
Merge pull request #16409 from Habbie/gh-diskspace

auth-backend tests: make more diskspace on the github runner

4 days agoMerge pull request #16368 from pieterlexis/dnsdist-aarch64
Pieter Lexis [Mon, 3 Nov 2025 13:44:56 +0000 (14:44 +0100)] 
Merge pull request #16368 from pieterlexis/dnsdist-aarch64

ci(dnsdist): Build and test on arm64/aarch64

4 days agoMerge pull request #16405 from rgacogne/ddist-fix-outgoing-tls-yaml-doc
Remi Gacogne [Mon, 3 Nov 2025 12:42:30 +0000 (13:42 +0100)] 
Merge pull request #16405 from rgacogne/ddist-fix-outgoing-tls-yaml-doc

dnsdist: Fix the outgoing DoT YAML example

4 days agoauth-backend tests: make more diskspace on the github runner 16409/head
Peter van Dijk [Mon, 3 Nov 2025 11:06:39 +0000 (12:06 +0100)] 
auth-backend tests: make more diskspace on the github runner

4 days agoci(aarch64): no -fcf-protection=full on aarch64 16368/head
Pieter Lexis [Mon, 27 Oct 2025 08:32:08 +0000 (09:32 +0100)] 
ci(aarch64): no -fcf-protection=full on aarch64

4 days agoci(dnsdist): Build and test on arm64/aarch64
Pieter Lexis [Thu, 23 Oct 2025 15:52:20 +0000 (17:52 +0200)] 
ci(dnsdist): Build and test on arm64/aarch64

4 days agoMerge pull request #16394 from omoerbeek/rec-pubsuffix-eod
Otto Moerbeek [Mon, 3 Nov 2025 10:50:46 +0000 (11:50 +0100)] 
Merge pull request #16394 from omoerbeek/rec-pubsuffix-eod

rec: don't use a vector of string for internal pubsuffixlist

4 days agodnsdist: Fix the outgoing DoT YAML example 16405/head
Remi Gacogne [Mon, 3 Nov 2025 10:24:49 +0000 (11:24 +0100)] 
dnsdist: Fix the outgoing DoT YAML example

As reported by Eddict (thanks!).

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
4 days agoMerge pull request #16383 from pieterlexis/dnsdist-OT-per-rule
Pieter Lexis [Mon, 3 Nov 2025 10:24:01 +0000 (11:24 +0100)] 
Merge pull request #16383 from pieterlexis/dnsdist-OT-per-rule

feat(dnsdist): Add OT trace for each rule

4 days agoMerge pull request #16375 from omoerbeek/dnsdist-http1-date-header
Otto Moerbeek [Mon, 3 Nov 2025 10:03:27 +0000 (11:03 +0100)] 
Merge pull request #16375 from omoerbeek/dnsdist-http1-date-header

dnsdist: Include a Date: response header for rejected HTTP1 requests

4 days agoMerge pull request #16255 from rgacogne/openssl-3.6-leak-ocsp
Remi Gacogne [Mon, 3 Nov 2025 09:01:14 +0000 (10:01 +0100)] 
Merge pull request #16255 from rgacogne/openssl-3.6-leak-ocsp

dnsdist: Fix a memory leak with OCSP and OpenSSL 3.6.0

8 days agoMerge pull request #16392 from omoerbeek/mangle-rust-version
Otto Moerbeek [Thu, 30 Oct 2025 12:42:22 +0000 (13:42 +0100)] 
Merge pull request #16392 from omoerbeek/mangle-rust-version

Make version number in rust lib confirm to Rust specifics

8 days agoMerge pull request #16385 from Habbie/auth-5.0.1-docs
Peter van Dijk [Thu, 30 Oct 2025 12:10:42 +0000 (13:10 +0100)] 
Merge pull request #16385 from Habbie/auth-5.0.1-docs

auth 5.0.1 secpoll and changelog

8 days agoBetter words in comment 16392/head
Otto Moerbeek [Thu, 30 Oct 2025 11:38:16 +0000 (12:38 +0100)] 
Better words in comment

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
8 days agoauth 5.0.1 secpoll and changelog 16385/head
Peter van Dijk [Tue, 28 Oct 2025 16:38:20 +0000 (17:38 +0100)] 
auth 5.0.1 secpoll and changelog

Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
8 days agoMerge pull request #16388 from romeroalx/fix-upload-builds-pulp
Alexis Romero [Thu, 30 Oct 2025 10:06:31 +0000 (11:06 +0100)] 
Merge pull request #16388 from romeroalx/fix-upload-builds-pulp

gh actions build-packages: fix pattern for the download-artifacts action and publication issues

8 days agorec: don't use a vector of string for internal pubsuffixlist 16394/head
Otto Moerbeek [Thu, 30 Oct 2025 08:42:57 +0000 (09:42 +0100)] 
rec: don't use a vector of string for internal pubsuffixlist

The construct

std::vector<std::string> x  { not event that many string literals };

blows up with some compilers. Worst I have seen is (with not even
8k strings): g++12 develops a resident size of 26G.

This just creates a (blank line and comments stripped) in-memory version of the file that is
fed to the same code as an external file.

Problem noted by @wojas.

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
9 days agoMake version number in rust lib confirm to Rust specifics
Otto Moerbeek [Wed, 29 Oct 2025 11:31:12 +0000 (12:31 +0100)] 
Make version number in rust lib confirm to Rust specifics

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
9 days agogh actions build-packages: avoid duplicates download-artifacts action. Fix publications 16388/head
romeroalx [Tue, 28 Oct 2025 11:53:44 +0000 (12:53 +0100)] 
gh actions build-packages: avoid duplicates download-artifacts action. Fix publications

10 days agofeat(dnsdist): Add OT trace for each rule 16383/head
Pieter Lexis [Mon, 27 Oct 2025 19:15:30 +0000 (20:15 +0100)] 
feat(dnsdist): Add OT trace for each rule

11 days agoInclude a Date: response header for rejected HTTP1 requests 16375/head
Otto Moerbeek [Mon, 27 Oct 2025 09:33:28 +0000 (10:33 +0100)] 
Include a Date: response header for rejected HTTP1 requests

This allows OpenBSD ntpd time constraint retrieval to work properly
with nghttp2 incoming DoH.

Note that requests having no alpn data do not appear in any stats.
Should that be changed?

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
11 days agoMerge pull request #16374 from miodvallat/dumansw
Miod Vallat [Mon, 27 Oct 2025 07:14:44 +0000 (08:14 +0100)] 
Merge pull request #16374 from miodvallat/dumansw

auth dumresp: fix fd leak

11 days agoBe sure to not leak a socket if tcpConnectionHandler() throws. 16374/head
Miod Vallat [Mon, 27 Oct 2025 06:33:56 +0000 (07:33 +0100)] 
Be sure to not leak a socket if tcpConnectionHandler() throws.

Fixes: #16365
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoMerge pull request #16367 from pieterlexis/dnsdist-aarch-ifdef
Pieter Lexis [Thu, 23 Oct 2025 16:30:44 +0000 (18:30 +0200)] 
Merge pull request #16367 from pieterlexis/dnsdist-aarch-ifdef

fix(dnsdist): Fix builds on aarch64

2 weeks agofix(dnsdist): Fix builds on aarch64 16367/head
Pieter Lexis [Thu, 23 Oct 2025 15:28:41 +0000 (17:28 +0200)] 
fix(dnsdist): Fix builds on aarch64

2 weeks agoMerge pull request #16352 from miodvallat/cecity
Miod Vallat [Thu, 23 Oct 2025 11:54:23 +0000 (13:54 +0200)] 
Merge pull request #16352 from miodvallat/cecity

api: relax zone name check in view removal

2 weeks agoOn second thought, relax the zone check for the view add operation too. 16352/head
Miod Vallat [Thu, 23 Oct 2025 06:24:47 +0000 (08:24 +0200)] 
On second thought, relax the zone check for the view add operation too.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoFix buglet which only caused a warning during tests.
Miod Vallat [Thu, 23 Oct 2025 05:36:00 +0000 (07:36 +0200)] 
Fix buglet which only caused a warning during tests.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoRelax zone checks when removing a zone from a view.
Miod Vallat [Thu, 23 Oct 2025 05:34:56 +0000 (07:34 +0200)] 
Relax zone checks when removing a zone from a view.

It's ok for the zone to no longer exist at this point.

Fixes: #16351
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoMerge pull request #16342 from omoerbeek/rec-prep-sec-2025-06
Otto Moerbeek [Wed, 22 Oct 2025 12:04:08 +0000 (14:04 +0200)] 
Merge pull request #16342 from omoerbeek/rec-prep-sec-2025-06

rec: Prep for Security Release 2025-06

2 weeks agoMerge pull request #16338 from omoerbeek/rec-delegation-accept
Otto Moerbeek [Wed, 22 Oct 2025 11:15:03 +0000 (13:15 +0200)] 
Merge pull request #16338 from omoerbeek/rec-delegation-accept

rec: tighten delegation accept

2 weeks agoMerge pull request #16333 from Habbie/dnsdist-reg-lua-function-nil
Remi Gacogne [Wed, 22 Oct 2025 08:44:17 +0000 (10:44 +0200)] 
Merge pull request #16333 from Habbie/dnsdist-reg-lua-function-nil

regression-tests.dnsdist: detect function absence and report it better

2 weeks agoMerge pull request #16321 from pieterlexis/dnsdist-ipcrypt2-aarch64
Remi Gacogne [Wed, 22 Oct 2025 08:42:51 +0000 (10:42 +0200)] 
Merge pull request #16321 from pieterlexis/dnsdist-ipcrypt2-aarch64

dnsdist: fix building ipcrypt2 on aarch64

2 weeks agoTidy 16338/head
Otto Moerbeek [Wed, 22 Oct 2025 08:26:56 +0000 (10:26 +0200)] 
Tidy

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoPrep for Security Release 2025-06 16342/head
Otto Moerbeek [Tue, 21 Oct 2025 08:22:26 +0000 (10:22 +0200)] 
Prep for Security Release 2025-06

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoMore strict validation of the relation between qname, rname and authname for NS records
Otto Moerbeek [Mon, 22 Sep 2025 09:44:12 +0000 (11:44 +0200)] 
More strict validation of the relation between qname, rname and authname for NS records

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoDon't cache non-auth rrsets if a Bogus rrset was found in the answer
Otto Moerbeek [Mon, 28 Jul 2025 12:41:02 +0000 (14:41 +0200)] 
Don't cache non-auth rrsets if a Bogus rrset was found in the answer

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoCheck to see if authoritative NS and/or address records are usable
Otto Moerbeek [Mon, 28 Jul 2025 11:19:11 +0000 (13:19 +0200)] 
Check to see if authoritative NS and/or address records are usable

In the typical case we deal with non-authoritative records here, but
we *might* have them in cache authoritatively.

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agorec: be more strict accepting delegations
Otto Moerbeek [Mon, 21 Jul 2025 08:43:46 +0000 (10:43 +0200)] 
rec: be more strict accepting delegations

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoMerge pull request #16294 from jsoref/fix-workflow-errors
Miod Vallat [Wed, 22 Oct 2025 04:47:16 +0000 (06:47 +0200)] 
Merge pull request #16294 from jsoref/fix-workflow-errors

Fix workflow errors

2 weeks agoMerge pull request #16337 from zeha/rmgetline
Miod Vallat [Wed, 22 Oct 2025 04:46:58 +0000 (06:46 +0200)] 
Merge pull request #16337 from zeha/rmgetline

Drop Socket::getline

2 weeks agoMerge pull request #16306 from miodvallat/bacf
Miod Vallat [Tue, 21 Oct 2025 19:37:03 +0000 (21:37 +0200)] 
Merge pull request #16306 from miodvallat/bacf

auth: attempt at technical debt reduction in RFC2136 code

2 weeks agoMerge pull request #16287 from DeyanSG/cache_cleaning_race_fix
Miod Vallat [Tue, 21 Oct 2025 19:36:24 +0000 (21:36 +0200)] 
Merge pull request #16287 from DeyanSG/cache_cleaning_race_fix

authoritative: Prevent a potential race condition in cache cleaning

2 weeks agoMerge pull request #16293 from miodvallat/ujson
Miod Vallat [Tue, 21 Oct 2025 19:35:41 +0000 (21:35 +0200)] 
Merge pull request #16293 from miodvallat/ujson

ext/json: sync with upstream

2 weeks agoMerge pull request #16334 from Habbie/top-of-the-pops
Peter van Dijk [Tue, 21 Oct 2025 19:32:28 +0000 (21:32 +0200)] 
Merge pull request #16334 from Habbie/top-of-the-pops

luawrapper: correct lua_pop argument

2 weeks agoDrop Socket::getline 16337/head
Chris Hofstaedtler [Tue, 21 Oct 2025 19:11:30 +0000 (21:11 +0200)] 
Drop Socket::getline

Signed-off-by: Chris Hofstaedtler <chris.hofstaedtler@deduktiva.com>
2 weeks agoluawrapper: correct lua_pop argument 16334/head
Peter van Dijk [Tue, 21 Oct 2025 17:11:22 +0000 (19:11 +0200)] 
luawrapper: correct lua_pop argument

a negative argument to _pop has defined behaviour but never
does what the user expects.

Note that none of this matters as Lua will adjust the stack to
the 1 top item, which is the pushed boolean, after `return 1`

but I get confused every time I read the negative version

Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
2 weeks agoregression-tests.dnsdist: detect function absence and report it better 16333/head
Peter van Dijk [Tue, 21 Oct 2025 15:18:58 +0000 (17:18 +0200)] 
regression-tests.dnsdist: detect function absence and report it better

2 weeks agoMerge pull request #16307 from omoerbeek/print-features
Otto Moerbeek [Tue, 21 Oct 2025 15:15:50 +0000 (17:15 +0200)] 
Merge pull request #16307 from omoerbeek/print-features

rec: explicit disabling/enabling of tls-gnutls for full and least configs and packages

2 weeks agochore(dnsdist): disable ipcrypt2 in minimal builds 16321/head
Pieter Lexis [Tue, 21 Oct 2025 13:05:46 +0000 (15:05 +0200)] 
chore(dnsdist): disable ipcrypt2 in minimal builds

2 weeks agofeat(dnsdist): Make IPCrypt2 optional
Pieter Lexis [Tue, 21 Oct 2025 09:31:30 +0000 (11:31 +0200)] 
feat(dnsdist): Make IPCrypt2 optional

2 weeks agofix(dnsdist): Detect compiler support for ipcrypt on aarch64
Pieter Lexis [Tue, 21 Oct 2025 09:02:25 +0000 (11:02 +0200)] 
fix(dnsdist): Detect compiler support for ipcrypt on aarch64

The `uint64x2_t` type is not supported for several functions in older
versions of the `arm_neon.h` header (e.g. GCC 13, 14).

2 weeks agoMerge pull request #16323 from romeroalx/add-npm-swagger-actions
Alexis Romero [Tue, 21 Oct 2025 13:44:22 +0000 (15:44 +0200)] 
Merge pull request #16323 from romeroalx/add-npm-swagger-actions

gh actions: add npm package for swagger test

2 weeks agogh actions: add npm package for swagger test 16323/head
romeroalx [Tue, 21 Oct 2025 10:27:33 +0000 (12:27 +0200)] 
gh actions: add npm package for swagger test

2 weeks agoMerge pull request #16284 from rgacogne/ddist-add-test-for-suffix-match-from-yaml
Remi Gacogne [Tue, 21 Oct 2025 12:35:23 +0000 (14:35 +0200)] 
Merge pull request #16284 from rgacogne/ddist-add-test-for-suffix-match-from-yaml

dnsdist: Add a regression test for suffix-match dynamic block from YAML

2 weeks agodnsdist: Fix typo spotted by Miod! 16255/head
Remi Gacogne [Tue, 21 Oct 2025 12:24:56 +0000 (14:24 +0200)] 
dnsdist: Fix typo spotted by Miod!

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoAlso enabled tls-openssl in debian rules 16307/head
Otto Moerbeek [Tue, 21 Oct 2025 09:27:55 +0000 (11:27 +0200)] 
Also enabled tls-openssl in debian rules

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agodnsdist: Fix comment as suggested by Miod
Remi Gacogne [Tue, 21 Oct 2025 09:39:26 +0000 (11:39 +0200)] 
dnsdist: Fix comment as suggested by Miod

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoMerge pull request #16259 from omoerbeek/auth-rec-lua-meson
Otto Moerbeek [Tue, 21 Oct 2025 09:28:48 +0000 (11:28 +0200)] 
Merge pull request #16259 from omoerbeek/auth-rec-lua-meson

auth and rec: Allow selecting a specific version of Lua with meson

2 weeks agoAlso handle tls-libssl explicitly, as noted by @zeha
Otto Moerbeek [Tue, 21 Oct 2025 09:14:51 +0000 (11:14 +0200)] 
Also handle tls-libssl explicitly, as noted by @zeha

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoMerge pull request #16308 from omoerbeek/coverity-20251020
Otto Moerbeek [Tue, 21 Oct 2025 09:06:33 +0000 (11:06 +0200)] 
Merge pull request #16308 from omoerbeek/coverity-20251020

rec: Fix a few Coverity found issues, all low severity move optimizations

2 weeks agoMerge pull request #16071 from karelbilek/kb/connectx_fastopen
Remi Gacogne [Tue, 21 Oct 2025 09:05:03 +0000 (11:05 +0200)] 
Merge pull request #16071 from karelbilek/kb/connectx_fastopen

dnsdist: add support for TCP Fast Open for downstream connections on macOS

2 weeks agoMerge pull request #16292 from rgacogne/ddist-fix-query-rules-tag-from-dynamic-block
Remi Gacogne [Tue, 21 Oct 2025 09:04:18 +0000 (11:04 +0200)] 
Merge pull request #16292 from rgacogne/ddist-fix-query-rules-tag-from-dynamic-block

dnsdist: Fix query rules bypass after tagging from a dynblock

2 weeks agoMerge pull request #16214 from rgacogne/ddist-ffi-alternate-name
Remi Gacogne [Tue, 21 Oct 2025 09:04:00 +0000 (11:04 +0200)] 
Merge pull request #16214 from rgacogne/ddist-ffi-alternate-name

dnsdist: Refactor the FFI "alternate name" interface

2 weeks agoMerge pull request #16181 from rgacogne/ci-add-daily-rust-audit
Remi Gacogne [Tue, 21 Oct 2025 09:03:03 +0000 (11:03 +0200)] 
Merge pull request #16181 from rgacogne/ci-add-daily-rust-audit

Add a daily workflow to run `cargo audit` against our Rust deps

2 weeks agorec: Fix a few Coverity found issues, all low severity move optimizations 16308/head
Otto Moerbeek [Mon, 20 Oct 2025 09:01:18 +0000 (11:01 +0200)] 
rec: Fix a few Coverity found issues, all low severity move optimizations

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoMerge pull request #16298 from Habbie/rec-el-gnutls
Otto Moerbeek [Tue, 21 Oct 2025 07:39:44 +0000 (09:39 +0200)] 
Merge pull request #16298 from Habbie/rec-el-gnutls

recursor el-* build: depend on gnutls

2 weeks agoMerge pull request #16297 from Habbie/podman-rec-rust-copy
Otto Moerbeek [Tue, 21 Oct 2025 07:39:31 +0000 (09:39 +0200)] 
Merge pull request #16297 from Habbie/podman-rec-rust-copy

rec builder: don't try to copy rust files that are not there

2 weeks agoCopyright'r'us 16306/head
Miod Vallat [Mon, 20 Oct 2025 15:35:13 +0000 (17:35 +0200)] 
Copyright'r'us

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoMore Clang-Tidyze™
Miod Vallat [Mon, 20 Oct 2025 15:33:35 +0000 (17:33 +0200)] 
More Clang-Tidyze™

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoHandle NSEC3PARAM updates earlier to simplify logic.
Miod Vallat [Mon, 20 Oct 2025 15:29:58 +0000 (17:29 +0200)] 
Handle NSEC3PARAM updates earlier to simplify logic.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoRework the RFC2136 for readability.
Miod Vallat [Mon, 20 Oct 2025 13:41:29 +0000 (15:41 +0200)] 
Rework the RFC2136 for readability.

Features:
- split performUpdate in smaller parts.
- define and carry a "context" struct rather than MAXINT in-out arguments being
  passed by reference.

2 weeks agoApply a round of Clang-Tidyze™
Miod Vallat [Mon, 20 Oct 2025 13:29:21 +0000 (15:29 +0200)] 
Apply a round of Clang-Tidyze™

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoMerge pull request #16288 from rgacogne/rec-cache-cleaning-order
Otto Moerbeek [Mon, 20 Oct 2025 12:40:18 +0000 (14:40 +0200)] 
Merge pull request #16288 from rgacogne/rec-cache-cleaning-order

rec: Prevent a potential race condition in cache cleaning

2 weeks agoMerge pull request #16190 from omoerbeek/rec-more-ottracing
Otto Moerbeek [Mon, 20 Oct 2025 12:34:28 +0000 (14:34 +0200)] 
Merge pull request #16190 from omoerbeek/rec-more-ottracing

rec: OT tracing: define more Spans with actual duration and add more attributes

2 weeks agorec: explicit disabling/enabling of tls-gnutls for full and least configs and packages
Otto Moerbeek [Mon, 20 Oct 2025 08:53:50 +0000 (10:53 +0200)] 
rec: explicit disabling/enabling of tls-gnutls for full and least configs and packages

Includes more complete --version feature printing

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoauthoritative: Prevent a potential race condition in cache cleaning 16287/head
Deyan Doychev [Fri, 17 Oct 2025 11:37:32 +0000 (14:37 +0300)] 
authoritative: Prevent a potential race condition in cache cleaning

Clean query cache before cleaning packet cache. Otherwise the following
situation is possible:

* thread A cleans packet cache
* thread B answers a question for the same name that is being cleaned by A
* since there is no packet cache it populates a packet cache entry from the
  query cache (which has not yet been cleaned by thread A
* thread A cleans query cache
* the server will return the old packet cache entry until its TTL expires or
  cache is cleaned again

Switching which cache is cleaned first fixes this race condition.

Signed-off-by: Deyan Doychev <deyan@siteground.com>
2 weeks agoAppease clang-tidy. 16293/head
Miod Vallat [Mon, 20 Oct 2025 02:51:17 +0000 (04:51 +0200)] 
Appease clang-tidy.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agorecursor el-* build: depend on gnutls 16298/head
Peter van Dijk [Fri, 17 Oct 2025 21:17:29 +0000 (23:17 +0200)] 
recursor el-* build: depend on gnutls

Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
2 weeks agorec builder: don't try to copy rust files that are not there 16297/head
Peter van Dijk [Fri, 17 Oct 2025 20:23:29 +0000 (22:23 +0200)] 
rec builder: don't try to copy rust files that are not there

Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
3 weeks agoPick a single branch for workflows that should not run 16294/head
Josh Soref [Fri, 17 Oct 2025 15:20:04 +0000 (11:20 -0400)] 
Pick a single branch for workflows that should not run

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
3 weeks agoProperly declare empty permissions
Josh Soref [Fri, 17 Oct 2025 15:19:32 +0000 (11:19 -0400)] 
Properly declare empty permissions

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
3 weeks agoBring some bugfixes from upstream (dropbox/json11).
Miod Vallat [Fri, 17 Oct 2025 14:52:36 +0000 (16:52 +0200)] 
Bring some bugfixes from upstream (dropbox/json11).

- change Json map/vector conversions to invoke begin() directly instead of
  using key_type/value_type/mapped_type, to prevent false positives with
  std::optional, which has a value_type member type, but is not a container
  (ec4e45219af1d7cde3d58b49ed762376fccf1ace)

- make has_shape() return true for NUL type only if element actually exists
  (e2e3a11e99672b018e0e0657867e6a3439e180cf)

- improve handling of errors in comments
  (3bafee93e6d587d5bc6ef362c3e4457688e0ed5b)

- make operator== and operator< faster by checking for node identity
  (dabb88e83ebd6d5ef765864ec6d77bb4451c115e,
   42e6e71abb460e06c83a8f17c02e9bdf7959d2e7)

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agodnsdist: Fix query rules bypass after tagging from a dynblock 16292/head
Remi Gacogne [Fri, 17 Oct 2025 14:35:34 +0000 (16:35 +0200)] 
dnsdist: Fix query rules bypass after tagging from a dynblock

In 2.0.0 we introduced the ability to set a tag when a dynamic
block matches, making it possible to combine dynamic blocks with
existing rules. Unfortunately the implementation turned out to
bypass query rules after setting a tag, so the mechanism could
only be used with the remaining rules chains (cache hit, cache-miss,
cache inserted, self-answered and regular response rules).
This commit fixes that to ensure that we can use tags with query
rules as well.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>