]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
11 days agoMake sure we won't try to mdb_txn_abort a failing mdb_txn_commit.
Miod Vallat [Thu, 23 Jul 2026 13:52:09 +0000 (15:52 +0200)] 
Make sure we won't try to mdb_txn_abort a failing mdb_txn_commit.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
11 days agoMake sure lines outputting to cerr are passive.
Miod Vallat [Thu, 23 Jul 2026 13:47:35 +0000 (15:47 +0200)] 
Make sure lines outputting to cerr are passive.

(i.e. they don't invoke lmdb function).

This will make easier to replace them with structured logging or whatever
in a hypothetical future.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
11 days agoBe sure never to leave pending transactions upon error.
Miod Vallat [Thu, 23 Jul 2026 13:04:55 +0000 (15:04 +0200)] 
Be sure never to leave pending transactions upon error.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
11 days agoMerge pull request #17762 from omoerbeek/rec-wildcard-cname-proof-validation-bypass
Otto Moerbeek [Thu, 23 Jul 2026 11:59:43 +0000 (13:59 +0200)] 
Merge pull request #17762 from omoerbeek/rec-wildcard-cname-proof-validation-bypass

rec: Wildcard CNAME proof validation bypass

11 days agoTwo coverity fixes 17789/head
Otto Moerbeek [Thu, 23 Jul 2026 11:24:57 +0000 (13:24 +0200)] 
Two coverity fixes

I hope compilers are smart enough to see that the bottom of the function cannot be reached
(clang is happy with the missing return).

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
11 days agoMerge pull request #16932 from rgacogne/ddistrecvmmsg-from-backends
Remi Gacogne [Thu, 23 Jul 2026 11:06:28 +0000 (13:06 +0200)] 
Merge pull request #16932 from rgacogne/ddistrecvmmsg-from-backends

dnsdist: Add `recvmmsg` support for backend responses

11 days agorec: Consistenly use the CacheEntry fields 17762/head
Remi Gacogne [Mon, 29 Jun 2026 15:10:00 +0000 (17:10 +0200)] 
rec: Consistenly use the CacheEntry fields

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
11 days agorec: Update the validation of previously inserted records when encountering a DNSSEC...
Remi Gacogne [Fri, 26 Jun 2026 14:59:36 +0000 (16:59 +0200)] 
rec: Update the validation of previously inserted records when encountering a DNSSEC validation failure

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
11 days agorec: NSEC and NSEC3 records in authority need to be validated
Remi Gacogne [Fri, 26 Jun 2026 14:58:58 +0000 (16:58 +0200)] 
rec: NSEC and NSEC3 records in authority need to be validated

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
11 days agorec: Add a unit test for Palo Alto's wildcard CNAME proof validation bypass
Remi Gacogne [Fri, 26 Jun 2026 14:57:38 +0000 (16:57 +0200)] 
rec: Add a unit test for Palo Alto's wildcard CNAME proof validation bypass

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
11 days agorec: Simplify existing unit test
Otto Moerbeek [Thu, 23 Jul 2026 10:03:18 +0000 (12:03 +0200)] 
rec: Simplify existing unit test

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
11 days agoMerge pull request #17761 from omoerbeek/rec-wildcard-rrsig-labels
Otto Moerbeek [Thu, 23 Jul 2026 09:58:43 +0000 (11:58 +0200)] 
Merge pull request #17761 from omoerbeek/rec-wildcard-rrsig-labels

rec: RRSIGs with too few labels can lead to bypass of DNSSEC wildcard validation

11 days agodnsdist: Be explicit about when the buffer might have been resized 16932/head
Remi Gacogne [Thu, 23 Jul 2026 09:52:07 +0000 (11:52 +0200)] 
dnsdist: Be explicit about when the buffer might have been resized

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
11 days agoDo not abort() if we can throw an exception instead. 17771/head
Miod Vallat [Thu, 23 Jul 2026 09:26:14 +0000 (11:26 +0200)] 
Do not abort() if we can throw an exception instead.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
11 days agoDo not call abort() if we can't correctly close the database connexion.
Miod Vallat [Thu, 23 Jul 2026 09:25:54 +0000 (11:25 +0200)] 
Do not call abort() if we can't correctly close the database connexion.

This does not help anything.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
11 days agoMerge pull request #17754 from miodvallat/cnaaaame
Miod Vallat [Thu, 23 Jul 2026 09:05:55 +0000 (11:05 +0200)] 
Merge pull request #17754 from miodvallat/cnaaaame

auth: add a test for #2625

11 days agoMerge pull request #17769 from omoerbeek/rec-nsec-next-out-of-zone
Otto Moerbeek [Thu, 23 Jul 2026 08:48:03 +0000 (10:48 +0200)] 
Merge pull request #17769 from omoerbeek/rec-nsec-next-out-of-zone

rec: reject NSECs whose next names are out of the zone earlier

11 days agoHandle include directives lacking semicolons in the lexer.
Miod Vallat [Thu, 23 Jul 2026 08:28:05 +0000 (10:28 +0200)] 
Handle include directives lacking semicolons in the lexer.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
11 days agoAdd option nodefault.
Miod Vallat [Thu, 23 Jul 2026 08:17:52 +0000 (10:17 +0200)] 
Add option nodefault.

This disables the default behaviour of simply ECHOing unknown tokens. It
will now error with "flex scanner jammed", and we can fix the lexer.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
11 days agoTurn BindParser lexer errors into proper exceptions.
Miod Vallat [Thu, 23 Jul 2026 08:12:01 +0000 (10:12 +0200)] 
Turn BindParser lexer errors into proper exceptions.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
11 days agoMerge pull request #17753 from Support-itecz/ctype-unsigned-char
Otto Moerbeek [Thu, 23 Jul 2026 07:57:11 +0000 (09:57 +0200)] 
Merge pull request #17753 from Support-itecz/ctype-unsigned-char

Do not pass signed char to ctype functions in text parsers

11 days agoMerge pull request #17768 from omoerbeek/auth-geoip-clang-warning
Otto Moerbeek [Thu, 23 Jul 2026 07:44:29 +0000 (09:44 +0200)] 
Merge pull request #17768 from omoerbeek/auth-geoip-clang-warning

Fix warning: anonymous non-C-compatible type given name for linkage purposes by alias declaration

11 days agoFix warning: anonymous non-C-compatible type given name for linkage purposes by alias... 17768/head
Otto Moerbeek [Thu, 23 Jul 2026 06:58:00 +0000 (08:58 +0200)] 
Fix warning: anonymous non-C-compatible type given name for linkage purposes by alias declaration; add a tag name here

In file included from ../pdns/../modules/geoipbackend/geoipinterface.hh:25:
../pdns/../modules/geoipbackend/geoipbackend.hh:59:25: warning: anonymous non-C-compatible type given name for linkage purposes by alias declaration; add a tag name here [-Wnon-c-typedef-for-linkage]
   59 |   using state_t = struct
      |                         ^
      |                          state_t
../pdns/../modules/geoipbackend/geoipbackend.hh:61:5: note: type is not C-compatible due to this default member initializer
   61 |     unsigned int instance_count{0};
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../pdns/../modules/geoipbackend/geoipbackend.hh:59:9: note: type is given name 'state_t' for linkage purposes by this alias declaration
   59 |   using state_t = struct
      |         ^
1 warning generated.

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
11 days agoFix clang-tidy complaints 17753/head
Otto Moerbeek [Thu, 23 Jul 2026 06:54:01 +0000 (08:54 +0200)] 
Fix clang-tidy complaints

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
11 days agoMerge pull request #17767 from PowerDNS/omoerbeek-patch-1
Otto Moerbeek [Thu, 23 Jul 2026 04:53:23 +0000 (06:53 +0200)] 
Merge pull request #17767 from PowerDNS/omoerbeek-patch-1

Correct CVE number in title

11 days agoCorrect CVE number in title 17767/head
Otto Moerbeek [Thu, 23 Jul 2026 04:45:26 +0000 (06:45 +0200)] 
Correct CVE number in title

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
12 days agoSet default nta_extended_error to off 17737/head
Babak Farrokhi [Wed, 22 Jul 2026 13:09:57 +0000 (15:09 +0200)] 
Set default nta_extended_error to off

Signed-off-by: Babak Farrokhi <babak@farrokhi.net>
12 days agores: only attach EDE 33 to queries subject to validation
Babak Farrokhi [Thu, 16 Jul 2026 10:56:01 +0000 (12:56 +0200)] 
res: only attach EDE 33 to queries subject to validation

Fix a condition where a cache hit from record-cache copied validation
status, regardless of whether a client asked for validation or not.

Signed-off-by: Babak Farrokhi <babak@farrokhi.net>
12 days agoEmit EDE 33 (Negative Trust Anchor) on NTA-covered responses
Babak Farrokhi [Wed, 15 Jul 2026 14:49:16 +0000 (16:49 +0200)] 
Emit EDE 33 (Negative Trust Anchor) on NTA-covered responses

When a Negative Trust Anchor is in effect, attach an EDNS Extended Error
with info-code 33 to insecure answers whose queried name (or a chased
CNAME target) is covered by the NTA, giving clients an in-band signal
that an NTA applies to the name. The signal only indicates coverage, and
does not imply that the NTA caused insecurity.

Controlled by the new `dnssec.nta-extended-error` setting, enabled by
default. This is for diagnostic purposes only: the validation state and
the AD bit are left intact.

Defined in draft-farrokhi-dnsop-ede-nta ("Disclosure of Negative Trust
Anchors in DNS Responses"):
https://datatracker.ietf.org/doc/draft-farrokhi-dnsop-ede-nta/

Signed-off-by: Babak Farrokhi <babak@farrokhi.net>
12 days agoMerge pull request #17749 from miodvallat/vector_like_a_pirate
Miod Vallat [Wed, 22 Jul 2026 12:30:27 +0000 (14:30 +0200)] 
Merge pull request #17749 from miodvallat/vector_like_a_pirate

Prefer std::array to std::vector for const values

12 days agoMerge pull request #17758 from omoerbeek/rec-prep-20260722
Otto Moerbeek [Wed, 22 Jul 2026 10:10:57 +0000 (12:10 +0200)] 
Merge pull request #17758 from omoerbeek/rec-prep-20260722

rec: prep for 2026-07-22 security release

12 days agorec: prep for 2026-07-22 security release 17758/head
Otto Moerbeek [Tue, 21 Jul 2026 13:40:12 +0000 (15:40 +0200)] 
rec: prep for 2026-07-22 security release

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
12 days agoAdd a test for #2625 17754/head
Miod Vallat [Wed, 22 Jul 2026 06:13:53 +0000 (08:13 +0200)] 
Add a test for #2625

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoDo not pass signed char to ctype functions in text parsers
Itecz Solution [Mon, 20 Jul 2026 17:52:41 +0000 (23:22 +0530)] 
Do not pass signed char to ctype functions in text parsers

Signed-off-by: Itecz Solution <support@itecz.au>
2 weeks agoMerge pull request #17750 from omoerbeek/ddist-fix-compilation
Otto Moerbeek [Mon, 20 Jul 2026 13:48:01 +0000 (15:48 +0200)] 
Merge pull request #17750 from omoerbeek/ddist-fix-compilation

dnsdist: fix compilation on platforms lacking quiche_conn_set_qlog_path()

2 weeks agoconstexpr'r'us 17749/head
Miod Vallat [Mon, 20 Jul 2026 13:29:50 +0000 (15:29 +0200)] 
constexpr'r'us

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoUse std::array instead of std::vector for const values whenever possible.
Miod Vallat [Mon, 20 Jul 2026 13:03:13 +0000 (15:03 +0200)] 
Use std::array instead of std::vector for const values whenever possible.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agolmdbbackend: bounds-check compoundOrdername key decoders 17751/head
Itecz Solution [Mon, 20 Jul 2026 13:14:13 +0000 (18:44 +0530)] 
lmdbbackend: bounds-check compoundOrdername key decoders

Signed-off-by: Itecz Solution <support@itecz.au>
2 weeks agodnsdist: avoid a few compiler warnings about unused args/vars 17750/head
Otto Moerbeek [Mon, 20 Jul 2026 13:00:11 +0000 (15:00 +0200)] 
dnsdist: avoid a few compiler warnings about unused args/vars

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agodnsdist: quiche_conn_set_qlog_path() is not available always
Otto Moerbeek [Mon, 20 Jul 2026 12:59:48 +0000 (14:59 +0200)] 
dnsdist: quiche_conn_set_qlog_path() is not available always

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoMerge pull request #17748 from omoerbeek/rec-ghost-refresh
Otto Moerbeek [Mon, 20 Jul 2026 12:31:09 +0000 (14:31 +0200)] 
Merge pull request #17748 from omoerbeek/rec-ghost-refresh

rec: do not attempt to refresh NS records in refresh-almost-expired.

2 weeks agorec: do not attempt to refresh NS records in refresh-almost-expired. 17748/head
Otto Moerbeek [Mon, 20 Jul 2026 11:27:22 +0000 (13:27 +0200)] 
rec: do not attempt to refresh NS records in refresh-almost-expired.

If the auth responds *very* slowly and the records expire in between,
the capping of TTLs is not enforced for lack of data.

This does not happen on regular resolve as then then the child
records are used immediately if not expired and thus valid, or the
records *are* expired, and in that case not used.  So this case can
only happen if almost expired records are used to refresh the
authoritative NS records.

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agodnsdist: Document that `setUDPMultipleMessagesVectorSize` now applies to UDP response...
Remi Gacogne [Mon, 20 Jul 2026 11:31:25 +0000 (13:31 +0200)] 
dnsdist: Document that `setUDPMultipleMessagesVectorSize` now applies to UDP responses as well

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoMerge pull request #17747 from rgacogne/ddist-handle-error-dynamic-rule-suffix-match
Remi Gacogne [Mon, 20 Jul 2026 09:50:30 +0000 (11:50 +0200)] 
Merge pull request #17747 from rgacogne/ddist-handle-error-dynamic-rule-suffix-match

dnsdist: Gracefully handle errors in DynBlock's suffix match policy

2 weeks agodnsdist: Add `recvmmsg` support for backend responses
Remi Gacogne [Mon, 23 Feb 2026 15:30:30 +0000 (16:30 +0100)] 
dnsdist: Add `recvmmsg` support for backend responses

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoMerge pull request #17746 from omoerbeek/rec-named-bind-fixes
Otto Moerbeek [Mon, 20 Jul 2026 08:40:17 +0000 (10:40 +0200)] 
Merge pull request #17746 from omoerbeek/rec-named-bind-fixes

rec: SO_BINDTODEVICE is not available everywhere

2 weeks agorec: SO_BINDTODEVICE is not available everywhere 17746/head
Otto Moerbeek [Mon, 20 Jul 2026 07:46:59 +0000 (09:46 +0200)] 
rec: SO_BINDTODEVICE is not available everywhere

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 weeks agoMerge pull request #17740 from rgacogne/ddist-yaml-exceptions
Remi Gacogne [Fri, 17 Jul 2026 07:55:10 +0000 (09:55 +0200)] 
Merge pull request #17740 from rgacogne/ddist-yaml-exceptions

dnsdist: Improve exception handling when parsing our YAML configuration

2 weeks agoMerge pull request #17728 from miodvallat/bounce
Miod Vallat [Fri, 17 Jul 2026 07:33:30 +0000 (09:33 +0200)] 
Merge pull request #17728 from miodvallat/bounce

do not use str{n,}casecmp for DNS names

2 weeks agoRemove test now that it would no longer fail. 17743/head
Miod Vallat [Fri, 17 Jul 2026 07:13:09 +0000 (09:13 +0200)] 
Remove test now that it would no longer fail.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoExtra const 17728/head
Miod Vallat [Fri, 17 Jul 2026 06:51:34 +0000 (08:51 +0200)] 
Extra const

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoRemove dead weight from Utility class.
Miod Vallat [Fri, 17 Jul 2026 06:41:19 +0000 (08:41 +0200)] 
Remove dead weight from Utility class.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoUse makeIPv4sockaddr instead of inet_pton for IPv4 ComboAddress.
Miod Vallat [Fri, 17 Jul 2026 06:34:55 +0000 (08:34 +0200)] 
Use makeIPv4sockaddr instead of inet_pton for IPv4 ComboAddress.

Fixes: #6149
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoruff 17740/head
Remi Gacogne [Thu, 16 Jul 2026 13:26:54 +0000 (15:26 +0200)] 
ruff

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Add a regression test for PDNSException raised from C++ while parsing a...
Remi Gacogne [Thu, 16 Jul 2026 12:51:55 +0000 (14:51 +0200)] 
dnsdist: Add a regression test for PDNSException raised from C++ while parsing a YAML configuration file

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Gracefully handle errors in DynBlock's suffix match policy 17747/head
Remi Gacogne [Thu, 16 Jul 2026 11:10:00 +0000 (13:10 +0200)] 
dnsdist: Gracefully handle errors in DynBlock's suffix match policy

There is no need to stop the whole processing if we choked on one entry,
or even could not properly insert one new rule.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Fix formatting in the Rust bridge
Remi Gacogne [Thu, 16 Jul 2026 07:18:14 +0000 (09:18 +0200)] 
dnsdist: Fix formatting in the Rust bridge

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Rebuild the Rust library when the Rust bridge is modified
Remi Gacogne [Thu, 16 Jul 2026 07:13:39 +0000 (09:13 +0200)] 
dnsdist: Rebuild the Rust library when the Rust bridge is modified

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agodnsdist: Properly handle PDNSException in our Rust library
Remi Gacogne [Thu, 16 Jul 2026 07:13:03 +0000 (09:13 +0200)] 
dnsdist: Properly handle PDNSException in our Rust library

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agopdnsexception: Stop importing various namespaces
Remi Gacogne [Thu, 16 Jul 2026 07:12:34 +0000 (09:12 +0200)] 
pdnsexception: Stop importing various namespaces

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 weeks agoMerge pull request #17738 from miodvallat/lortnocenoz
Miod Vallat [Wed, 15 Jul 2026 13:37:23 +0000 (15:37 +0200)] 
Merge pull request #17738 from miodvallat/lortnocenoz

auth tests: more scrutinization

2 weeks agoPerform more thorough zone contents checks. 17738/head
Miod Vallat [Wed, 15 Jul 2026 12:50:48 +0000 (14:50 +0200)] 
Perform more thorough zone contents checks.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoWhen there is a single rrset, we can perform an equality check.
Miod Vallat [Wed, 15 Jul 2026 12:27:25 +0000 (14:27 +0200)] 
When there is a single rrset, we can perform an equality check.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoMention the list of oracle files checked for, in case of test failures. 17735/head
Miod Vallat [Tue, 14 Jul 2026 19:52:46 +0000 (21:52 +0200)] 
Mention the list of oracle files checked for, in case of test failures.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 weeks agoMerge pull request #17721 from miodvallat/some_enchanted_afternoon
Miod Vallat [Tue, 14 Jul 2026 12:29:22 +0000 (14:29 +0200)] 
Merge pull request #17721 from miodvallat/some_enchanted_afternoon

auth: ignore the closing SOA record in IXFR-turned-AXFR

2 weeks agoMerge pull request #17722 from miodvallat/swallow
Miod Vallat [Tue, 14 Jul 2026 12:27:57 +0000 (14:27 +0200)] 
Merge pull request #17722 from miodvallat/swallow

pdnsutil b2b-migrate: also copy zone options and catalog membership

2 weeks agoMerge pull request #17729 from pieterlexis/ywh-ixfrdist
Pieter Lexis [Tue, 14 Jul 2026 11:27:06 +0000 (13:27 +0200)] 
Merge pull request #17729 from pieterlexis/ywh-ixfrdist

fix(ixfrdist): Allow 64K AXFR chunks

2 weeks agofix(ixfrdist): Allow 64K AXFR chunks 17729/head
Pieter Lexis [Fri, 10 Jul 2026 08:54:31 +0000 (10:54 +0200)] 
fix(ixfrdist): Allow 64K AXFR chunks

This was changed in #8051 for performance (compression) reasons. But
this would limit each AXFR chunk to 16K, so *large* TXT records (over
16K) could not be transferred out by ixfrdist.

This commit uses a 64K limit once when a chunk was truncated twice (once
can happen after any number of records, the second time would mean
truncation on a single record, when the second happens, we error).

Discovered by Haruto Kimura (Stella), thanks!

2 weeks agoMerge pull request #17731 from miodvallat/luampire
Miod Vallat [Mon, 13 Jul 2026 20:07:38 +0000 (22:07 +0200)] 
Merge pull request #17731 from miodvallat/luampire

auth: Lua2 backend: more robust script results parsing

3 weeks agoPay more attention to boost::variant types. 17731/head
Miod Vallat [Mon, 13 Jul 2026 14:44:15 +0000 (16:44 +0200)] 
Pay more attention to boost::variant types.

This allows record contents made of digits only to be correctly handled as
strings.

Fixes: #10657
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoWrap boost::get checks into exception guards.
Miod Vallat [Mon, 13 Jul 2026 14:27:49 +0000 (16:27 +0200)] 
Wrap boost::get checks into exception guards.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoclang-tidize
Miod Vallat [Mon, 13 Jul 2026 14:15:12 +0000 (16:15 +0200)] 
clang-tidize

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoMove Lua2BackendAPIv2 method bodies from .hh to .cc. NFC
Miod Vallat [Mon, 13 Jul 2026 13:56:01 +0000 (15:56 +0200)] 
Move Lua2BackendAPIv2 method bodies from .hh to .cc. NFC

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agodnsdist: Properly deal with exceptions when registering objects from YAML
Remi Gacogne [Fri, 29 May 2026 08:00:09 +0000 (10:00 +0200)] 
dnsdist: Properly deal with exceptions when registering objects from YAML

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agoclang-tidize.
Miod Vallat [Mon, 13 Jul 2026 10:19:22 +0000 (12:19 +0200)] 
clang-tidize.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoLook, ma, no more strncasecmp!
Miod Vallat [Mon, 13 Jul 2026 09:33:28 +0000 (11:33 +0200)] 
Look, ma, no more strncasecmp!

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoReplace the use of strncasecmp with pdns_ilexicographical_compare_three_way.
Miod Vallat [Mon, 13 Jul 2026 09:04:49 +0000 (11:04 +0200)] 
Replace the use of strncasecmp with pdns_ilexicographical_compare_three_way.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoReplace the use of strncasecmp with pdns_ilexicographical_compare_three_way.
Miod Vallat [Mon, 13 Jul 2026 08:45:06 +0000 (10:45 +0200)] 
Replace the use of strncasecmp with pdns_ilexicographical_compare_three_way.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoMerge pull request #17719 from rgacogne/ddist-fix-drop-response-quic
Remi Gacogne [Mon, 13 Jul 2026 08:04:12 +0000 (10:04 +0200)] 
Merge pull request #17719 from rgacogne/ddist-fix-drop-response-quic

dnsdist: Fix the dropping of responses for DoQ and DoH3 queries

3 weeks agoExplain why we can't have nice things.
Miod Vallat [Mon, 13 Jul 2026 07:48:36 +0000 (09:48 +0200)] 
Explain why we can't have nice things.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoReplace the use of str{n,}casecmp with pdns_ilexicographical_compare_three_way.
Miod Vallat [Mon, 13 Jul 2026 07:14:22 +0000 (09:14 +0200)] 
Replace the use of str{n,}casecmp with pdns_ilexicographical_compare_three_way.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoMerge pull request #17727 from romeroalx/fix-verify-pkg-137
Remi Gacogne [Mon, 13 Jul 2026 07:16:36 +0000 (09:16 +0200)] 
Merge pull request #17727 from romeroalx/fix-verify-pkg-137

requirements.txt: update version of pinned packages

3 weeks agoMove pdns_i*() from misc.hh to dnsname.hh. NFCI
Miod Vallat [Mon, 13 Jul 2026 07:03:56 +0000 (09:03 +0200)] 
Move pdns_i*() from misc.hh to dnsname.hh. NFCI

This will avoid future chicken-and-egg problems.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agorequirements.txt: update version of pinned packages 17727/head
romeroalx [Mon, 13 Jul 2026 06:11:58 +0000 (08:11 +0200)] 
requirements.txt: update version of pinned packages

3 weeks agoMerge pull request #17723 from miodvallat/shaolin_satellite
Miod Vallat [Fri, 10 Jul 2026 18:28:25 +0000 (20:28 +0200)] 
Merge pull request #17723 from miodvallat/shaolin_satellite

auth: report remote in "unable to get SOA" messages

3 weeks agoReport the remote queried in "Unable to retrieve SOA" messages. 17723/head
Miod Vallat [Fri, 10 Jul 2026 14:30:30 +0000 (16:30 +0200)] 
Report the remote queried in "Unable to retrieve SOA" messages.

Fixes: #12564
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoPour some syntactic sugar. NFC
Miod Vallat [Fri, 10 Jul 2026 14:15:34 +0000 (16:15 +0200)] 
Pour some syntactic sugar. NFC

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agodnsdist: Fix awful typo 17719/head
Remi Gacogne [Fri, 10 Jul 2026 12:30:16 +0000 (14:30 +0200)] 
dnsdist: Fix awful typo

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agoMerge pull request #17701 from pieterlexis/dnsdist-spoof-ttl
Remi Gacogne [Fri, 10 Jul 2026 12:24:36 +0000 (14:24 +0200)] 
Merge pull request #17701 from pieterlexis/dnsdist-spoof-ttl

feat(dnsdist): Allow setting TTL in DNSQuestion:spoof

3 weeks agodnsdist: Document the return values of some process* functions
Remi Gacogne [Fri, 10 Jul 2026 12:22:47 +0000 (14:22 +0200)] 
dnsdist: Document the return values of some process* functions

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agoMerge pull request #17720 from rgacogne/ddist-add-response-consistency-check-quic
Remi Gacogne [Fri, 10 Jul 2026 12:03:07 +0000 (14:03 +0200)] 
Merge pull request #17720 from rgacogne/ddist-add-response-consistency-check-quic

dnsdist: Add the same basic response consistency check for DoQ/DoH3-originated queries

3 weeks agoCopy zone options and catalog in pdnsutil b2b-migrate. 17722/head
Miod Vallat [Fri, 10 Jul 2026 11:11:57 +0000 (13:11 +0200)] 
Copy zone options and catalog in pdnsutil b2b-migrate.

Fixes: #12879
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoMerge pull request #17618 from pieterlexis/dnsdist-otlp-remote-logger
Pieter Lexis [Fri, 10 Jul 2026 11:06:58 +0000 (13:06 +0200)] 
Merge pull request #17618 from pieterlexis/dnsdist-otlp-remote-logger

dnsdist: Implement OTLP RemoteLogger

3 weeks agofeat(dnsdist): Allow setting TTL in DNSQuestion:spoof 17701/head
Pieter Lexis [Tue, 7 Jul 2026 13:22:14 +0000 (15:22 +0200)] 
feat(dnsdist): Allow setting TTL in DNSQuestion:spoof

Closes: #16470
3 weeks agoMerge pull request #17700 from pieterlexis/dnsdist-trace-traceid-in-slog
Pieter Lexis [Fri, 10 Jul 2026 11:03:30 +0000 (13:03 +0200)] 
Merge pull request #17700 from pieterlexis/dnsdist-trace-traceid-in-slog

dnsdist: Log TraceID in structured logs (when available)

3 weeks agoDocument that pdnsutil zone copy does not copy options and catalog.
Miod Vallat [Fri, 10 Jul 2026 10:54:49 +0000 (12:54 +0200)] 
Document that pdnsutil zone copy does not copy options and catalog.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agoIgnore the closing SOA record in IXFR-turned-AXFR. 17721/head
Miod Vallat [Fri, 10 Jul 2026 10:22:07 +0000 (12:22 +0200)] 
Ignore the closing SOA record in IXFR-turned-AXFR.

Fixes: #12984
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
3 weeks agodnsdist: Add the same basic response consistency check for DoQ/DoH3 queries 17720/head
Remi Gacogne [Fri, 10 Jul 2026 10:15:24 +0000 (12:15 +0200)] 
dnsdist: Add the same basic response consistency check for DoQ/DoH3 queries

This check is only useful when the response has been received from the backend
over UDP, which is currently not supported for DoQ/DoH3 queries, and only to prevent
collisions as we otherwise do not validate the content of the response before forwarding
it to the client, but AI tools keep reporting this as a critical security issue. In any
case it will make sense to have this check once we support using UDP to the backend
for DoQ/DoH3-originated queries.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agodnsdist: Fix the dropping of responses for DoQ and DoH queries
Remi Gacogne [Fri, 10 Jul 2026 10:01:00 +0000 (12:01 +0200)] 
dnsdist: Fix the dropping of responses for DoQ and DoH queries

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 weeks agoMerge pull request #17716 from miodvallat/overoptimism
Miod Vallat [Fri, 10 Jul 2026 07:18:25 +0000 (09:18 +0200)] 
Merge pull request #17716 from miodvallat/overoptimism

auth: stop being an optimist