]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
5 hours agoMerge pull request #17248 from miodvallat/times_they_are_truncating master
Miod Vallat [Tue, 28 Apr 2026 14:10:22 +0000 (16:10 +0200)] 
Merge pull request #17248 from miodvallat/times_they_are_truncating

auth: (bind) fix one bad case of time_t truncation

30 hours agoFix one bad case of time_t truncation. 17248/head
Miod Vallat [Mon, 27 Apr 2026 14:00:58 +0000 (16:00 +0200)] 
Fix one bad case of time_t truncation.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 days agoMerge pull request #17243 from mind04/no-axfr-anonymous
Miod Vallat [Fri, 24 Apr 2026 12:42:41 +0000 (14:42 +0200)] 
Merge pull request #17243 from mind04/no-axfr-anonymous

auth: remove extra 'A' from some AXFR log lines

4 days agoauth: remove extra 'A' from some AXFR log lines 17243/head
Kees Monshouwer [Fri, 24 Apr 2026 11:33:36 +0000 (13:33 +0200)] 
auth: remove extra 'A' from some AXFR log lines

Signed-off-by: Kees Monshouwer <mind04@monshouwer.org>
4 days agoMerge pull request #16971 from mind04/auth-nested-catalogs
Miod Vallat [Fri, 24 Apr 2026 10:47:31 +0000 (12:47 +0200)] 
Merge pull request #16971 from mind04/auth-nested-catalogs

Auth: nested catalogs

4 days agoauth: make gcc 15.2 happy 16971/head
Kees Monshouwer [Fri, 24 Apr 2026 08:18:10 +0000 (10:18 +0200)] 
auth: make gcc 15.2 happy

Signed-off-by: Kees Monshouwer <mind04@monshouwer.org>
4 days agoauth: fix regression tests for --with-dynmodules
Kees Monshouwer [Thu, 23 Apr 2026 21:27:18 +0000 (23:27 +0200)] 
auth: fix regression tests for --with-dynmodules

Signed-off-by: Kees Monshouwer <mind04@monshouwer.org>
4 days agoauth: implement nested catalogs
Kees Monshouwer [Wed, 22 Jan 2025 22:57:54 +0000 (23:57 +0100)] 
auth: implement nested catalogs

Signed-off-by: Kees Monshouwer <mind04@monshouwer.org>
5 days agoMerge pull request #17234 from romeroalx/fix-pinning-py-0426
Remi Gacogne [Thu, 23 Apr 2026 14:47:04 +0000 (16:47 +0200)] 
Merge pull request #17234 from romeroalx/fix-pinning-py-0426

requirements.txt: update version of pinned packages

5 days agoMerge pull request #17237 from rgacogne/ddist-clang-tidy-warnings-20260423
Remi Gacogne [Thu, 23 Apr 2026 14:46:38 +0000 (16:46 +0200)] 
Merge pull request #17237 from rgacogne/ddist-clang-tidy-warnings-20260423

dnsdist: Fix clang-tidy warnings

5 days agodnsdist: Fix clang-tidy warnings 17237/head
Remi Gacogne [Thu, 23 Apr 2026 12:42:22 +0000 (14:42 +0200)] 
dnsdist: Fix clang-tidy warnings

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
5 days agoMerge pull request #17231 from rgacogne/ddist-udp-max-outstanding
Remi Gacogne [Thu, 23 Apr 2026 13:21:25 +0000 (15:21 +0200)] 
Merge pull request #17231 from rgacogne/ddist-udp-max-outstanding

dnsdist: Set default number of outstanding queries per backend to 65536

5 days agodnsdist: Set default number of outstanding queries per backend to 65536 17231/head
Remi Gacogne [Thu, 23 Apr 2026 08:47:01 +0000 (10:47 +0200)] 
dnsdist: Set default number of outstanding queries per backend to 65536

The existing default was off by one, wasting one possible state.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
5 days agoMerge pull request #17235 from omoerbeek/dnsparser-unquoted-bound
Remi Gacogne [Thu, 23 Apr 2026 12:31:41 +0000 (14:31 +0200)] 
Merge pull request #17235 from omoerbeek/dnsparser-unquoted-bound

