]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
13 days agoMerge pull request #17070 from rgacogne/ddist-ywh-102
Remi Gacogne [Tue, 7 Apr 2026 07:29:29 +0000 (09:29 +0200)] 
Merge pull request #17070 from rgacogne/ddist-ywh-102

dnsdist: Fix use-after-free in EDNS options handling

13 days agoUpgrade check-spelling to v0.0.26 17112/head
Josh Soref [Tue, 7 Apr 2026 00:57:26 +0000 (20:57 -0400)] 
Upgrade check-spelling to v0.0.26

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
13 days agospelling: whether or not
Josh Soref [Tue, 7 Apr 2026 01:08:44 +0000 (21:08 -0400)] 
spelling: whether or not

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
13 days agospelling: see
Josh Soref [Tue, 7 Apr 2026 01:18:43 +0000 (21:18 -0400)] 
spelling: see

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
13 days agospelling: please
Josh Soref [Tue, 7 Apr 2026 01:07:52 +0000 (21:07 -0400)] 
spelling: please

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
13 days agospelling: lowercase
Josh Soref [Tue, 7 Apr 2026 01:05:46 +0000 (21:05 -0400)] 
spelling: lowercase

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
13 days agospelling: configuration:
Josh Soref [Tue, 7 Apr 2026 01:16:20 +0000 (21:16 -0400)] 
spelling: configuration:

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
13 days agospelling: better or worse
Josh Soref [Tue, 7 Apr 2026 01:09:13 +0000 (21:09 -0400)] 
spelling: better or worse

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
13 days agospelling: be
Josh Soref [Tue, 7 Apr 2026 01:04:24 +0000 (21:04 -0400)] 
spelling: be

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
13 days agospelling: auth-zone:
Josh Soref [Tue, 7 Apr 2026 01:10:24 +0000 (21:10 -0400)] 
spelling: auth-zone:

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
13 days agospelling: also
Josh Soref [Tue, 7 Apr 2026 01:07:42 +0000 (21:07 -0400)] 
spelling: also

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
13 days agospelling: a
Josh Soref [Tue, 7 Apr 2026 01:04:41 +0000 (21:04 -0400)] 
spelling: a

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
13 days agoUse internet archive link
Josh Soref [Tue, 7 Apr 2026 01:18:28 +0000 (21:18 -0400)] 
Use internet archive link

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2 weeks agoGive TCP thread for DoQ and DoH3
Ron Lauren Hombre [Sun, 5 Apr 2026 17:42:22 +0000 (01:42 +0800)] 
Give TCP thread for DoQ and DoH3

On OpenWRT, the dnsdist implementation isn't normally built with DoQ and DoH3 due to the lack of quiche support. However, when it is enabled and queried through QUIC, dnsdist sees that the connection we have is too big and goes out of its way to try to use TCP to make that request upstream when using PROXYv2.

This fixes that by checking if DoQ or DoH3 are enabled so that in certain configurations with only DoQ or DoH3 enabled, a TCP thread is given to the internal client.

Signed-off-by: Ron Lauren Hombre <118486316+ronhombre@users.noreply.github.com>
2 weeks agoMerge pull request #16970 from omoerbeek/rec-rpz-vs-cache
Otto Moerbeek [Thu, 2 Apr 2026 14:45:12 +0000 (16:45 +0200)] 
Merge pull request #16970 from omoerbeek/rec-rpz-vs-cache

rec: RPZ add auto cache flush of packet cache feature on RPZ updates

2 weeks agoMerge pull request #17062 from pieterlexis/dnsdist-docs-rm-old-changed
Remi Gacogne [Thu, 2 Apr 2026 13:56:19 +0000 (15:56 +0200)] 
Merge pull request #17062 from pieterlexis/dnsdist-docs-rm-old-changed

docs(dnsdist): Remove all version changes pre-1.9

2 weeks agodocs(dnsdist): Remove all version changes pre-1.9 17062/head
Pieter Lexis [Mon, 30 Mar 2026 16:41:28 +0000 (18:41 +0200)] 
docs(dnsdist): Remove all version changes pre-1.9

