]>
git.ipfire.org Git - thirdparty/pdns.git/log
Alexis Romero [Fri, 20 Feb 2026 12:31:20 +0000 (13:31 +0100)]
Merge pull request #16896 from romeroalx/move-upload-package-to-action
build-packages.yml: move uploading and publishing packages to an external action
Miod Vallat [Fri, 20 Feb 2026 10:58:11 +0000 (11:58 +0100)]
Merge pull request #16830 from miodvallat/ragel_de_bois
auth: one less infinite loop
Miod Vallat [Fri, 20 Feb 2026 10:57:42 +0000 (11:57 +0100)]
Merge pull request #16917 from miodvallat/metaheadache
More metaprogramming sugar
Remi Gacogne [Fri, 20 Feb 2026 09:48:01 +0000 (10:48 +0100)]
Merge pull request #16870 from pieterlexis/dnsdist-ot-set-traceparent-on-send
dnsdist: Correctly set Span ID to downstreams
Remi Gacogne [Fri, 20 Feb 2026 09:46:15 +0000 (10:46 +0100)]
Merge pull request #16915 from rgacogne/coverity-
20260220
Fix some performance inefficiencies reported by Coverity
Miod Vallat [Fri, 20 Feb 2026 09:22:43 +0000 (10:22 +0100)]
Give IterLoggable the same type flexibility as Loggable.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Fri, 20 Feb 2026 09:03:21 +0000 (10:03 +0100)]
Merge pull request #16910 from miodvallat/chrp
auth: prepare for 4.9.13 and 5.0.3 releases
Remi Gacogne [Fri, 20 Feb 2026 08:28:45 +0000 (09:28 +0100)]
dnsdist: Fix performance ineffiency reported by Coverity as CID 501593
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 20 Feb 2026 08:25:17 +0000 (09:25 +0100)]
tcpiohandler: Fix performance inefficiency reported by Coverity
CID 501583 and 501584
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 20 Feb 2026 08:23:59 +0000 (09:23 +0100)]
auth: Fix performance inefficiency reported by Coverity (CID
1645140 )
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 20 Feb 2026 08:19:39 +0000 (09:19 +0100)]
Merge pull request #16889 from rgacogne/ddist-add-health-check-validation-callback
dnsdist: Add a Lua callback to validate health-check responses
Miod Vallat [Fri, 20 Feb 2026 05:39:39 +0000 (06:39 +0100)]
Do not attempt to normalize LUA records.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Pieter Lexis [Thu, 19 Feb 2026 16:32:11 +0000 (17:32 +0100)]
Merge pull request #16626 from romeroalx/keyroller-remove-pipfile
Keyroller: simplify package dependencies and remove pipfile
Pieter Lexis [Thu, 19 Feb 2026 16:29:26 +0000 (17:29 +0100)]
Merge pull request #16904 from romeroalx/fix-verify-pip-pulls-workflow
GH actions - verify-pinned-python-packages.yml: set a name for the service container
Remi Gacogne [Thu, 19 Feb 2026 16:21:20 +0000 (17:21 +0100)]
Merge pull request #16899 from rgacogne/ddist-fix-flaky-proxy-protocol-regression-test
dnsdist: Fix flaky Proxy Protocol regression test
Pieter Lexis [Thu, 19 Feb 2026 12:18:41 +0000 (13:18 +0100)]
chore(dnsdist): Add tests for addTraceparentEdnsOptionToPacketBuffer
Pieter Lexis [Wed, 18 Feb 2026 10:42:49 +0000 (11:42 +0100)]
chore(dnsdist): use uint16_t for TRACEPARENT option code
Pieter Lexis [Thu, 12 Feb 2026 15:45:26 +0000 (16:45 +0100)]
chore(ci): traceparent is a word
Pieter Lexis [Thu, 12 Feb 2026 15:17:37 +0000 (16:17 +0100)]
feat(dnsdist): Use only one TRACEPARENT option code for in and out
Pieter Lexis [Thu, 12 Feb 2026 14:40:43 +0000 (15:40 +0100)]
docs(dnsdist): update OpenTelemetry trace docs
Pieter Lexis [Wed, 11 Feb 2026 17:17:09 +0000 (18:17 +0100)]
tests(dnsdist): add TRACEPARENT to proxy protocol tests
Pieter Lexis [Thu, 12 Feb 2026 14:08:04 +0000 (15:08 +0100)]
feat(dnsdist): centralize the TRACEPARENT packet mangling
Pieter Lexis [Thu, 12 Feb 2026 14:06:58 +0000 (15:06 +0100)]
tests(dnsdist): Send queries for testing downstream TRACEPARENT without said option
Pieter Lexis [Thu, 12 Feb 2026 15:35:42 +0000 (16:35 +0100)]
tests(dnsdist): Test TRACEPARENT with downstream TLS
Pieter Lexis [Wed, 11 Feb 2026 19:14:27 +0000 (20:14 +0100)]
fix(dnsdist): correctly add TRACEPARENT to downstreams when PROXY protocol is in use
Pieter Lexis [Wed, 11 Feb 2026 18:02:20 +0000 (19:02 +0100)]
feat(dnsdist): Lua SetTraceAction now accepts an option table
Pieter Lexis [Thu, 5 Feb 2026 17:25:43 +0000 (18:25 +0100)]
chore(dnsdist): use makeEDNSTraceParentOption for UDP as well
Pieter Lexis [Thu, 5 Feb 2026 17:13:27 +0000 (18:13 +0100)]
feat(dnsdist): Send correct (last) SpanID to TCP downstreams
Pieter Lexis [Thu, 5 Feb 2026 10:54:23 +0000 (11:54 +0100)]
chore(dnsdist): Use TRACEPARENT nomenclature consistently
Pieter Lexis [Mon, 26 Jan 2026 16:44:11 +0000 (17:44 +0100)]
feat(dnsdist): set correct spanid in downstream TRACEPARENT
Pieter Lexis [Mon, 26 Jan 2026 10:52:37 +0000 (11:52 +0100)]
chore(dnsdist): Pack the TraceConfig struct
romeroalx [Thu, 19 Feb 2026 05:41:15 +0000 (06:41 +0100)]
verify-pinned-python-packages.yml: set a name for service container
Remi Gacogne [Thu, 19 Feb 2026 15:35:29 +0000 (16:35 +0100)]
Merge pull request #16909 from rgacogne/ddist-doc-fixes-
20260219
dnsdist: Fix two documentation nits
Miod Vallat [Thu, 19 Feb 2026 14:39:28 +0000 (15:39 +0100)]
secpoll and documentation updates for Auth 4.9.13 & 5.0.3
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Thu, 19 Feb 2026 14:11:42 +0000 (15:11 +0100)]
Merge pull request #16880 from rgacogne/ddist-dbrg-allowed-rcodes-ratio
dnsdist: Implement "allowed rcodes/total" ratio dynamic rule
Remi Gacogne [Thu, 19 Feb 2026 14:08:36 +0000 (15:08 +0100)]
dnsdist: Fix two documentation nits
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Thu, 19 Feb 2026 14:07:32 +0000 (15:07 +0100)]
dnsdist: Apply suggestions from code review
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Thu, 19 Feb 2026 11:07:34 +0000 (12:07 +0100)]
Merge pull request #16907 from rgacogne/meson-missing-crypto-funcs
meson: Add missing checks for `TLS_client_method`, `gnutls_transport_set_fastopen`
Otto Moerbeek [Thu, 19 Feb 2026 10:29:40 +0000 (11:29 +0100)]
Merge pull request #16903 from omoerbeek/rec-test-faster
rec: test faster
Otto Moerbeek [Thu, 19 Feb 2026 10:05:13 +0000 (11:05 +0100)]
Typo in comment
Co-authored-by: Remi Gacogne <github@coredump.fr>
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Miod Vallat [Thu, 19 Feb 2026 10:01:41 +0000 (11:01 +0100)]
Merge pull request #16731 from miodvallat/statbag_of_tricks
auth web: stricter control of statistics rings changes
Miod Vallat [Thu, 19 Feb 2026 10:00:51 +0000 (11:00 +0100)]
Merge pull request #16884 from miodvallat/alias_not_aliases
auth: fix and document behaviour when multiple ALIAS records in an RRset
Otto Moerbeek [Thu, 19 Feb 2026 09:34:40 +0000 (10:34 +0100)]
Drop autouse, it's redundant, zap a few print() calls
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Thu, 19 Feb 2026 09:33:49 +0000 (10:33 +0100)]
tcpiohandler: Some versions of GnuTLS require `gnutls/socket.h` for `gnutls_transport_set_fastopen`
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Thu, 19 Feb 2026 09:17:22 +0000 (10:17 +0100)]
meson: Add missing checks for `TLS_client_method`, `gnutls_transport_set_fastopen`
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 13 Feb 2026 13:21:35 +0000 (14:21 +0100)]
dnsdist: Fix typo in description reported by Mio
Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 13 Feb 2026 13:18:45 +0000 (14:18 +0100)]
dnsdist: Fix indentation
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 13 Feb 2026 13:12:50 +0000 (14:12 +0100)]
dnsdist: Implement "allowed rcodes/total" ratio dynamic rule
The existing rcode ratio rules required listing all the response codes
that were not allowed, and to compute the ratio for each rcode.
That's useful, but what we want in most cases is to set a ratio of
"unexpected"/"invalid" response codes over "allowed"/"expected" response
codes.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Otto Moerbeek [Tue, 17 Feb 2026 14:08:05 +0000 (15:08 +0100)]
rec: save outgoing TLSContext for later re-use
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 19 Feb 2026 07:51:20 +0000 (08:51 +0100)]
Apply suggestions from code review
Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Miod Vallat [Thu, 19 Feb 2026 05:48:24 +0000 (06:48 +0100)]
Merge pull request #16902 from miodvallat/removeelse
auth: loosen check in NotificationQueue::removeIf
Otto Moerbeek [Wed, 18 Feb 2026 14:13:05 +0000 (15:13 +0100)]
Commit forgotten file
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 18 Feb 2026 13:00:48 +0000 (14:00 +0100)]
Tests with special auth working now
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 18 Feb 2026 11:53:19 +0000 (12:53 +0100)]
Fixture to start en stop auths per session is working
A few tests that modify auth config are skipped. Next commit should fix that.
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Miod Vallat [Wed, 18 Feb 2026 07:13:22 +0000 (08:13 +0100)]
Ignore port numbers in removeIf() if either ComboAddress lacks one.
Fixes: #13576
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Wed, 18 Feb 2026 08:45:39 +0000 (09:45 +0100)]
Merge pull request #16890 from rgacogne/ddist-fix-latency-again
dnsdist: Clean up the type mess around latency metrics (again)
Remi Gacogne [Tue, 17 Feb 2026 15:47:03 +0000 (16:47 +0100)]
dnsdist: Fix flaky Proxy Protocol regression test
We can only check that we did not open more than one new connection
compared to the connections that existed before, because connections
triggered by a different test can still be around.
This seems to be happening on a regular basis on slow runners with
few CPU cores.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Tue, 17 Feb 2026 15:45:22 +0000 (16:45 +0100)]
Merge pull request #16898 from rgacogne/ddist-do-no-start-network-listener-in-config-check
dnsdist: Don't start the NetworkListener thread in config check mode
Otto Moerbeek [Tue, 17 Feb 2026 15:40:59 +0000 (16:40 +0100)]
Make status polls faster
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Tue, 17 Feb 2026 15:04:34 +0000 (16:04 +0100)]
dnsdist: Don't start the NetworkListener thread in config check mode
Not only is this useless, there is a risk of race if the thread is not
created quickly enough, so when the main thread reaches the end of the
configuration and exits the new thread tries to access an object that
has been freed.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Francisco Laguna [Tue, 17 Feb 2026 14:46:48 +0000 (15:46 +0100)]
Merge pull request #16897 from milzi234/chore/docs_spog_section
chore(docs site): add single pane of glass
Francisco Laguna [Tue, 17 Feb 2026 14:11:42 +0000 (15:11 +0100)]
chore(docs site): add single pane of glass
romeroalx [Fri, 6 Feb 2026 07:30:59 +0000 (08:30 +0100)]
build-packages: move uploading and publishing packages to an action
Remi Gacogne [Tue, 17 Feb 2026 13:02:19 +0000 (14:02 +0100)]
Merge pull request #16879 from rgacogne/ddist-unset-tag
dnsdist: Add actions, methods and FFI functions to unset a tag
Remi Gacogne [Tue, 17 Feb 2026 13:01:59 +0000 (14:01 +0100)]
Merge pull request #16881 from rgacogne/ddist-excluded-entries-should-not-count-toward-super-subnet-limit
dnsdist: Subnets excluded from dynamic rules should not count towards thresholds
Otto Moerbeek [Tue, 17 Feb 2026 12:43:20 +0000 (13:43 +0100)]
Merge pull request #16893 from omoerbeek/rec-prep-5.4.0-rc1
rec: Prep for rec-5.4.0-rc1 release
Remi Gacogne [Tue, 17 Feb 2026 11:42:33 +0000 (12:42 +0100)]
Merge pull request #16887 from rgacogne/ddist-fix-invalid-substr-use-dnsparser
dnsdist: Fix invalid `substr()` use in the DNS overlay parser
Otto Moerbeek [Tue, 17 Feb 2026 10:43:08 +0000 (11:43 +0100)]
Prep for rec-5.4.0-rc1 release
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 16 Feb 2026 13:14:35 +0000 (14:14 +0100)]
If a single NSEC3 recordset should be cached, cache all of them
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Mon, 16 Feb 2026 15:16:46 +0000 (16:16 +0100)]
dnsdist: Fix a typo in the documentation
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Mon, 16 Feb 2026 15:10:11 +0000 (16:10 +0100)]
dnsdist: Add a Lua callback to validate health-check responses
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Miod Vallat [Mon, 16 Feb 2026 10:03:19 +0000 (11:03 +0100)]
Ignore extra ALIAS records and warn about them.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Fri, 13 Feb 2026 13:34:09 +0000 (14:34 +0100)]
Test ANY requests on ALIAS records.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Mon, 16 Feb 2026 13:26:19 +0000 (14:26 +0100)]
dnsdist: Clean up the type mess around latency metrics (again)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Otto Moerbeek [Wed, 1 Oct 2025 09:55:40 +0000 (11:55 +0200)]
rec: take into account that NSEC3 can be reversed
In that case a short common prefix signifies a large range
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Mon, 16 Feb 2026 11:32:43 +0000 (12:32 +0100)]
dnsdist: Fix invalid `substr()` use in the DNS overlay parser
`std::basic_string_view<CharT,Traits>::substr`'s second parameter is a length,
not an iterator or a position, so the existing code was misusing it and
creating a view that potentially expanded outside of the packet.
However currently the view is never used to read more than
`record.d_contentOffset` (we are passing it immediately to `makeComboAddressFromRaw`
with `record.d_contentLength` as the length) and `record.d_contentOffset`
has been validated right before to be either `4` or `16`, so
there is no out-of-bounds read.
This issue has been introduced in
b6f9a21db93ee25ec665dc5f65e87eb7adebd102 and
is not included in any stable release, so no need to backport
the fix.
Reported by Nyaz360 in YWH-PGM6095-85, thanks a lot!
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Mon, 16 Feb 2026 11:21:07 +0000 (12:21 +0100)]
dnsdist: Fix DoH ACL bypass when early ACL check is disabled
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Mon, 16 Feb 2026 10:39:56 +0000 (11:39 +0100)]
dnsdist: Fix out-of-bounds read when parsing DNS packets via Lua
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Otto Moerbeek [Mon, 16 Feb 2026 10:36:53 +0000 (11:36 +0100)]
Merge pull request #16858 from omoerbeek/rec-dot-client-cert
re: add feature to optionally use a client certificate for outgoing DoT
Otto Moerbeek [Mon, 16 Feb 2026 07:50:31 +0000 (08:50 +0100)]
Better python formatting from @rgacogne
Co-authored-by: Remi Gacogne <github@coredump.fr>
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 11 Feb 2026 14:02:37 +0000 (15:02 +0100)]
Add docs
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 5 Feb 2026 10:34:06 +0000 (11:34 +0100)]
Fix race and test and check subject of client cert and add PEM test
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 4 Feb 2026 15:29:32 +0000 (16:29 +0100)]
Add test for Dot with client cert
When run individually, the new test works. But there seems to be a race
condition: in some cases old responders look to be still running, making
subsequent test fail on larger test runs.
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 4 Feb 2026 15:20:46 +0000 (16:20 +0100)]
Tidy existing TLS tests a bit
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 4 Feb 2026 15:16:16 +0000 (16:16 +0100)]
Generate cert to use as client cert in tests
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 4 Feb 2026 13:42:20 +0000 (14:42 +0100)]
Basic infra for client cert
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 4 Feb 2026 08:43:49 +0000 (09:43 +0100)]
Refactor key setup so it isn's tied to server-only code
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Fri, 13 Feb 2026 13:45:43 +0000 (14:45 +0100)]
dnsdist: Subnets excluded from dynamic rules should not count towards thresholds
Until now we only looked at whether a subnet was excluded from dynamic rules
when deciding to insert a block. This introduced an issue when the dynamic
rules were configured to group clients into subnets via the `setMasks` directive,
because then queries received from an excluded client were still counted towards
the thresholds for the final subnet. For example, when grouping IPv4 clients
into `/24` subnets and excluding `192.0.2.1`, we would end up blocking the
whole `192.0.2.0/24` subnet if the number of queries or responses received
from `192.0.2.1` were over the threshold.
From now on excluded subnets will no longer count toward the thresholds.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 13 Feb 2026 13:20:57 +0000 (14:20 +0100)]
Merge pull request #16872 from PowerDNS/feature/update-repo-test-script-
20260212
Update Repo Test Script
Remi Gacogne [Fri, 13 Feb 2026 13:17:40 +0000 (14:17 +0100)]
dnsdist: Fix c/p mistake spotted by Miod (thanks!)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Erik Winkels [Fri, 13 Feb 2026 11:58:51 +0000 (12:58 +0100)]
Use `not in` instead of a fugly line of `and`s.
Erik Winkels [Fri, 13 Feb 2026 11:37:32 +0000 (12:37 +0100)]
Undo some whitespace changes so diff looks good.
Erik Winkels [Fri, 13 Feb 2026 11:35:29 +0000 (12:35 +0100)]
Reinstate `while` usage.
Remi Gacogne [Fri, 13 Feb 2026 10:24:24 +0000 (11:24 +0100)]
dnsdist: Add actions, methods and FFI functions to unset a tag
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Erik Winkels [Fri, 13 Feb 2026 09:27:46 +0000 (10:27 +0100)]
Remove `auth-47` as it is not maintained anymore.
Comment by @miodvallat in #16872.
Miod Vallat [Thu, 12 Feb 2026 16:22:42 +0000 (17:22 +0100)]
Merge pull request #16871 from miodvallat/gettingtoooldtowritecode
auth: fix stupid logic error in lmdb-write-update-notification=no
Erik Winkels [Thu, 12 Feb 2026 15:45:22 +0000 (16:45 +0100)]
Update repo test script.
This had not been synced to the repo for a while.
Miod Vallat [Thu, 12 Feb 2026 15:42:21 +0000 (16:42 +0100)]
Perform DomainInfo consolidation before filtering.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Thu, 12 Feb 2026 15:41:36 +0000 (16:41 +0100)]
Fix polarity of setting description.
This was forgotten after this setting changed name and polarity.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Thu, 12 Feb 2026 14:05:24 +0000 (15:05 +0100)]
Merge pull request #16868 from rgacogne/rust-audit-pr
CI: Run the Rust deps audit check on the correct branch for pull requests