common: Check boundary in getUnquotedText() as we do in getText()

5 days agoTidy 17235/head
Otto Moerbeek [Thu, 23 Apr 2026 11:26:49 +0000 (13:26 +0200)] 
Tidy

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
5 days agorequirements.txt: update version of pinned packages 17234/head
romeroalx [Wed, 22 Apr 2026 09:28:40 +0000 (11:28 +0200)] 
requirements.txt: update version of pinned packages

5 days agoCheck boundary as we do in getText()
Otto Moerbeek [Thu, 23 Apr 2026 10:23:48 +0000 (12:23 +0200)] 
Check boundary as we do in getText()

From YWH-PGM6095-137. We still stay inside the packet, so no security
issue.

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
5 days agoMerge pull request #17232 from omoerbeek/auth-fix-missing-test-file
Otto Moerbeek [Thu, 23 Apr 2026 10:20:35 +0000 (12:20 +0200)] 
Merge pull request #17232 from omoerbeek/auth-fix-missing-test-file

auth unit tests: add missing test file for the autotools case

5 days agoMerge pull request #16522 from Habbie/lmdb-full-comments
Peter van Dijk [Thu, 23 Apr 2026 10:01:30 +0000 (12:01 +0200)] 
Merge pull request #16522 from Habbie/lmdb-full-comments

auth lmdb: full support for comments

5 days agoMerge pull request #17218 from rgacogne/ddist-1.9.14-2.0.5-changelog-secpoll
Remi Gacogne [Thu, 23 Apr 2026 09:35:53 +0000 (11:35 +0200)] 
Merge pull request #17218 from rgacogne/ddist-1.9.14-2.0.5-changelog-secpoll

dnsdist: Update ChangeLog and security polling zone for 1.9.14, 2.0.5

5 days agoauth unit tests: add missing test file for the autotools case 17232/head
Otto Moerbeek [Thu, 23 Apr 2026 09:33:48 +0000 (11:33 +0200)] 
auth unit tests: add missing test file for the autotools case

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
5 days agoMerge pull request #17180 from edmonds/dnsdist/per-backend-max-udp-outstanding
Remi Gacogne [Thu, 23 Apr 2026 08:57:19 +0000 (10:57 +0200)] 
Merge pull request #17180 from edmonds/dnsdist/per-backend-max-udp-outstanding

dnsdist: Add per-backend `max_udp_outstanding` YAML config setting

5 days agoMerge pull request #17205 from omoerbeek/rec-priv-rpz-soa
Otto Moerbeek [Thu, 23 Apr 2026 07:08:23 +0000 (09:08 +0200)] 
Merge pull request #17205 from omoerbeek/rec-priv-rpz-soa

rec: throw if no valid SOA found (YWH-PGM6095-168)

5 days agoMerge pull request #17203 from omoerbeek/rec-private-zonemd
Otto Moerbeek [Thu, 23 Apr 2026 07:08:06 +0000 (09:08 +0200)] 
Merge pull request #17203 from omoerbeek/rec-private-zonemd