2 weeks agoZap debug line 16970/head
Otto Moerbeek [Thu, 2 Apr 2026 12:52:07 +0000 (14:52 +0200)] 
Zap debug line

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoMerge pull request #17102 from rgacogne/ddist-ywh-172
Remi Gacogne [Thu, 2 Apr 2026 12:11:24 +0000 (14:11 +0200)] 
Merge pull request #17102 from rgacogne/ddist-ywh-172

dnsdist: Do not oversize the received buffer with `recvmmsg`

2 weeks agoMerge pull request #17017 from rgacogne/ddist-remotelogaction-export-tags-prefixes
Remi Gacogne [Thu, 2 Apr 2026 12:11:02 +0000 (14:11 +0200)] 
Merge pull request #17017 from rgacogne/ddist-remotelogaction-export-tags-prefixes

dnsdist: Add more options to select which tags to export over ProtoBuf

2 weeks agoMerge pull request #17105 from rgacogne/ci-disable-tsan-arm
Remi Gacogne [Thu, 2 Apr 2026 12:10:43 +0000 (14:10 +0200)] 
Merge pull request #17105 from rgacogne/ci-disable-tsan-arm

dnsdist: Do not run our tests under TSAN on ARM

2 weeks agoCorrect default value, from @pieterlexis
Otto Moerbeek [Thu, 2 Apr 2026 12:04:07 +0000 (14:04 +0200)] 
Correct default value, from @pieterlexis

Co-authored-by: Pieter Lexis <pieter@plexis.eu>
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoMerge pull request #17104 from rgacogne/curl-fail
Remi Gacogne [Thu, 2 Apr 2026 11:15:52 +0000 (13:15 +0200)] 
Merge pull request #17104 from rgacogne/curl-fail

builder-support: Call `curl` with `--fail` in our scripts

2 weeks agodnsdist: Do not run our tests under TSAN on ARM 17105/head
Remi Gacogne [Thu, 2 Apr 2026 11:04:12 +0000 (13:04 +0200)] 
dnsdist: Do not run our tests under TSAN on ARM

TSAN-enabled builds crash for no indentifiable reason on ARM
so for now let's disable them.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoMerge pull request #17103 from rgacogne/ddist-quiche-0.28.0
Remi Gacogne [Thu, 2 Apr 2026 10:33:39 +0000 (12:33 +0200)] 
Merge pull request #17103 from rgacogne/ddist-quiche-0.28.0

dnsdist: Update our version of Quiche to 0.28.0

2 weeks agodnsdist: Increment our metrics in a consistent order to appease Miod! 17102/head
Remi Gacogne [Thu, 2 Apr 2026 10:18:55 +0000 (12:18 +0200)] 
dnsdist: Increment our metrics in a consistent order to appease Miod!

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agobuilder-support: Call `curl` with `--fail` in our scripts 17104/head
Remi Gacogne [Thu, 2 Apr 2026 10:14:58 +0000 (12:14 +0200)] 
builder-support: Call `curl` with `--fail` in our scripts

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoMerge pull request #17069 from rgacogne/ddist-ywh-94
Remi Gacogne [Thu, 2 Apr 2026 09:37:45 +0000 (11:37 +0200)] 
Merge pull request #17069 from rgacogne/ddist-ywh-94

dnsdist: Prevent unbounded memory allocation for DoQ/DoH3

2 weeks agodnsdist: Reformat regression tests with ruff 17070/head
Remi Gacogne [Tue, 31 Mar 2026 13:25:32 +0000 (15:25 +0200)] 
dnsdist: Reformat regression tests with ruff

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoMerge pull request #17101 from rgacogne/rec-aggressive-nsec-transition
Remi Gacogne [Thu, 2 Apr 2026 09:35:58 +0000 (11:35 +0200)] 
Merge pull request #17101 from rgacogne/rec-aggressive-nsec-transition

rec: Better handling of RFC5155 transitions in the aggressive NSEC cache

2 weeks agodnsdist: Update our version of Quiche to 0.28.0 17103/head
Remi Gacogne [Thu, 2 Apr 2026 09:34:45 +0000 (11:34 +0200)] 
dnsdist: Update our version of Quiche to 0.28.0

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Do not oversize the received buffer with `recvmmsg`
Remi Gacogne [Thu, 2 Apr 2026 08:17:41 +0000 (10:17 +0200)] 
dnsdist: Do not oversize the received buffer with `recvmmsg`

