]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
5 months agoci: Update `actions/checkout` to `v5`
Josh Soref [Mon, 27 Oct 2025 12:39:20 +0000 (08:39 -0400)] 
ci: Update `actions/checkout` to `v5`

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
5 months agoStore if a RRSet was retrieved over TCP in the record cache
Otto Moerbeek [Mon, 27 Oct 2025 10:57:08 +0000 (11:57 +0100)] 
Store if a RRSet was retrieved over TCP in the record cache

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
5 months 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>
5 months 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

5 months 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>
5 months agoRegex: Appease clang-tidy
Remi Gacogne [Fri, 24 Oct 2025 14:55:01 +0000 (16:55 +0200)] 
Regex: Appease clang-tidy

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
5 months agoRegex: Prevent accidently copying the underlying `regex_t`
Remi Gacogne [Fri, 24 Oct 2025 14:16:02 +0000 (16:16 +0200)] 
Regex: Prevent accidently copying the underlying `regex_t`

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
5 months agofixup! dnsdist: Document that our `Regex` is Posix Extended Regular Expressions-compa...
Remi Gacogne [Fri, 24 Oct 2025 12:38:48 +0000 (14:38 +0200)] 
fixup! dnsdist: Document that our `Regex` is Posix Extended Regular Expressions-compatible

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
5 months agodnsdist: Document that our `Regex` is PCRE-compatible
Remi Gacogne [Fri, 24 Oct 2025 12:35:20 +0000 (14:35 +0200)] 
dnsdist: Document that our `Regex` is PCRE-compatible

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
5 months agodnsdist: Just in case, catch `PDNSException` while loading YAML configuration
Remi Gacogne [Fri, 24 Oct 2025 12:34:46 +0000 (14:34 +0200)] 
dnsdist: Just in case, catch `PDNSException` while loading YAML configuration

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
5 months agodnsdist: Properly handle invalid regular expressions
Remi Gacogne [Fri, 24 Oct 2025 12:34:16 +0000 (14:34 +0200)] 
dnsdist: Properly handle invalid regular expressions

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
5 months agoRemove unnecessary check. 16370/head
Miod Vallat [Fri, 24 Oct 2025 09:38:20 +0000 (11:38 +0200)] 
Remove unnecessary check.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 months agoFactor duplicated code.
Miod Vallat [Fri, 24 Oct 2025 09:32:30 +0000 (11:32 +0200)] 
Factor duplicated code.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 months agoOf course now I need to silence clang-tidy.
Miod Vallat [Fri, 24 Oct 2025 08:21:46 +0000 (10:21 +0200)] 
Of course now I need to silence clang-tidy.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 months agoPut more information in the XFR working struct.
Miod Vallat [Fri, 24 Oct 2025 07:17:12 +0000 (09:17 +0200)] 
Put more information in the XFR working struct.

Also, remove duplicate DomainInfo retrieval for IXFR.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 months 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

5 months 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

5 months agoAllow different mapsize values for main and shards. 16361/head
Miod Vallat [Thu, 23 Oct 2025 12:12:07 +0000 (14:12 +0200)] 
Allow different mapsize values for main and shards.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 months 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

5 months 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>
5 months 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>
5 months 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>
5 months 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

5 months agoStash more variables into the update context struct. 16343/head
Miod Vallat [Wed, 22 Oct 2025 11:59:20 +0000 (13:59 +0200)] 
Stash more variables into the update context struct.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 months 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

5 months 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

5 months 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

5 months 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>
5 months 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>
5 months 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>
5 months 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>
5 months 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>
5 months 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>
5 months 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

5 months 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

5 months agodoc: clarify tinydns wildcard divergence 11147/head
Josh Soref [Thu, 6 Jan 2022 00:04:27 +0000 (19:04 -0500)] 
doc: clarify tinydns wildcard divergence

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
5 months 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

5 months 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

5 months 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

5 months 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

5 months 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>
5 months agostore debug.traceback function before user can hide it from us 16229/head
Peter van Dijk [Thu, 9 Oct 2025 11:22:54 +0000 (13:22 +0200)] 
store debug.traceback function before user can hide it from us

Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
5 months 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>
5 months 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

5 months 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

5 months 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

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

5 months 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).

5 months 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

5 months 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

5 months 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

5 months 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>
5 months 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>
5 months 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>
5 months 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

5 months 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>
5 months 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

5 months 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

5 months 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

5 months 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

5 months 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

5 months 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>
5 months 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

5 months 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

5 months 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>
5 months 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>
5 months 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>
5 months 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.

5 months 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>
5 months 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

5 months 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

5 months 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>
5 months 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>
5 months agoBe sure to return an error response when fetching a TSIG key fails. 16301/head
Miod Vallat [Mon, 20 Oct 2025 09:01:04 +0000 (11:01 +0200)] 
Be sure to return an error response when fetching a TSIG key fails.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 months 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>
5 months agoFix[docs]: "real-remote" is always a CIDR-netmask 16300/head
Falko Flessner [Sun, 19 Oct 2025 17:24:19 +0000 (19:24 +0200)] 
Fix[docs]: "real-remote" is always a CIDR-netmask

- Update the "real-remote" example in the remote backend lookup. It is
  always a CIDR netmask and not a pure IP-address.
- Update it for both JSON/RPC and HTTP/RPC examples.

