]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
6 weeks agodnsdist: Add per-backend `max_udp_outstanding` YAML config setting 17180/head
Robert Edmonds [Tue, 21 Apr 2026 21:22:32 +0000 (17:22 -0400)] 
dnsdist: Add per-backend `max_udp_outstanding` YAML config setting

This commit adds a new per-backend config setting `max_udp_outstanding`
which overrides the global `tuning.udp.max_outstanding_per_backend`
setting.

If the per-backend `max_udp_outstanding` setting is omitted, the value
of the global option `tuning.udp.max_outstanding_per_backend` will be
used instead.

This allows tuning the number of UDP states allocated on a per-backend
basis in order to tune the amount of memory consumed by dnsdist.
Low-latency backends may only need a small number of UDP states, while
high-latency backends may need a higher number of UDP states.

The `tuning.udp.max_outstanding_per_backend` setting and the new
per-backend `max_udp_outstanding` setting directly control the sizes of
the vectors of `IDState` objects that are preallocated at startup.

The size of the `IDState` object can vary depending on compile time
options, but in my local build it is currently 496 bytes. This means
that a backend with the maximum number of UDP states (65535) will
require allocating at least (496 * 65535 / 1048576) = 31 MB. Similarly,
a backend with 8192 UDP states will require allocating 3.9 MB, and a
backend with 256 UDP states only requires 124 KB.

Signed-off-by: Robert Edmonds <edmonds@users.noreply.github.com>
6 weeks agoMerge pull request #17164 from rgacogne/ddist-error-on-unhandled-switch-case
Remi Gacogne [Tue, 21 Apr 2026 14:41:39 +0000 (16:41 +0200)] 
Merge pull request #17164 from rgacogne/ddist-error-on-unhandled-switch-case

dnsdist: Error on unhandled switch cases while in CI

6 weeks agodnsdist: Error on unhandled switch cases while in CI 17164/head
Remi Gacogne [Tue, 21 Apr 2026 12:42:15 +0000 (14:42 +0200)] 
dnsdist: Error on unhandled switch cases while in CI

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 weeks agoMerge pull request #17161 from omoerbeek/rec-rpz-zonemd
Otto Moerbeek [Tue, 21 Apr 2026 11:42:49 +0000 (13:42 +0200)] 
Merge pull request #17161 from omoerbeek/rec-rpz-zonemd

rec: skip ZONEMD records in RPZs

6 weeks agoMerge pull request #16725 from miodvallat/split-domain
Miod Vallat [Mon, 20 Apr 2026 14:01:01 +0000 (16:01 +0200)] 
Merge pull request #16725 from miodvallat/split-domain

auth lmdb: split domains table

6 weeks agoMerge pull request #17160 from miodvallat/fasten_your_seat_belts
Miod Vallat [Mon, 20 Apr 2026 13:43:29 +0000 (15:43 +0200)] 
Merge pull request #17160 from miodvallat/fasten_your_seat_belts

auth: safer lua geoip queries

6 weeks agoMerge pull request #17014 from miodvallat/protobof
Miod Vallat [Mon, 20 Apr 2026 13:42:54 +0000 (15:42 +0200)] 
Merge pull request #17014 from miodvallat/protobof

auth: simple protobuf logging support

6 weeks agoSimpler serialization code. 16725/head
Miod Vallat [Mon, 20 Apr 2026 13:21:18 +0000 (15:21 +0200)] 
Simpler serialization code.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
6 weeks agoUpdate locking to SharedLockGuard. 17160/head
Miod Vallat [Mon, 20 Apr 2026 12:36:57 +0000 (14:36 +0200)] 
Update locking to SharedLockGuard.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
6 weeks agoMerge pull request #17053 from kabenin/fix/lua_addRecord
Otto Moerbeek [Mon, 20 Apr 2026 12:36:18 +0000 (14:36 +0200)] 
Merge pull request #17053 from kabenin/fix/lua_addRecord

recursor: Fix lua addRecord function implementation