Passing `MSG_TRUNC` to `recvmmsg` causes the Linux kernel to report
the real size of the datagram even if it was longer than the passed
buffer, which is not what we want here as it would be wasteful to
resize our internal buffer to this size.

This was reported by komaku in #YWH-PGM6095-172, many thanks!.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agorec: Better aggressive NSEC cache type to string handling 17101/head
Remi Gacogne [Mon, 23 Mar 2026 08:58:52 +0000 (09:58 +0100)] 
rec: Better aggressive NSEC cache type to string handling

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agorec: Better handling of RFC5155 transitions in the aggressive NSEC cache
Remi Gacogne [Tue, 17 Feb 2026 09:03:46 +0000 (10:03 +0100)] 
rec: Better handling of RFC5155 transitions in the aggressive NSEC cache

This commit ensures that we do not cache NSEC and NSEC3 records for the
same zone at the same time, which could lead to surprises during
NSEC -> NSEC3 or NSEC3 -> NSEC transitions as described in RFC5155 sections
10.4 and 10.5.
The existing code was correctly handling the NSEC -> NSEC3 transition
by clearing any existing NSEC records when a NSEC3 record was received
for a zone, but this behaviour could have been problematic for NSEC3
to NSEC transitions.
The new behaviour is to refuse to insert records during the transition,
keeping the existing entries until they expire.

This was reported by:
- Qifan Zhang (Palo Alto Networks) qzhang@paloaltonetworks.com
- Zilin Shen (Purdue University) shen624@purdue.edu
- Imtiaz Karim (The University of Texas at Dallas) imtiaz.karim@utdallas.edu
- Elisa Bertino (Purdue University) bertino@purdue.edu
- Daiping Liu (Palo Alto Networks) dpliu@paloaltonetworks.com
- Zhou Li (University of California, Irvine) zhou.li@uci.edu

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Reformat regression tests with ruff 17069/head
Remi Gacogne [Tue, 31 Mar 2026 13:24:09 +0000 (15:24 +0200)] 
dnsdist: Reformat regression tests with ruff

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Add "too large" and "too many headers" regression tests
Remi Gacogne [Thu, 19 Feb 2026 13:46:04 +0000 (14:46 +0100)] 
dnsdist: Add "too large" and "too many headers" regression tests

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Use a smart pointer for DoH3 events
Remi Gacogne [Thu, 19 Feb 2026 11:02:43 +0000 (12:02 +0100)] 
dnsdist: Use a smart pointer for DoH3 events

I don't see any issue right away but let's make sure we don't leak.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Cap the maximum amount of HTTP headers on incoming queries
Remi Gacogne [Thu, 19 Feb 2026 11:02:15 +0000 (12:02 +0100)] 
dnsdist: Cap the maximum amount of HTTP headers on incoming queries

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Prevent unbounded memory allocation for DoQ queries
Remi Gacogne [Thu, 19 Feb 2026 11:01:58 +0000 (12:01 +0100)] 
dnsdist: Prevent unbounded memory allocation for DoQ queries

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Prevent unbounded memory allocation for DoH3 queries
Remi Gacogne [Thu, 19 Feb 2026 11:00:32 +0000 (12:00 +0100)] 
dnsdist: Prevent unbounded memory allocation for DoH3 queries

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Fix use-after-free in EDNS options handling
Remi Gacogne [Mon, 23 Feb 2026 10:03:14 +0000 (11:03 +0100)] 
dnsdist: Fix use-after-free in EDNS options handling

I think a better fix is going to be to get rid of the caching,
but the patch would be significantly bigger so let's go with this
for now.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoMerge pull request #17077 from rgacogne/ywh-137
Remi Gacogne [Wed, 1 Apr 2026 08:46:20 +0000 (10:46 +0200)] 
Merge pull request #17077 from rgacogne/ywh-137

dnsparser: Harden the DNS parser against malformed records

2 weeks agoMerge pull request #17076 from rgacogne/handle-malformed-pointers-in-dnswriter
Remi Gacogne [Wed, 1 Apr 2026 08:44:11 +0000 (10:44 +0200)] 
Merge pull request #17076 from rgacogne/handle-malformed-pointers-in-dnswriter