Signed-off-by: Falko Flessner <falko.flessner@varnish-software.com>
6 months 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>
6 months 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>
6 months 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>
6 months 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>
6 months 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>
6 months 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>
6 months agoMerge pull request #16291 from pieterlexis/dnsdist-ot-tcp
Pieter Lexis [Fri, 17 Oct 2025 14:02:30 +0000 (16:02 +0200)] 
Merge pull request #16291 from pieterlexis/dnsdist-ot-tcp

dnsdist: Fix delayed OT sending for TCP queries

6 months agoMerge pull request #16289 from pieterlexis/fix-OT-kind
Pieter Lexis [Fri, 17 Oct 2025 14:02:19 +0000 (16:02 +0200)] 
Merge pull request #16289 from pieterlexis/fix-OT-kind

Fix OpenTelemetry Trace names for Span Kinds

6 months agoMerge pull request #16290 from pieterlexis/dnsdist-ot-improve-parenting
Pieter Lexis [Fri, 17 Oct 2025 14:02:10 +0000 (16:02 +0200)] 
Merge pull request #16290 from pieterlexis/dnsdist-ot-improve-parenting

fix(dnsdist): Improve OT parenting

6 months agotests(dnsdist): Add TCP query OT tests 16291/head
Pieter Lexis [Fri, 17 Oct 2025 12:36:12 +0000 (14:36 +0200)] 
tests(dnsdist): Add TCP query OT tests

6 months agofix(dnsdist): Add `delay` option to `RemoteLogResponseAction`
Pieter Lexis [Fri, 17 Oct 2025 12:02:10 +0000 (14:02 +0200)] 
fix(dnsdist): Add `delay` option to `RemoteLogResponseAction`

This matches the behaviour of the YAML config.

6 months agotests(dnsdist): Add OT Trace delayed PB test
Pieter Lexis [Fri, 17 Oct 2025 11:49:07 +0000 (13:49 +0200)] 
tests(dnsdist): Add OT Trace delayed PB test

6 months agofeat(dnsdist): Also send delayed protobuf for TCP queries
Pieter Lexis [Fri, 17 Oct 2025 11:46:16 +0000 (13:46 +0200)] 
feat(dnsdist): Also send delayed protobuf for TCP queries

This commit makes some changes to how delayed messages are sent. We now
store the raw, serialized DNSMessage protobuf data in the id-state
object when a send delay is needed.

When the delayed protobuf has to be sent, we generate the OpenTelemetry
Trace data and append it to the message to be sent.

6 months agofeat(dnsdist): Add OT trace span for TCP queries
Pieter Lexis [Fri, 17 Oct 2025 12:06:08 +0000 (14:06 +0200)] 
feat(dnsdist): Add OT trace span for TCP queries

6 months agofix(dnsdist): Improve OT parenting 16290/head
Pieter Lexis [Wed, 15 Oct 2025 13:54:49 +0000 (15:54 +0200)] 
fix(dnsdist): Improve OT parenting

6 months agofix(OT): correctly name the SpanKinds 16289/head
Pieter Lexis [Thu, 16 Oct 2025 12:37:48 +0000 (14:37 +0200)] 
fix(OT): correctly name the SpanKinds

6 months agofix(dnsdist): Set SpanKind::Server for every span
Pieter Lexis [Wed, 15 Oct 2025 12:30:32 +0000 (14:30 +0200)] 
fix(dnsdist): Set SpanKind::Server for every span

6 months agoMerge pull request #16285 from rgacogne/ddist-rings-dnsname-lock
Remi Gacogne [Fri, 17 Oct 2025 12:45:22 +0000 (14:45 +0200)] 
Merge pull request #16285 from rgacogne/ddist-rings-dnsname-lock

dnsdist: Make inserting to the in-memory rings a bit faster

6 months agoMerge pull request #16230 from Habbie/double_fault
Peter van Dijk [Fri, 17 Oct 2025 12:37:38 +0000 (14:37 +0200)] 
Merge pull request #16230 from Habbie/double_fault

luawrapper: don't segfault on failure in traceback handler

6 months agorec: Prevent a potential race condition in cache cleaning 16288/head
Remi Gacogne [Fri, 17 Oct 2025 12:06:17 +0000 (14:06 +0200)] 
rec: Prevent a potential race condition in cache cleaning

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 months agodnsdist: Make inserting to the in-memory rings a bit faster 16285/head
Remi Gacogne [Fri, 17 Oct 2025 10:33:21 +0000 (12:33 +0200)] 
dnsdist: Make inserting to the in-memory rings a bit faster

This commit moves the allocation and copy of the DNS name before
taking the lock, reducing contention. In completely unrealistic
benchmarks this makes the insertion ~10% faster.
Ideally I would rather move the existing `DNSName` instead of allocating
a new one, as we are usually done with it by the point we insert
into the rings, but this involves a lot of changes so let's start
with this.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 months agodnsdist: Add a regression test for suffix-match dynamic block from YAML 16284/head
Remi Gacogne [Fri, 17 Oct 2025 10:25:31 +0000 (12:25 +0200)] 
dnsdist: Add a regression test for suffix-match dynamic block from YAML

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 months agodnsdist downstream-timeouts documentation update 16283/head
Sander Smeenk [Fri, 17 Oct 2025 09:08:03 +0000 (11:08 +0200)] 
dnsdist downstream-timeouts documentation update

Signed-off-by: Sander Smeenk <sander@bit.nl>
6 months agolibssl: It is now likely that the OCSP leak will be fixed in OpenSSL 3.6.1
Remi Gacogne [Fri, 17 Oct 2025 08:12:27 +0000 (10:12 +0200)] 
libssl: It is now likely that the OCSP leak will be fixed in OpenSSL 3.6.1

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