]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
6 weeks agobuild(deps): bump rustls-webpki in /pdns/recursordist/rec-rust-lib/rust 17238/head
dependabot[bot] [Thu, 23 Apr 2026 14:48:10 +0000 (14:48 +0000)] 
build(deps): bump rustls-webpki in /pdns/recursordist/rec-rust-lib/rust

Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.103.10 to 0.103.13.
- [Release notes](https://github.com/rustls/webpki/releases)
- [Commits](https://github.com/rustls/webpki/compare/v/0.103.10...v/0.103.13)

---
updated-dependencies:
- dependency-name: rustls-webpki
  dependency-version: 0.103.13
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
6 weeks 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

6 weeks 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

6 weeks 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>
6 weeks 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

6 weeks 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>
6 weeks 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()

6 weeks 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>
6 weeks 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

6 weeks 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>
6 weeks 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

6 weeks 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

6 weeks 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

6 weeks 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>
6 weeks 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

6 weeks 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)

6 weeks 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)

6 weeks 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

6 weeks 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

6 weeks 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

6 weeks 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

6 weeks 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)

6 weeks 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

6 weeks 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

6 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks agodnsdist: Add per-backend `max_udp_outstanding` YAML config setting 17180/head
Robert Edmonds [Tue, 21 Apr 2026 21:22:32 +0000 (17:22 -0400)] 
dnsdist: Add per-backend `max_udp_outstanding` YAML config setting

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

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

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

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

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

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

dnsdist: Error on unhandled switch cases while in CI

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

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

rec: skip ZONEMD records in RPZs

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

auth lmdb: split domains table

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

auth: safer lua geoip queries

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

auth: simple protobuf logging support

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

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

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

recursor: Fix lua addRecord function implementation

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

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

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

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

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

name argiment must be DNSName, not string

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

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

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

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

auth: dnsupdate handling buglet

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

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

auth: fixes to AXFR in Bind backend

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

dnsdist: Better handling of nghttp2 errors

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

dnsdist: Remove commented out leftover debug messages in outgoing DoH

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

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

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

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

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

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

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

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

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

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