rec: zonemd null pointer dereference on non-standard schemes (#YWH-PGM6095-156)

5 days agoMerge pull request #17216 from rgacogne/ddist-ywh-189
Remi Gacogne [Thu, 23 Apr 2026 07:05:33 +0000 (09:05 +0200)] 
Merge pull request #17216 from rgacogne/ddist-ywh-189

dnsdist: Prevent division by zero when computing DNSCrypt padding

5 days agoMerge pull request #17214 from rgacogne/ddist-ywh-170
Remi Gacogne [Thu, 23 Apr 2026 07:05:20 +0000 (09:05 +0200)] 
Merge pull request #17214 from rgacogne/ddist-ywh-170

dnsdist: Clean QUIC stream-related data after errors

5 days agoMerge pull request #17210 from rgacogne/ywh-159
Remi Gacogne [Thu, 23 Apr 2026 07:05:11 +0000 (09:05 +0200)] 
Merge pull request #17210 from rgacogne/ywh-159

dnsdist: Handle SVCB response without any usable address

5 days agoMerge pull request #17208 from rgacogne/ywh-138
Remi Gacogne [Thu, 23 Apr 2026 07:04:58 +0000 (09:04 +0200)] 
Merge pull request #17208 from rgacogne/ywh-138

dnsdist: Apply TCP connections limits to DoQ/DoH3 connections

5 days agoMerge pull request #17202 from omoerbeek/rec-priv-cookie-optional
Otto Moerbeek [Thu, 23 Apr 2026 06:38:33 +0000 (08:38 +0200)] 
Merge pull request #17202 from omoerbeek/rec-priv-cookie-optional

rec: only check cookie if we sent one out (YWH-PGM6095-134)

5 days agoMerge pull request #17201 from omoerbeek/ywh-135
Otto Moerbeek [Thu, 23 Apr 2026 06:06:29 +0000 (08:06 +0200)] 
Merge pull request #17201 from omoerbeek/ywh-135

rec: Prevent null-pointer dereference in aggressive NSEC cache

5 days agoMerge pull request #17228 from miodvallat/system_of_a_markdawn
Miod Vallat [Thu, 23 Apr 2026 05:47:49 +0000 (07:47 +0200)] 
Merge pull request #17228 from miodvallat/system_of_a_markdawn

auth: buglets in the 2026-05 SA

5 days agoMerge pull request #17199 from omoerbeek/rec-rpz-race
Otto Moerbeek [Thu, 23 Apr 2026 05:20:46 +0000 (07:20 +0200)] 
Merge pull request #17199 from omoerbeek/rec-rpz-race

rec: work on a copy of PolicyZoneData while building the new RPZ zone

6 days agoMerge pull request #17204 from rgacogne/ddist-sa-follow-up
Remi Gacogne [Wed, 22 Apr 2026 19:56:34 +0000 (21:56 +0200)] 
Merge pull request #17204 from rgacogne/ddist-sa-follow-up

dnsdist: Fix CVSS links in security advisory 2026-04

6 days agoMerge pull request #17209 from rgacogne/ywh-148
Remi Gacogne [Wed, 22 Apr 2026 19:56:24 +0000 (21:56 +0200)] 
Merge pull request #17209 from rgacogne/ywh-148

dnsdist: Fix out-of-bounds check for UDP responses from backend

6 days agoMerge pull request #17211 from rgacogne/ywh-163
Remi Gacogne [Wed, 22 Apr 2026 19:56:14 +0000 (21:56 +0200)] 
Merge pull request #17211 from rgacogne/ywh-163

dnsdist: Check record length before calling the visitor function

6 days agoMerge pull request #17212 from rgacogne/ywh-165
Remi Gacogne [Wed, 22 Apr 2026 19:56:04 +0000 (21:56 +0200)] 
Merge pull request #17212 from rgacogne/ywh-165

dnsdist: Use `DNSName` in `StatNode` to avoid encoding issues

6 days agoMerge pull request #17213 from rgacogne/ywh-166
Remi Gacogne [Wed, 22 Apr 2026 19:55:55 +0000 (21:55 +0200)] 
Merge pull request #17213 from rgacogne/ywh-166

dnsdist: Prevent ID overflow in outgoing TCP connections

6 days agoMerge pull request #17215 from rgacogne/ddist-ywh-174
Remi Gacogne [Wed, 22 Apr 2026 19:55:46 +0000 (21:55 +0200)] 
Merge pull request #17215 from rgacogne/ddist-ywh-174

dnsdist: Cap the amount of data buffered toward a DoH server

6 days agoMerge pull request #17197 from omoerbeek/rec-cachesize-neg-aggr
Otto Moerbeek [Wed, 22 Apr 2026 19:03:52 +0000 (21:03 +0200)] 
Merge pull request #17197 from omoerbeek/rec-cachesize-neg-aggr

rec: estimate size and refuse to cache big negcache entries

6 days agoMerge pull request #17200 from omoerbeek/yahttp-size
Otto Moerbeek [Wed, 22 Apr 2026 18:37:25 +0000 (20:37 +0200)] 
Merge pull request #17200 from omoerbeek/yahttp-size

all: Fix two cases of lacking/wrong max size compares (YWH-PGM6095-90)

6 days agoMerge pull request #17196 from omoerbeek/yahttp-chunksize
Otto Moerbeek [Wed, 22 Apr 2026 18:36:41 +0000 (20:36 +0200)] 
Merge pull request #17196 from omoerbeek/yahttp-chunksize

all: better handling of yahttp chunksize

6 days agoMerge pull request #17194 from omoerbeek/rec-limit-web-req
Otto Moerbeek [Wed, 22 Apr 2026 18:13:53 +0000 (20:13 +0200)] 
Merge pull request #17194 from omoerbeek/rec-limit-web-req

rec: limit size of incoming web request.

6 days agoMerge pull request #17217 from omoerbeek/rec-docs-refs
Otto Moerbeek [Wed, 22 Apr 2026 17:41:13 +0000 (19:41 +0200)] 
Merge pull request #17217 from omoerbeek/rec-docs-refs

rec docs: add references in changelogs, now that the PR numbers are known

6 days agoMerge pull request #17198 from miodvallat/sa-2026-05
Miod Vallat [Wed, 22 Apr 2026 16:17:54 +0000 (18:17 +0200)] 
Merge pull request #17198 from miodvallat/sa-2026-05

auth: fixes for SA 2026-05

6 days agoBuglets in the 2026-05 SA 17228/head
Miod Vallat [Wed, 22 Apr 2026 14:18:59 +0000 (16:18 +0200)] 
Buglets in the 2026-05 SA

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
6 days agodnsdist: Hopefully make the spell checker happy 17218/head
Remi Gacogne [Wed, 22 Apr 2026 13:20:21 +0000 (15:20 +0200)] 
dnsdist: Hopefully make the spell checker happy

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 days agodnsdist: Update ChangeLog and security polling zone for 1.9.14, 2.0.5
Remi Gacogne [Wed, 22 Apr 2026 12:42:33 +0000 (14:42 +0200)] 
dnsdist: Update ChangeLog and security polling zone for 1.9.14, 2.0.5

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 days agorec docs: add references in changelogs, now that the PR numbers are known 17217/head
Otto Moerbeek [Wed, 22 Apr 2026 12:24:14 +0000 (14:24 +0200)] 
rec docs: add references in changelogs, now that the PR numbers are known

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
6 days agoMerge pull request #17157 from rgacogne/rec-fix-17137
Otto Moerbeek [Wed, 22 Apr 2026 12:16:22 +0000 (14:16 +0200)] 
Merge pull request #17157 from rgacogne/rec-fix-17137

rec: Fix DNAME interaction with aggressive use of NSEC3

6 days agoMerge pull request #17156 from rgacogne/rec-fix-17136
Otto Moerbeek [Wed, 22 Apr 2026 12:15:08 +0000 (14:15 +0200)] 
Merge pull request #17156 from rgacogne/rec-fix-17136

rec: Fix DNSSEC validation of wildcard-expanded proof

6 days agoReformat 17194/head
Otto Moerbeek [Wed, 22 Apr 2026 12:09:33 +0000 (14:09 +0200)] 
Reformat

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
6 days agoFix writer and text parser for too long alpn values. 17198/head
Otto Moerbeek [Wed, 22 Apr 2026 07:33:37 +0000 (09:33 +0200)] 
Fix writer and text parser for too long alpn values.

This is CVE-2026-33611, part of PowerDNS Security Advisory 2026-05.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
6 days agoMake sure to wrap the socket in a unique_ptr to close it in all cases.
Miod Vallat [Wed, 22 Apr 2026 07:31:52 +0000 (09:31 +0200)] 
Make sure to wrap the socket in a unique_ptr to close it in all cases.

Also add a log message for empty update from rogue primaries.

This is CVE-2026-33610, part of PowerDNS Security Advisory 2026-05.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
6 days agoRewrite the ldap escape function, and always escape network-controlled input.
Miod Vallat [Wed, 22 Apr 2026 07:30:16 +0000 (09:30 +0200)] 
Rewrite the ldap escape function, and always escape network-controlled input.

This new version now will correctly handle 8-bit characters (which need to
be encoded in UTF-8 and then escaped), as well as the corner cases of
leading space or # and trailing space.

This is CVE-2026-33609, part of PowerDNS Security Advisory 2026-05.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
6 days agoPrevent creadeSecondaryDomain from creating an invalid bind configuration.
Miod Vallat [Wed, 22 Apr 2026 07:29:17 +0000 (09:29 +0200)] 
Prevent creadeSecondaryDomain from creating an invalid bind configuration.

- reject domain names containing quotes, as these are not allowed by bind.
- make sure the generated filename to be used to store domain data is not
  empty and does not contain path separators.

This is CVE-2026-33608, part of PowerDNS Security Advisory 2026-05.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
6 days agoMerge pull request #17193 from miodvallat/secpopaul
Miod Vallat [Wed, 22 Apr 2026 11:17:39 +0000 (13:17 +0200)] 
Merge pull request #17193 from miodvallat/secpopaul

auth: SA 2026-05 updates

6 days agoDocumentation updates for 4.9.14 and 5.0.4. 17193/head
Miod Vallat [Wed, 22 Apr 2026 09:30:11 +0000 (11:30 +0200)] 
Documentation updates for 4.9.14 and 5.0.4.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
6 days agodnsdist: Fix CVSS links in security advisory 2026-04 17204/head
Remi Gacogne [Wed, 22 Apr 2026 10:33:15 +0000 (12:33 +0200)] 
dnsdist: Fix CVSS links in security advisory 2026-04

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 days agoMerge pull request #17189 from rgacogne/ddist-1.9.13-2.0.4-changelog-secpoll
Remi Gacogne [Wed, 22 Apr 2026 09:47:24 +0000 (11:47 +0200)] 
Merge pull request #17189 from rgacogne/ddist-1.9.13-2.0.4-changelog-secpoll

dnsdist: Update ChangeLog, security advisories and secpoll for 1.9.13 and 2.0.4

6 days agoMerge pull request #17188 from omoerbeek/rec-docs-cl-sa-fix
Otto Moerbeek [Wed, 22 Apr 2026 09:12:57 +0000 (11:12 +0200)] 
Merge pull request #17188 from omoerbeek/rec-docs-cl-sa-fix

rec docs; fix typos in SA-2026-03 and changelog, from dwfreed and winfried

6 days agodnsdist: Fix spelling mistakes 17189/head
Remi Gacogne [Tue, 21 Apr 2026 10:33:51 +0000 (12:33 +0200)] 
dnsdist: Fix spelling mistakes

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 days agoTell our spell-checker to allow security researcher names, and PRSD
Remi Gacogne [Tue, 21 Apr 2026 10:26:11 +0000 (12:26 +0200)] 
Tell our spell-checker to allow security researcher names, and PRSD

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 days agodnsdist: Update ChangeLog, security advisories and secpoll for 1.9.13 and 2.0.4
Remi Gacogne [Tue, 21 Apr 2026 10:18:55 +0000 (12:18 +0200)] 
dnsdist: Update ChangeLog, security advisories and secpoll for 1.9.13 and 2.0.4

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 days agorec docs; fix typos in SA-2026-03 and changelog, from dwfreed and winfried 17188/head
Otto Moerbeek [Wed, 22 Apr 2026 08:57:32 +0000 (10:57 +0200)] 
rec docs; fix typos in SA-2026-03 and changelog, from dwfreed and winfried

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
6 days agoMerge pull request #17181 from omoerbeek/rec-prep-20260422
Otto Moerbeek [Wed, 22 Apr 2026 07:53:36 +0000 (09:53 +0200)] 
Merge pull request #17181 from omoerbeek/rec-prep-20260422

rec: Prep for SA-2026-03

6 days agorec: Prep for SA-2026-03 17181/head
Otto Moerbeek [Tue, 21 Apr 2026 08:30:34 +0000 (10:30 +0200)] 
rec: Prep for SA-2026-03

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

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

7 days agodnsdist: Check the required size before DNSCrypt padding early, as suggested by Miod 17216/head
Remi Gacogne [Tue, 21 Apr 2026 09:28:55 +0000 (11:28 +0200)] 
dnsdist: Check the required size before DNSCrypt padding early, as suggested by Miod

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 days 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

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

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

8 days 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>
8 days agodnsbackend: add default comment search logic, and enable comment search test for... 16522/head
Peter van Dijk [Thu, 20 Nov 2025 11:27:14 +0000 (12:27 +0100)] 
dnsbackend: add default comment search logic, and enable comment search test for lmdb

Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
8 days agoauth api tests: comments testing for lmdb
Peter van Dijk [Fri, 14 Nov 2025 13:08:52 +0000 (14:08 +0100)] 
auth api tests: comments testing for lmdb

Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
8 days agolmdbbackend: implement comments
Peter van Dijk [Tue, 11 Nov 2025 16:04:01 +0000 (17:04 +0100)] 
lmdbbackend: implement comments

Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
8 days agopdnsutil: add rrset comment management
Peter van Dijk [Thu, 13 Nov 2025 10:33:16 +0000 (11:33 +0100)] 
pdnsutil: add rrset comment management

Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
8 days agoadd comments dbi
Peter van Dijk [Tue, 11 Nov 2025 14:30:56 +0000 (15:30 +0100)] 
add comments dbi

Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
8 days agoNFC: rename records dbi to rdbi
Peter van Dijk [Tue, 11 Nov 2025 14:27:21 +0000 (15:27 +0100)] 
NFC: rename records dbi to rdbi

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

8 days 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>
8 days agodnsdist: Fix the `StatNode::fullname` issue introduced in 2.0.4 17212/head
Remi Gacogne [Mon, 20 Apr 2026 10:33:18 +0000 (12:33 +0200)] 
dnsdist: Fix the `StatNode::fullname` issue introduced in 2.0.4

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 days 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>
8 days agorec: Fix DNAME interaction with aggressive use of NSEC3 17157/head
Remi Gacogne [Fri, 17 Apr 2026 15:40:57 +0000 (17:40 +0200)] 
rec: Fix DNAME interaction with aggressive use of NSEC3

rfc6672 section 5.3.2 "DNAME Bit in NSEC Type Map":

In any negative response, the NSEC or NSEC3 [RFC5155] record type
bitmap SHOULD be checked to see that there was no DNAME that could
have been applied. If the DNAME bit in the type bitmap is set and
the query name is a subdomain of the closest encloser that is
asserted, then DNAME substitution should have been done, but the
substitution has not been done as specified.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 days agorec: Use `DNSName::trimToLabels` as suggested by Miod (thanks!) 17156/head
Remi Gacogne [Mon, 20 Apr 2026 09:09:49 +0000 (11:09 +0200)] 
rec: Use `DNSName::trimToLabels` as suggested by Miod (thanks!)

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 days agorec: Remove left-over debugging
Remi Gacogne [Mon, 20 Apr 2026 09:08:15 +0000 (11:08 +0200)] 
rec: Remove left-over debugging

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
8 days 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>
8 days 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>
8 days 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>
8 days 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

8 days 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>
11 days agorec: Fix DNSSEC validation of wildcard-expanded proof
Remi Gacogne [Fri, 17 Apr 2026 14:19:13 +0000 (16:19 +0200)] 
rec: Fix DNSSEC validation of wildcard-expanded proof

When the answer has been expanded from a wildcard, we need
to check that the next closer does not exist, and not that
the qname does not. If the next closer does exist, the
wildcard cannot be applied.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
11 days 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

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

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

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