6 weeks agoRemove unused variable.
Miod Vallat [Mon, 20 Apr 2026 12:08:39 +0000 (14:08 +0200)] 
Remove unused variable.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
6 weeks agorec: skip ZONEMD records in RPZs 17161/head
Otto Moerbeek [Mon, 20 Apr 2026 10:00:28 +0000 (12:00 +0200)] 
rec: skip ZONEMD records in RPZs

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
6 weeks agoMake the optional argument accept both DNSName and string 17053/head
Otto Moerbeek [Tue, 31 Mar 2026 10:19:37 +0000 (12:19 +0200)] 
Make the optional argument accept both DNSName and string

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Signed-off-by: Sasha Kabenin <28066869+kabenin@users.noreply.github.com>
6 weeks agorename test to better align with existing tests
Sasha Kabenin [Sat, 28 Mar 2026 00:01:10 +0000 (17:01 -0700)] 
rename test to better align with existing tests

Signed-off-by: Sasha Kabenin <28066869+kabenin@users.noreply.github.com>
6 weeks agoFix recursor lua addRecord function's impl in C++
Sasha Kabenin [Fri, 27 Mar 2026 23:05:16 +0000 (16:05 -0700)] 
Fix recursor lua addRecord function's impl in C++

name argiment must be DNSName, not string

Signed-off-by: Sasha Kabenin <28066869+kabenin@users.noreply.github.com>
6 weeks agoMerge pull request #17150 from rgacogne/ddist-missing-forward-for-header-on-existing...
Remi Gacogne [Mon, 20 Apr 2026 07:52:14 +0000 (09:52 +0200)] 
Merge pull request #17150 from rgacogne/ddist-missing-forward-for-header-on-existing-conn

dnsdist: Handle missing X-Forwarded-For on existing DoH connection

6 weeks agoBe sure to hold a read lock during Lua queries.
Miod Vallat [Mon, 20 Apr 2026 06:32:28 +0000 (08:32 +0200)] 
Be sure to hold a read lock during Lua queries.

Fixes: #17158
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoMerge pull request #17155 from miodvallat/i_can_haz_ttl
Miod Vallat [Fri, 17 Apr 2026 13:26:02 +0000 (15:26 +0200)] 
Merge pull request #17155 from miodvallat/i_can_haz_ttl

auth: dnsupdate handling buglet

7 weeks agoPerform the CNAME unicity tests during updates regardless of the TTL. 17155/head
Miod Vallat [Fri, 17 Apr 2026 12:36:37 +0000 (14:36 +0200)] 
Perform the CNAME unicity tests during updates regardless of the TTL.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoMerge pull request #17152 from miodvallat/did_not_age_well
Miod Vallat [Fri, 17 Apr 2026 12:10:10 +0000 (14:10 +0200)] 
Merge pull request #17152 from miodvallat/did_not_age_well

auth: fixes to AXFR in Bind backend

7 weeks agoMerge pull request #17153 from rgacogne/ddist-better-handling-of-nghttp2-errors
Remi Gacogne [Fri, 17 Apr 2026 12:06:51 +0000 (14:06 +0200)] 
Merge pull request #17153 from rgacogne/ddist-better-handling-of-nghttp2-errors

dnsdist: Better handling of nghttp2 errors

7 weeks agoMerge pull request #17154 from rgacogne/ddist-outgoing-doh-remove-debug
Remi Gacogne [Fri, 17 Apr 2026 11:40:05 +0000 (13:40 +0200)] 
Merge pull request #17154 from rgacogne/ddist-outgoing-doh-remove-debug

dnsdist: Remove commented out leftover debug messages in outgoing DoH

