]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
83 min agoMerge pull request #17126 from miodvallat/createhex master
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

15 hours 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

15 hours 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

15 hours 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

15 hours 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

16 hours 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

16 hours 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>
17 hours 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>
17 hours 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>
17 hours 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

19 hours 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

19 hours 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>
20 hours 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>
20 hours 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>
20 hours 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

20 hours 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>
24 hours 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

25 hours 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>
43 hours 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

44 hours 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>
44 hours 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

45 hours 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

45 hours 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>
45 hours 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>
45 hours 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

45 hours 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

46 hours 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>
46 hours 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>
46 hours 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

47 hours 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

47 hours 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

47 hours 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

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

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

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

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

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

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

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

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

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

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

3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
4 days 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>
7 days 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

7 days 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

7 days 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

7 days 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>
7 days 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`

7 days 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

7 days 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

7 days 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>
7 days 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

7 days 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>
7 days 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

7 days 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>
7 days 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>
7 days 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

7 days 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>
7 days 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

7 days 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>
7 days 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>
7 days 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>
7 days 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>
7 days 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>
7 days 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>
7 days 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>
7 days 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>
7 days 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>
7 days 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>
7 days 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>
8 days 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

8 days 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

8 days 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

9 days 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

9 days 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`

9 days 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>
9 days 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

9 days 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>
9 days 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>
9 days 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>
9 days 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

9 days 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>
9 days 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>
9 days 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>
9 days 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>