]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
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 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 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 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

8 weeks agoMerge pull request #17110 from ronhombre/fix/give-tcp-thread-to-doq-and-doh3
Remi Gacogne [Tue, 7 Apr 2026 15:12:23 +0000 (17:12 +0200)] 
Merge pull request #17110 from ronhombre/fix/give-tcp-thread-to-doq-and-doh3

Give TCP thread as default for definition USE_SINGLE_ACCEPTOR_THREAD

8 weeks agoHardened DoQ internal error handling for cpq 17114/head
Ron Lauren Hombre [Tue, 7 Apr 2026 14:04:19 +0000 (22:04 +0800)] 
Hardened DoQ 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 agoMerge branch 'PowerDNS:master' into fix/give-tcp-thread-to-doq-and-doh3 17110/head
Ron Lauren Hombre [Tue, 7 Apr 2026 13:57:11 +0000 (21:57 +0800)] 
Merge branch 'PowerDNS:master' into fix/give-tcp-thread-to-doq-and-doh3

8 weeks agoMerge pull request #17112 from jsoref/check-spelling-0.0.26
Remi Gacogne [Tue, 7 Apr 2026 13:53:56 +0000 (15:53 +0200)] 
Merge pull request #17112 from jsoref/check-spelling-0.0.26

Upgrade check-spelling to v0.0.26

8 weeks agoSimplify TCP client thread initialization
Ron Lauren Hombre [Tue, 7 Apr 2026 13:48:26 +0000 (21:48 +0800)] 
Simplify TCP client thread initialization

Removed conditional TCP client thread creation and make them the default for definition USE_SINGLE_ACCEPTOR_THREAD

Signed-off-by: Ron Lauren Hombre <118486316+ronhombre@users.noreply.github.com>
8 weeks 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

8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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>
8 weeks 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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

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

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

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

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

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

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