7 weeks agodnsdist: Don't try to convert consumed bytes to a nghttp2 error 17153/head
Remi Gacogne [Fri, 17 Apr 2026 11:06:27 +0000 (13:06 +0200)] 
dnsdist: Don't try to convert consumed bytes to a nghttp2 error

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
7 weeks agodnsdist: Remove commented out leftover debug messages in outgoing DoH 17154/head
Remi Gacogne [Fri, 17 Apr 2026 10:16:10 +0000 (12:16 +0200)] 
dnsdist: Remove commented out leftover debug messages in outgoing DoH

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
7 weeks agodnsdist: Better handling of nghttp2 errors
Remi Gacogne [Fri, 17 Apr 2026 10:11:52 +0000 (12:11 +0200)] 
dnsdist: Better handling of nghttp2 errors

There are a few cases where an error returned by `nghttp2` could
have been silently ignored. Thanks to ilhamaf for reporting this!
As far as I can tell there is no actual impact, except perhaps that
we can detect errors/stale connections earlier, but I haven't been
able to cause any actual problem introduced by not handling these
errors properly.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
7 weeks agoHarden stripDomainSuffix() logic. 17152/head
Miod Vallat [Thu, 16 Apr 2026 14:28:14 +0000 (16:28 +0200)] 
Harden stripDomainSuffix() logic.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoMerge pull request #17151 from rgacogne/ddist-ywh-230
Remi Gacogne [Thu, 16 Apr 2026 14:49:17 +0000 (16:49 +0200)] 
Merge pull request #17151 from rgacogne/ddist-ywh-230

dnsdist: Fix handling of long HTTP/2 Date headers, handle non-POSIX locales

7 weeks agoDrop boolean return from stripDomainSuffix().
Miod Vallat [Fri, 27 Jun 2025 09:53:20 +0000 (11:53 +0200)] 
Drop boolean return from stripDomainSuffix().

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoRemove ciEqual(), clone of pdns_iequals().
Miod Vallat [Fri, 27 Jun 2025 09:20:29 +0000 (11:20 +0200)] 
Remove ciEqual(), clone of pdns_iequals().

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoMerge pull request #17149 from miodvallat/parse_is_hard
Miod Vallat [Thu, 16 Apr 2026 12:22:50 +0000 (14:22 +0200)] 
Merge pull request #17149 from miodvallat/parse_is_hard

webserver: correctly split the basic authorization cookie

7 weeks agoMerge pull request #17148 from miodvallat/httpenury
Miod Vallat [Thu, 16 Apr 2026 12:22:22 +0000 (14:22 +0200)] 
Merge pull request #17148 from miodvallat/httpenury

auth: add a configurable limit of web server connections

7 weeks agodnsdist: Check the value of the HTTP Date header, even with a weird locale 17151/head
Remi Gacogne [Thu, 16 Apr 2026 10:40:08 +0000 (12:40 +0200)] 
dnsdist: Check the value of the HTTP Date header, even with a weird locale

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
7 weeks agodnsdist: Use the POSIX locale to generate the HTTP Date header
Remi Gacogne [Thu, 16 Apr 2026 10:37:56 +0000 (12:37 +0200)] 
dnsdist: Use the POSIX locale to generate the HTTP Date header

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
7 weeks agodnsdist: Split HTTP Date header generation, use timebuf_t
Remi Gacogne [Thu, 16 Apr 2026 09:47:41 +0000 (11:47 +0200)] 
dnsdist: Split HTTP Date header generation, use timebuf_t

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
7 weeks agodnsdist: Fix handling of long HTTP/2 Date headers
Remi Gacogne [Tue, 14 Apr 2026 08:14:36 +0000 (10:14 +0200)] 
dnsdist: Fix handling of long HTTP/2 Date headers

Some days of the year can, in some specific locales, require more than 40 bytes.
We should handle that gracefully with a larger buffer, and also just skip the
`Date` header altogether if it somehow does not fit into our buffer.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
7 weeks agodnsdist: Appease ruff 17150/head
Remi Gacogne [Thu, 16 Apr 2026 10:21:44 +0000 (12:21 +0200)] 
dnsdist: Appease ruff

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
7 weeks agodnsdist: Handle missing X-Forwarded-For on existing DoH connection
Remi Gacogne [Thu, 16 Apr 2026 09:18:17 +0000 (11:18 +0200)] 
dnsdist: Handle missing X-Forwarded-For on existing DoH connection