Handle malformed pointers in dnswriter

2 weeks agoMerge pull request #17035 from miodvallat/umentation
Miod Vallat [Wed, 1 Apr 2026 07:03:29 +0000 (09:03 +0200)] 
Merge pull request #17035 from miodvallat/umentation

auth: minor doc tweaks

2 weeks agoMerge pull request #17079 from omoerbeek/doc-plexus
Otto Moerbeek [Wed, 1 Apr 2026 05:51:10 +0000 (07:51 +0200)] 
Merge pull request #17079 from omoerbeek/doc-plexus

docs: Add Plexus to front page

2 weeks agoMerge pull request #17080 from rgacogne/ddist-fix-doh-regression-tests-formatting...
Remi Gacogne [Tue, 31 Mar 2026 14:51:21 +0000 (16:51 +0200)] 
Merge pull request #17080 from rgacogne/ddist-fix-doh-regression-tests-formatting-master

dnsdist: Fix the formatting of `test_DOH.py`

2 weeks agodnsdist: Fix the formatting of `test_DOH.py` 17080/head
Remi Gacogne [Tue, 31 Mar 2026 13:34:01 +0000 (15:34 +0200)] 
dnsdist: Fix the formatting of `test_DOH.py`

I made the mistake of merging one PR where the formatting was not right,
and now it makes a lot of PRs that are not touching this code unhappy.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoMerge pull request #17071 from rgacogne/ywh-115
Remi Gacogne [Tue, 31 Mar 2026 13:28:05 +0000 (15:28 +0200)] 
Merge pull request #17071 from rgacogne/ywh-115

DNSWriter: Prevent overflow when generating (too) large DNS packets

2 weeks agodnsdist: Reformat regression tests with ruff 17077/head
Remi Gacogne [Tue, 31 Mar 2026 13:27:22 +0000 (15:27 +0200)] 
dnsdist: Reformat regression tests with ruff

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Reformat regression tests with ruff 17076/head
Remi Gacogne [Tue, 31 Mar 2026 13:26:30 +0000 (15:26 +0200)] 
dnsdist: Reformat regression tests with ruff

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoAdd Plexus to front page 17079/head
Otto Moerbeek [Tue, 31 Mar 2026 12:40:54 +0000 (14:40 +0200)] 
Add Plexus to front page

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoMerge pull request #17065 from rgacogne/ddist-fix-js
Remi Gacogne [Tue, 31 Mar 2026 11:54:54 +0000 (13:54 +0200)] 
Merge pull request #17065 from rgacogne/ddist-fix-js

dnsdist: Fix HTML injection in the Web dashboard

2 weeks agoauth: Implement `consumeRemaining` in DNSParser, DNSWriter, RecordTextReader and...
Remi Gacogne [Thu, 19 Mar 2026 09:20:36 +0000 (10:20 +0100)] 
auth: Implement `consumeRemaining` in DNSParser, DNSWriter, RecordTextReader and RecordTextWriter