If `trustForwardedForHeader` is enabled, meaning we trust an upstream
reverse-proxy to fill it with the address of the initial client, and
the header was set on at least one previous query of the current DoH
connection, but is missing from the current query, we should fall back
to the address the connection is coming from instead of using the value
of the last received `X-Forwarded-For` header.
This should never happen in practice: if we trust the reverse proxy
to set the `X-Forwarded-For` header it should always do so. But let's
handle the case nevertheless, or we will get an endless stream of
reports from LLMs about it.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
7 weeks agoCorrectly split the basic authorization cookie. 17149/head
Miod Vallat [Thu, 16 Apr 2026 07:16:12 +0000 (09:16 +0200)] 
Correctly split the basic authorization cookie.

This allows passwords containing colons to be correctly handled.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoAdd a limit of the number of concurrent connections to auth webserver. 17148/head
Miod Vallat [Thu, 16 Apr 2026 06:49:10 +0000 (08:49 +0200)] 
Add a limit of the number of concurrent connections to auth webserver.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoMove connection-management.hh to shared place.
Miod Vallat [Wed, 15 Apr 2026 12:40:47 +0000 (14:40 +0200)] 
Move connection-management.hh to shared place.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoMerge pull request #17002 from miodvallat/directbackenderror
Miod Vallat [Wed, 15 Apr 2026 07:44:38 +0000 (09:44 +0200)] 
Merge pull request #17002 from miodvallat/directbackenderror

pdnsutil: possibly helpful backend-cmd help

7 weeks agoMerge pull request #17134 from miodvallat/gallup
Miod Vallat [Wed, 15 Apr 2026 07:44:11 +0000 (09:44 +0200)] 
Merge pull request #17134 from miodvallat/gallup

auth: only perform secpoll checks when they make sense

7 weeks agoMerge pull request #17141 from rgacogne/ddist-coverity-20260414
Remi Gacogne [Wed, 15 Apr 2026 06:59:37 +0000 (08:59 +0200)] 
Merge pull request #17141 from rgacogne/ddist-coverity-20260414

dnsdist: Silence performance warnings from Coverity

7 weeks agodnsdist: Silence performance warnings from Coverity 17141/head
Remi Gacogne [Tue, 14 Apr 2026 09:13:58 +0000 (11:13 +0200)] 
dnsdist: Silence performance warnings from Coverity

Coverity (CID 503155 and 503156, at least) is worried that we are
mistakenly duplicating the `std::string`s that our Lua bindings are
returning. We are doing it on purpose, so let's make it clear.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
7 weeks agoMerge pull request #17140 from PowerDNS/dependabot/cargo/pdns/recursordist/rec-rust...
Remi Gacogne [Tue, 14 Apr 2026 07:55:25 +0000 (09:55 +0200)] 
Merge pull request #17140 from PowerDNS/dependabot/cargo/pdns/recursordist/rec-rust-lib/rust/rand-0.9.4

build(deps): bump rand from 0.9.2 to 0.9.4 in /pdns/recursordist/rec-rust-lib/rust

7 weeks agobuild(deps): bump rand in /pdns/recursordist/rec-rust-lib/rust 17140/head
dependabot[bot] [Tue, 14 Apr 2026 03:32:45 +0000 (03:32 +0000)] 
build(deps): bump rand in /pdns/recursordist/rec-rust-lib/rust

Bumps [rand](https://github.com/rust-random/rand) from 0.9.2 to 0.9.4.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/0.9.4/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/rand_core-0.9.2...0.9.4)

---
updated-dependencies:
- dependency-name: rand
  dependency-version: 0.9.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
7 weeks agoMerge pull request #17139 from miodvallat/codeupdate
Miod Vallat [Mon, 13 Apr 2026 16:03:20 +0000 (18:03 +0200)] 
Merge pull request #17139 from miodvallat/codeupdate

auth: comb the dns update code

7 weeks agoBetter variable names. 17139/head
Miod Vallat [Mon, 13 Apr 2026 13:02:29 +0000 (15:02 +0200)] 
Better variable names.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoWork on DNSRecord references rather than pointers whenever possible.
Miod Vallat [Mon, 13 Apr 2026 13:02:21 +0000 (15:02 +0200)] 
Work on DNSRecord references rather than pointers whenever possible.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoReduce scope of MOADNSParser objects.
Miod Vallat [Mon, 13 Apr 2026 13:02:08 +0000 (15:02 +0200)] 
Reduce scope of MOADNSParser objects.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoPass the MOADNSParser d_answers field rather than the whole object.
Miod Vallat [Mon, 13 Apr 2026 13:01:54 +0000 (15:01 +0200)] 
Pass the MOADNSParser d_answers field rather than the whole object.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoDo not keep secpolling for non-releases. 17134/head
Miod Vallat [Fri, 10 Apr 2026 11:58:07 +0000 (13:58 +0200)] 
Do not keep secpolling for non-releases.

Fixes: #17133
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoMerge pull request #17132 from rgacogne/ddist-fix-dnsresponse_t-lua-ffi
Remi Gacogne [Fri, 10 Apr 2026 10:03:15 +0000 (12:03 +0200)] 
Merge pull request #17132 from rgacogne/ddist-fix-dnsresponse_t-lua-ffi

dnsdist: Lua FFI response actions are passed a `dnsdist_ffi_dnsresponse_t`

8 weeks agoAllow `dnsresponse` 17132/head
Remi Gacogne [Fri, 10 Apr 2026 09:10:24 +0000 (11:10 +0200)] 
Allow `dnsresponse`

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 weeks agodnsdist: Lua FFI _response_ actions are passed a `dnsdist_ffi_dnsresponse_t`
Remi Gacogne [Fri, 10 Apr 2026 09:04:41 +0000 (11:04 +0200)] 
dnsdist: Lua FFI _response_ actions are passed a `dnsdist_ffi_dnsresponse_t`

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 weeks agoMerge pull request #17124 from rgacogne/ddist-refactor-dq-header-interface
Remi Gacogne [Fri, 10 Apr 2026 07:08:27 +0000 (09:08 +0200)] 
Merge pull request #17124 from rgacogne/ddist-refactor-dq-header-interface

dnsdist: Refactor access to DNS headers from Lua

8 weeks agoMerge pull request #17126 from miodvallat/createhex
Miod Vallat [Fri, 10 Apr 2026 05:27:58 +0000 (07:27 +0200)] 
Merge pull request #17126 from miodvallat/createhex

auth lua: one more bad case of createForward

8 weeks agoMerge pull request #17044 from PowerDNS/dependabot/pip/meson/requests-2.33.0
Pieter Lexis [Thu, 9 Apr 2026 15:34:36 +0000 (17:34 +0200)] 
Merge pull request #17044 from PowerDNS/dependabot/pip/meson/requests-2.33.0

build(deps): bump requests from 2.32.4 to 2.33.0 in /meson

8 weeks agoMerge pull request #17046 from PowerDNS/dependabot/pip/regression-tests.api/requests...
Pieter Lexis [Thu, 9 Apr 2026 15:34:08 +0000 (17:34 +0200)] 
Merge pull request #17046 from PowerDNS/dependabot/pip/regression-tests.api/requests-2.33.0

build(deps): bump requests from 2.32.4 to 2.33.0 in /regression-tests.api

8 weeks agoMerge pull request #17130 from miodvallat/dynlistentome
Miod Vallat [Thu, 9 Apr 2026 15:09:35 +0000 (17:09 +0200)] 
Merge pull request #17130 from miodvallat/dynlistentome

auth: some pdns_control love

8 weeks agoMerge pull request #17129 from rgacogne/ddist-coverity-cid-502893
Remi Gacogne [Thu, 9 Apr 2026 15:05:03 +0000 (17:05 +0200)] 
Merge pull request #17129 from rgacogne/ddist-coverity-cid-502893

dnsdist: Fix a warning from Coverity about unintentional copy

8 weeks agoMerge pull request #17128 from omoerbeek/rec-coverity-lua
Otto Moerbeek [Thu, 9 Apr 2026 14:37:46 +0000 (16:37 +0200)] 
Merge pull request #17128 from omoerbeek/rec-coverity-lua

rec: minor optimization from Coverity

8 weeks agoGive some details about control socket setup and access control. 17130/head
Miod Vallat [Thu, 9 Apr 2026 14:34:52 +0000 (16:34 +0200)] 
Give some details about control socket setup and access control.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agorec: minor optimization from Coverity 17128/head
Otto Moerbeek [Thu, 9 Apr 2026 13:24:51 +0000 (15:24 +0200)] 
rec: minor optimization from Coverity

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
8 weeks agodnsdist: Fix a warning from Coverity about unintentional copy 17129/head
Remi Gacogne [Thu, 9 Apr 2026 13:09:55 +0000 (15:09 +0200)] 
dnsdist: Fix a warning from Coverity about unintentional copy

It is intentional, so make it clear.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 weeks agodnsdist: Apply documentation suggestions from Pieter (thanks!) 17124/head
Remi Gacogne [Thu, 9 Apr 2026 13:03:35 +0000 (15:03 +0200)] 
dnsdist: Apply documentation suggestions from Pieter (thanks!)

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 weeks agoMerge pull request #17127 from kpfleming/complete-rename-swagger-to-openapi
Miod Vallat [Thu, 9 Apr 2026 12:59:06 +0000 (14:59 +0200)] 
Merge pull request #17127 from kpfleming/complete-rename-swagger-to-openapi

Complete the transition from Swagger to OpenAPI

8 weeks agoMerge pull request #17125 from pieterlexis/dnsdist-padding-ecs
Pieter Lexis [Thu, 9 Apr 2026 11:41:06 +0000 (13:41 +0200)] 
Merge pull request #17125 from pieterlexis/dnsdist-padding-ecs

feat(dnsdist): Test for Frontend padding and backend ECS

8 weeks agoComplete the transition from Swagger to OpenAPI 17127/head
Kevin P. Fleming [Thu, 9 Apr 2026 11:28:49 +0000 (07:28 -0400)] 
Complete the transition from Swagger to OpenAPI

Remove one remaining reference to Swagger in the documentation, and
rename the API schema file to use 'openapi' instead of
'swagger'. These are all internal (build system and other) changes and
should have no effect on users.

Signed-off-by: Kevin P. Fleming <kevin@km6g.us>
8 weeks agoAdd a test with trailing hex digits for createfoward 1-2-3-4. 17126/head
Miod Vallat [Thu, 9 Apr 2026 10:11:37 +0000 (12:11 +0200)] 
Add a test with trailing hex digits for createfoward 1-2-3-4.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoReject trailing hex digits in createforward 1-2-3-4 format.
Miod Vallat [Thu, 9 Apr 2026 10:10:55 +0000 (12:10 +0200)] 
Reject trailing hex digits in createforward 1-2-3-4 format.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agofeat(dnsdist): Test for Frontend padding and backend ECS 17125/head
Pieter Lexis [Thu, 9 Apr 2026 09:21:57 +0000 (11:21 +0200)] 
feat(dnsdist): Test for Frontend padding and backend ECS

8 weeks agoMake more use of all-zeros strings. NFC
Miod Vallat [Thu, 9 Apr 2026 09:57:53 +0000 (11:57 +0200)] 
Make more use of all-zeros strings. NFC

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoMerge pull request #17123 from miodvallat/backtick
Miod Vallat [Thu, 9 Apr 2026 06:25:42 +0000 (08:25 +0200)] 
Merge pull request #17123 from miodvallat/backtick

fix markdown error

8 weeks agoGive more details about what happens if split-domain setting is changed.
Miod Vallat [Thu, 9 Apr 2026 06:12:09 +0000 (08:12 +0200)] 
Give more details about what happens if split-domain setting is changed.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoRemove spurious backticks. 17123/head
Miod Vallat [Thu, 9 Apr 2026 05:50:46 +0000 (07:50 +0200)] 
Remove spurious backticks.

Closes: #17111
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agodnsdist: Refactor access to DNS headers from Lua
Remi Gacogne [Wed, 8 Apr 2026 13:58:37 +0000 (15:58 +0200)] 
dnsdist: Refactor access to DNS headers from Lua

The existing interface is error-prone: it provides a pointer to
a buffer that might get invalidated if the user keeps it around
too long. The new interface makes it clear when the modification
is actually performed, and there is no dangling pointer.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 weeks agoMerge pull request #17120 from rgacogne/ddist-coverity-20260408
Remi Gacogne [Wed, 8 Apr 2026 11:43:09 +0000 (13:43 +0200)] 
Merge pull request #17120 from rgacogne/ddist-coverity-20260408

dnsdist: Fix some warnings reported by Coverity

8 weeks agodnsdist: Fix some warnings reported by Coverity 17120/head
Remi Gacogne [Wed, 8 Apr 2026 10:33:38 +0000 (12:33 +0200)] 
dnsdist: Fix some warnings reported by Coverity

Being more consistent when moving `RemoteLogActionConfiguration` objects.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 weeks agoMerge pull request #17081 from rgacogne/ddist-dont-keep-parsed-edns-options-around
Remi Gacogne [Wed, 8 Apr 2026 09:52:10 +0000 (11:52 +0200)] 
Merge pull request #17081 from rgacogne/ddist-dont-keep-parsed-edns-options-around

dnsdist: Do not keep the parsed EDNS options around

8 weeks agoMerge pull request #17058 from rgacogne/ddist-move-dnsname-response-ring
Remi Gacogne [Wed, 8 Apr 2026 09:04:24 +0000 (11:04 +0200)] 
Merge pull request #17058 from rgacogne/ddist-move-dnsname-response-ring

dnsdist: Move the existing DNSName into the response rings

8 weeks agobuild(deps): bump requests in /regression-tests.api 17046/head
dependabot[bot] [Wed, 8 Apr 2026 09:00:50 +0000 (09:00 +0000)] 
build(deps): bump requests in /regression-tests.api

Bumps [requests](https://github.com/psf/requests) from 2.32.4 to 2.33.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.4...v2.33.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.33.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
8 weeks agobuild(deps): bump requests from 2.32.4 to 2.33.0 in /meson 17044/head
dependabot[bot] [Wed, 8 Apr 2026 09:00:13 +0000 (09:00 +0000)] 
build(deps): bump requests from 2.32.4 to 2.33.0 in /meson

Bumps [requests](https://github.com/psf/requests) from 2.32.4 to 2.33.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.4...v2.33.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.33.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
8 weeks agoMerge pull request #17115 from pieterlexis/dnsdist-yw-202-padding
Pieter Lexis [Wed, 8 Apr 2026 08:58:45 +0000 (10:58 +0200)] 
Merge pull request #17115 from pieterlexis/dnsdist-yw-202-padding

dnsdist: Actually pad responses

8 weeks agoMerge pull request #17119 from pieterlexis/update-py-deps
Pieter Lexis [Wed, 8 Apr 2026 08:58:22 +0000 (10:58 +0200)] 
Merge pull request #17119 from pieterlexis/update-py-deps

chore: Update all python dependencies

8 weeks agodnsdist: Pass copies of EDNS options to Lua, views are error-prone 17081/head
Remi Gacogne [Thu, 2 Apr 2026 10:14:09 +0000 (12:14 +0200)] 
dnsdist: Pass copies of EDNS options to Lua, views are error-prone

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 weeks agodnsdist: Do not keep the parsed EDNS options around
Remi Gacogne [Tue, 31 Mar 2026 14:12:09 +0000 (16:12 +0200)] 
dnsdist: Do not keep the parsed EDNS options around

The idea to keep the EDNS options around to avoid parsing them
a second time was a nice one, but invalidation is error-prone and
this is rarely useful in practice.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 weeks agochore: Update all python dependencies 17119/head
Pieter Lexis [Wed, 8 Apr 2026 08:05:50 +0000 (10:05 +0200)] 
chore: Update all python dependencies

8 weeks agoMerge pull request #17117 from ronhombre/fix/cpq-use-after-move-doh3
Remi Gacogne [Wed, 8 Apr 2026 07:44:12 +0000 (09:44 +0200)] 
Merge pull request #17117 from ronhombre/fix/cpq-use-after-move-doh3

Hardened DoH3 internal error handling for cpq

8 weeks agochore(dnsdist): Add unit tests for addEDNSPadding 17115/head
Pieter Lexis [Tue, 7 Apr 2026 14:32:11 +0000 (16:32 +0200)] 
chore(dnsdist): Add unit tests for addEDNSPadding

8 weeks agoMerge pull request #17116 from pieterlexis/dnsdist-remove-debug
Pieter Lexis [Wed, 8 Apr 2026 07:09:53 +0000 (09:09 +0200)] 
Merge pull request #17116 from pieterlexis/dnsdist-remove-debug

chore(dnsdist): clean up troubleshooting code

8 weeks agoPlug protobuf logging at a higher level, to get more packets. 17014/head
Miod Vallat [Fri, 20 Mar 2026 10:28:16 +0000 (11:28 +0100)] 
Plug protobuf logging at a higher level, to get more packets.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoauth: basic protobuf emission including test
Peter van Dijk [Fri, 20 Mar 2026 07:23:12 +0000 (08:23 +0100)] 
auth: basic protobuf emission including test

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoHardened DoH3 internal error handling for cpq 17117/head
Ron Lauren Hombre [Wed, 8 Apr 2026 02:21:02 +0000 (10:21 +0800)] 
Hardened DoH3 internal error handling for cpq

Added a check for cpq before releasing DU to handle exceptional cases.

Signed-off-by: Ron Lauren Hombre <118486316+ronhombre@users.noreply.github.com>
8 weeks agofix(dnsdist): allow adding empty options in addOrReplaceEDNSOption
Pieter Lexis [Tue, 7 Apr 2026 14:31:34 +0000 (16:31 +0200)] 
fix(dnsdist): allow adding empty options in addOrReplaceEDNSOption

8 weeks agofix(dnsdist): actually pad responses when requested
Pieter Lexis [Tue, 7 Apr 2026 13:21:00 +0000 (15:21 +0200)] 
fix(dnsdist): actually pad responses when requested

8 weeks agofeat(dnsdist): test self-answered, padded DOH
Pieter Lexis [Tue, 7 Apr 2026 12:16:45 +0000 (14:16 +0200)] 
feat(dnsdist): test self-answered, padded DOH

8 weeks agofix(dnsdist): do not let dnspython pad responses
Pieter Lexis [Tue, 7 Apr 2026 12:15:28 +0000 (14:15 +0200)] 
fix(dnsdist): do not let dnspython pad responses

8 weeks agochore(dnsdist): clean up troubleshooting code 17116/head
Pieter Lexis [Tue, 7 Apr 2026 15:26:37 +0000 (17:26 +0200)] 
chore(dnsdist): clean up troubleshooting code

8 weeks agoMerge pull request #17114 from ronhombre/fix/cpq-use-after-move
Remi Gacogne [Tue, 7 Apr 2026 15:12:33 +0000 (17:12 +0200)] 
Merge pull request #17114 from ronhombre/fix/cpq-use-after-move

Hardened DoQ internal error handling for cpq