This is needed to deal with a bug (#17000) in the authoritative code that at
some point created non-empty ENT records in our databases.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Update unit tests for parsing issues now reported earlier in the process
Remi Gacogne [Tue, 17 Mar 2026 14:03:34 +0000 (15:03 +0100)] 
dnsdist: Update unit tests for parsing issues now reported earlier in the process

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoauth: Fix invalid TKEY payload in our tests
Remi Gacogne [Tue, 17 Mar 2026 13:11:18 +0000 (14:11 +0100)] 
auth: Fix invalid TKEY payload in our tests

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoWarn early when parsing a too large DNS record
Remi Gacogne [Tue, 17 Mar 2026 13:10:51 +0000 (14:10 +0100)] 
Warn early when parsing a too large DNS record

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoImplement a more useful version of `PacketReader::getRemaining()`
Remi Gacogne [Tue, 17 Mar 2026 13:10:22 +0000 (14:10 +0100)] 
Implement a more useful version of `PacketReader::getRemaining()`

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsparser: Harden the DNS parser against malformed records
Remi Gacogne [Mon, 16 Mar 2026 14:55:29 +0000 (15:55 +0100)] 
dnsparser: Harden the DNS parser against malformed records

There is no security issue: we are not reading outside of the packet
or bypassing any checks. We might however accept packets that are not
valid and that we could discard earlier in the process.

Reported by nrabrenovic in YWH-PGM6095-137.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoDNSWriter: Clean up the code, no functional changes
Remi Gacogne [Thu, 12 Mar 2026 14:15:00 +0000 (15:15 +0100)] 
DNSWriter: Clean up the code, no functional changes

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoDNSWriter: Handle malformed pointers in the current content
Remi Gacogne [Tue, 10 Mar 2026 12:37:02 +0000 (13:37 +0100)] 
DNSWriter: Handle malformed pointers in the current content

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoMerge pull request #17039 from rgacogne/ddist-bench-packet-cache
Remi Gacogne [Tue, 31 Mar 2026 10:19:55 +0000 (12:19 +0200)] 
Merge pull request #17039 from rgacogne/ddist-bench-packet-cache

dnsdist: Add micro-benchmarks for the packet cache

2 weeks agoMerge pull request #17050 from esensar/feature/edns-padding
Remi Gacogne [Tue, 31 Mar 2026 10:19:37 +0000 (12:19 +0200)] 
Merge pull request #17050 from esensar/feature/edns-padding

dnsdist: add EDNS padding support

2 weeks agoMerge pull request #17068 from rgacogne/ddist-YWH-PGM6095-87
Remi Gacogne [Tue, 31 Mar 2026 10:16:37 +0000 (12:16 +0200)] 
Merge pull request #17068 from rgacogne/ddist-YWH-PGM6095-87

dnsdist: Fix DoH ACL bypass when early ACL check is disabled

2 weeks agoMerge pull request #17067 from rgacogne/ddist-YWH-PGM6095-86
Remi Gacogne [Tue, 31 Mar 2026 10:14:19 +0000 (12:14 +0200)] 
Merge pull request #17067 from rgacogne/ddist-YWH-PGM6095-86

dnsdist: Fix out-of-bounds read when parsing DNS packets via Lua

2 weeks agoMerge pull request #17066 from rgacogne/ddist-disable-cross-origin-requests-by-default
Remi Gacogne [Tue, 31 Mar 2026 10:14:09 +0000 (12:14 +0200)] 
Merge pull request #17066 from rgacogne/ddist-disable-cross-origin-requests-by-default

dnsdist: Disable cross-origin HTTP requests by default

2 weeks agoMerge pull request #17072 from rgacogne/dnsdit-1.9.12-2.0.3-changelog-secpoll
Remi Gacogne [Tue, 31 Mar 2026 09:58:43 +0000 (11:58 +0200)] 
Merge pull request #17072 from rgacogne/dnsdit-1.9.12-2.0.3-changelog-secpoll

dnsdist: Update ChangeLog and security polling for 1.9.12 and 2.0.3

2 weeks agodnsdist: Set PR # in the ChangeLog 17072/head
Remi Gacogne [Tue, 31 Mar 2026 08:37:28 +0000 (10:37 +0200)] 
dnsdist: Set PR # in the ChangeLog

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoAdd researcher names to the spell-checker allow-list
Remi Gacogne [Tue, 31 Mar 2026 07:56:09 +0000 (09:56 +0200)] 
Add researcher names to the spell-checker allow-list

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Add security advisory 2026-02
Remi Gacogne [Tue, 31 Mar 2026 07:45:38 +0000 (09:45 +0200)] 
dnsdist: Add security advisory 2026-02

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoMerge pull request #17061 from pieterlexis/update-python-pkgs
Pieter Lexis [Tue, 31 Mar 2026 07:53:41 +0000 (09:53 +0200)] 
Merge pull request #17061 from pieterlexis/update-python-pkgs

chore: Update all python packages

3 weeks agodnsdist: ChangeLog and secpoll update for 1.9.12, 2.0.3
Remi Gacogne [Mon, 30 Mar 2026 13:01:07 +0000 (15:01 +0200)] 
dnsdist: ChangeLog and secpoll update for 1.9.12, 2.0.3

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agodnsdist: Drop the PR # from the available features map 17017/head
Remi Gacogne [Mon, 30 Mar 2026 15:08:26 +0000 (17:08 +0200)] 
dnsdist: Drop the PR # from the available features map

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agodnsdist: Add more examples on how to export tags to protobuf
Remi Gacogne [Mon, 30 Mar 2026 15:08:07 +0000 (17:08 +0200)] 
dnsdist: Add more examples on how to export tags to protobuf

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agochore: Update all python packages 17061/head
Pieter Lexis [Mon, 30 Mar 2026 15:04:59 +0000 (17:04 +0200)] 
chore: Update all python packages

3 weeks agodnsdist: add EDNS padding support 17050/head
Ensar Sarajčić [Fri, 27 Mar 2026 17:08:22 +0000 (18:08 +0100)] 
dnsdist: add EDNS padding support

Adds support for EDNS padding from [RFC 7830],
implemented per [RFC 8467], specifically [Block-Length Padding Strategy],
which is used in recursor too.

Support is added for DoT, DoH, DoH3 and DoQ frontends.

[RFC 7830]: https://datatracker.ietf.org/doc/html/rfc7830
[RFC 8467]: https://datatracker.ietf.org/doc/html/rfc8467
[Block-Length Padding Strategy]: https://datatracker.ietf.org/doc/html/rfc8467#section-4.1

Closes: #10018
Signed-off-by: Ensar Sarajčić <dev@ensarsarajcic.com>
3 weeks agoMerge pull request #17059 from pieterlexis/docs-lua-anchor
Pieter Lexis [Mon, 30 Mar 2026 14:59:37 +0000 (16:59 +0200)] 
Merge pull request #17059 from pieterlexis/docs-lua-anchor

docs: correct anchors to Lua funcs in search

3 weeks agofix: some pythopn requirement files 17059/head
Pieter Lexis [Mon, 30 Mar 2026 12:31:26 +0000 (14:31 +0200)] 
fix: some pythopn requirement files

3 weeks agoMerge pull request #17037 from esensar/feature/doh3-response-maps
Remi Gacogne [Mon, 30 Mar 2026 11:52:34 +0000 (13:52 +0200)] 
Merge pull request #17037 from esensar/feature/doh3-response-maps

dnsdist: add support for response maps for DoH3

3 weeks agodocs: correct anchors to Lua funcs in search
Pieter Lexis [Mon, 30 Mar 2026 10:11:26 +0000 (12:11 +0200)] 
docs: correct anchors to Lua funcs in search

Closes: #17028
3 weeks agoUse constant-time string comparison for pdns_control password.
Miod Vallat [Mon, 30 Mar 2026 07:01:58 +0000 (09:01 +0200)] 
Use constant-time string comparison for pdns_control password.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agodnsdist: Move the existing DNSName into the response rings 17058/head
Remi Gacogne [Fri, 27 Mar 2026 15:41:33 +0000 (16:41 +0100)] 
dnsdist: Move the existing DNSName into the response rings

Rather than creating a new one. This saves an allocation plus copy
when the name is too long to fit in the internal "short string
optimization" buffer.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agoMerge pull request #17048 from miodvallat/tawny_or_ruby
Miod Vallat [Fri, 27 Mar 2026 15:02:48 +0000 (16:02 +0100)] 
Merge pull request #17048 from miodvallat/tawny_or_ruby

Broader exception catching around stoi usage

3 weeks agoCatch std::logic_error around {checked_,}sto*, not std::out_of_range. 17048/head
Miod Vallat [Fri, 27 Mar 2026 13:25:47 +0000 (14:25 +0100)] 
Catch std::logic_error around {checked_,}sto*, not std::out_of_range.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agodnsdist: Use `catch2` instead of `libcatch2-dev` since Ubuntu is laggind behind 17039/head
Remi Gacogne [Thu, 26 Mar 2026 14:22:44 +0000 (15:22 +0100)] 
dnsdist: Use `catch2` instead of `libcatch2-dev` since Ubuntu is laggind behind

This might become a catch22.

3 weeks agodnsdist: Build benchmark targets in CI
Remi Gacogne [Thu, 26 Mar 2026 12:33:18 +0000 (13:33 +0100)] 
dnsdist: Build benchmark targets in CI

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agodnsdist: Prepare the threads vector outside of the bench
Remi Gacogne [Thu, 26 Mar 2026 12:13:53 +0000 (13:13 +0100)] 
dnsdist: Prepare the threads vector outside of the bench

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agodnsdist: Add micro-benchmarks for the packet cache
Remi Gacogne [Thu, 26 Mar 2026 10:46:26 +0000 (11:46 +0100)] 
dnsdist: Add micro-benchmarks for the packet cache

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agodnsdist: add basic regression tests for DoH3 responses map 17037/head
Ensar Sarajčić [Thu, 26 Mar 2026 12:25:47 +0000 (13:25 +0100)] 
dnsdist: add basic regression tests for DoH3 responses map

Signed-off-by: Ensar Sarajčić <dev@ensarsarajcic.com>
3 weeks agodnsdist: fix `dnsdist-doh-common` import in `doh3.hh`
Ensar Sarajčić [Thu, 26 Mar 2026 12:01:06 +0000 (13:01 +0100)] 
dnsdist: fix `dnsdist-doh-common` import in `doh3.hh`

Signed-off-by: Ensar Sarajčić <dev@ensarsarajcic.com>
3 weeks agodnsdist: use `handleImmediateResponse` for custom responses
Ensar Sarajčić [Thu, 26 Mar 2026 11:50:52 +0000 (12:50 +0100)] 
dnsdist: use `handleImmediateResponse` for custom responses

Signed-off-by: Ensar Sarajčić <dev@ensarsarajcic.com>
3 weeks agoMerge pull request #17038 from rgacogne/ddist-fix-micro-benchs
Remi Gacogne [Thu, 26 Mar 2026 11:33:17 +0000 (12:33 +0100)] 
Merge pull request #17038 from rgacogne/ddist-fix-micro-benchs

dnsdist: Fix micro-benchmarks compilation

3 weeks agodnsdist: Fix micro-benchmarks compilation 17038/head
Remi Gacogne [Thu, 26 Mar 2026 10:45:04 +0000 (11:45 +0100)] 
dnsdist: Fix micro-benchmarks compilation

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agodnsdist: add docs for `DOH3Frontend:setResponsesMap`
Ensar Sarajčić [Thu, 26 Mar 2026 08:50:28 +0000 (09:50 +0100)] 
dnsdist: add docs for `DOH3Frontend:setResponsesMap`

Signed-off-by: Ensar Sarajčić <dev@ensarsarajcic.com>
3 weeks agodnsdist: add support for response maps for DoH3
Ensar Sarajčić [Thu, 26 Mar 2026 08:43:49 +0000 (09:43 +0100)] 
dnsdist: add support for response maps for DoH3

Closes: #16202
Signed-off-by: Ensar Sarajčić <dev@ensarsarajcic.com>
3 weeks agoCorrectly generate the json schema file for auth. 17035/head
Pieter Lexis [Wed, 25 Mar 2026 12:58:07 +0000 (13:58 +0100)] 
Correctly generate the json schema file for auth.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoFix other reference name.
Miod Vallat [Wed, 25 Mar 2026 12:39:20 +0000 (13:39 +0100)] 
Fix other reference name.

Co-authored-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoMerge pull request #17034 from omoerbeek/rec-man-pages-optional
Otto Moerbeek [Wed, 25 Mar 2026 11:57:51 +0000 (12:57 +0100)] 
Merge pull request #17034 from omoerbeek/rec-man-pages-optional

rec: add meson option to not build man pages

3 weeks agoMerge pull request #16734 from rgacogne/auth-meson-20260116
Remi Gacogne [Wed, 25 Mar 2026 11:53:49 +0000 (12:53 +0100)] 
Merge pull request #16734 from rgacogne/auth-meson-20260116

auth: Fix a bunch of issues when building with `meson`

3 weeks agoMerge pull request #17033 from omoerbeek/rec-docs-followcname
Otto Moerbeek [Wed, 25 Mar 2026 11:49:36 +0000 (12:49 +0100)] 
Merge pull request #17033 from omoerbeek/rec-docs-followcname

rec docs: describe followCNAMERecords better

3 weeks agoFix reference name.
Miod Vallat [Wed, 25 Mar 2026 11:37:48 +0000 (12:37 +0100)] 
Fix reference name.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>