]>
git.ipfire.org Git - thirdparty/pdns.git/log
romeroalx [Tue, 9 Sep 2025 10:04:15 +0000 (12:04 +0200)]
build-docker-images.yml: cleanup generation of runner list. Thanks @habbie
romeroalx [Mon, 25 Aug 2025 14:22:08 +0000 (16:22 +0200)]
build-docker-images.yml: remove context variables from 'run:' sections. Thanks @jsoref
romeroalx [Wed, 20 Aug 2025 09:28:22 +0000 (11:28 +0200)]
gh actions: build images separately by arch. Use gh arm64 runners
Peter van Dijk [Tue, 9 Sep 2025 09:00:38 +0000 (11:00 +0200)]
Merge pull request #16100 from grinapo/lua-example
Add server lua example
Otto Moerbeek [Tue, 9 Sep 2025 06:25:03 +0000 (08:25 +0200)]
Merge pull request #16098 from omoerbeek/rec-skip-hash-ottraceid
rec: do not hash (or compare) OpenTelemetry Trace EDNS value for packetcache
Peter Gervai [Mon, 8 Sep 2025 17:57:25 +0000 (19:57 +0200)]
Add configuration example in comment to help the reader.
Peter Gervai [Mon, 8 Sep 2025 17:53:33 +0000 (19:53 +0200)]
Add pdns_server lua2 backend example.
Peter Gervai [Mon, 8 Sep 2025 16:10:20 +0000 (18:10 +0200)]
Update lua2.rst: dns_get_all_domains() args and notes update
1. It requires `DNSName, domaininfo` pair instead of `string, domaininfo`
2. The function is definitely not optimal if one uses lua2 backend to serve a zone, since without it pdns will ignore the zone and requets will never reach this backend. Figuring this out __was__ painful.
Signed-off-by: Peter Gervai <grin@grin.hu>
Remi Gacogne [Mon, 8 Sep 2025 14:53:53 +0000 (16:53 +0200)]
Merge pull request #16065 from rgacogne/ddist-test-configuration-reload
dnsdist: Test that the configuration is correctly reloaded in various cases
Pieter Lexis [Mon, 8 Sep 2025 14:43:38 +0000 (16:43 +0200)]
Merge pull request #16092 from pieterlexis/auth-meson-tests
auth: small meson improvements for testing
Otto Moerbeek [Mon, 8 Sep 2025 14:24:06 +0000 (16:24 +0200)]
rec: do not hash (or compare) OpenTelemetry Trace EDNS value for packetcache
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Mon, 8 Sep 2025 13:48:10 +0000 (15:48 +0200)]
Merge pull request #16082 from rgacogne/ddist-fix-outgoing-doh-io-reentry-guard
dnsdist: Fix the IO reentry guard in outgoing DoH
Miod Vallat [Mon, 8 Sep 2025 13:36:20 +0000 (15:36 +0200)]
Allow quoted words to immediately follow non-quoted in text record contents.
Also reject \DDD escapes with a value larger than 8 bits.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Mon, 8 Sep 2025 13:13:51 +0000 (15:13 +0200)]
Merge pull request #16083 from miodvallat/exoskeleton
LMDB: try to reduce the cost of the LS header
Otto Moerbeek [Mon, 8 Sep 2025 13:13:22 +0000 (15:13 +0200)]
Merge pull request #16094 from omoerbeek/rec-no-thread0
rec: some error paths do no create thread 0 so don't join it
Remi Gacogne [Mon, 8 Sep 2025 12:32:05 +0000 (14:32 +0200)]
Merge pull request #16090 from rgacogne/ddist-fix-frontend-access-in-client
dnsdist: Fix access to frontends while in client mode
Miod Vallat [Mon, 8 Sep 2025 12:28:15 +0000 (14:28 +0200)]
Switch to a slightly less confusing name.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Otto Moerbeek [Mon, 8 Sep 2025 09:47:17 +0000 (11:47 +0200)]
rec: some error paths do no create thread 0 so don't join it
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Mon, 8 Sep 2025 09:37:27 +0000 (11:37 +0200)]
Merge pull request #16078 from rgacogne/add-exotic-distros-packages-dispatch
Add a dispatch workflow to test package building for exotic distributions
Pieter Lexis [Fri, 5 Sep 2025 14:37:34 +0000 (16:37 +0200)]
fix(auth): set PDNS_BUILD_PATH when running tests
Pieter Lexis [Fri, 5 Sep 2025 14:37:12 +0000 (16:37 +0200)]
fix(auth): Ensure socat is installed when enabling tests
Remi Gacogne [Mon, 8 Sep 2025 08:18:32 +0000 (10:18 +0200)]
Merge pull request #16085 from karelbilek/kb/test_lua_proxyprotocol
dnsdist: fix luaFFI proxy protocol regression test
Miod Vallat [Mon, 8 Sep 2025 05:52:47 +0000 (07:52 +0200)]
Merge pull request #16063 from jeremmfr/fix-case-sensitive-ixfrdist
fix case sensitivity handling for IXFR requests in ixfrdist
Remi Gacogne [Fri, 5 Sep 2025 14:49:57 +0000 (16:49 +0200)]
Merge pull request #16088 from rgacogne/ddist-add-regression-test-for-ede-without-extra-text
dnsdist: Add a test for synthesizing EDE without text from Lua FFI
Remi Gacogne [Fri, 5 Sep 2025 14:38:49 +0000 (16:38 +0200)]
dnsdist: Fix access to frontends while in client mode
Since 2.0 we return `nil` instead of an object containing a `NULL`
pointer when the requested object does not exist, to make it possible
to check the validity of the returned object from `Lua`. It makes
sense in all contexts except when we are in client mode, because
then accessing the object in the remaining parts of the configuration
will trigger an error. Our DNS over HTTPS documentation itself contains
such a Lua configuration snippet, which is now broken.
This commit reverts back to sending an object containg a `NULL`
pointer when accessing the frontends in the client mode case.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 5 Sep 2025 14:04:54 +0000 (16:04 +0200)]
dnsdist: Add a test for synthesizing EDE without text from Lua FFI
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Miod Vallat [Fri, 5 Sep 2025 13:14:59 +0000 (15:14 +0200)]
When writing back a text record, emit empty fields as a pair of quotes.
Addresses: #5208
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Fri, 5 Sep 2025 13:00:19 +0000 (15:00 +0200)]
Allow multiple word text record contents to not use quotes.
The existing logic would only accept a record not starting with a quote if
it was containing a single word, but there is no such requirement.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Karel Bilek [Fri, 5 Sep 2025 12:59:12 +0000 (14:59 +0200)]
dnsdist: fix luaFFI proxy protocol regression test
macOS and Linux have a different AF_INET6 constant
Miod Vallat [Fri, 5 Sep 2025 08:50:52 +0000 (10:50 +0200)]
Reserve room for the LS header before serializing data whenever possible.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Fri, 5 Sep 2025 08:50:19 +0000 (10:50 +0200)]
Add a variant of the put interface which updates the LS header in place.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Fri, 5 Sep 2025 08:41:30 +0000 (10:41 +0200)]
Change serializeToBuffer() interface to append rather than replace.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Fri, 5 Sep 2025 07:35:44 +0000 (09:35 +0200)]
dnsdist: Fix the IO reentry guard in outgoing DoH
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Thu, 4 Sep 2025 13:18:29 +0000 (15:18 +0200)]
Add a dispatch workflow to test package building for exotic distributions
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Miod Vallat [Wed, 20 Aug 2025 08:48:44 +0000 (10:48 +0200)]
Perform normalization of record data received in the REST API.
Data will now have its surrounding whitespace trimmed and will be
processed by a parseRFC1035CharString() loop, in order to perform
proper escape sequence expansion.
Fixes: #15990
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Otto Moerbeek [Thu, 4 Sep 2025 12:21:51 +0000 (14:21 +0200)]
Add config to persistently list auths not supporting cookies
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 4 Sep 2025 11:24:24 +0000 (13:24 +0200)]
Add feature to add "Cookies Unsupported" entries to cookie-table using rec_control
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Thu, 4 Sep 2025 12:52:20 +0000 (14:52 +0200)]
Merge pull request #16015 from rgacogne/ddist-fix-invalid-read-h2-unit-tests
dnsdist: Don't call `nghttp2_session_send` from a callback
Miod Vallat [Wed, 20 Aug 2025 08:48:02 +0000 (10:48 +0200)]
Update parseRFC1035CharString to take a std::string_view argument.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Thu, 4 Sep 2025 11:49:18 +0000 (13:49 +0200)]
Merge pull request #15999 from miodvallat/sort_me_up
pdnsutil: prettier zone output
Miod Vallat [Thu, 4 Sep 2025 11:47:46 +0000 (13:47 +0200)]
Merge pull request #16041 from miodvallat/fieldwork
API: stricter record content validation
Miod Vallat [Thu, 4 Sep 2025 11:46:00 +0000 (13:46 +0200)]
Merge pull request #16035 from miodvallat/spanish_inquisition
auth: smarter bind zone file freshness check
Miod Vallat [Thu, 4 Sep 2025 10:50:01 +0000 (12:50 +0200)]
Pour some low-fat sugar.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Fri, 29 Aug 2025 15:31:08 +0000 (17:31 +0200)]
Prefer trailing dots in formatRecord() for consistency.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Thu, 4 Sep 2025 10:35:03 +0000 (12:35 +0200)]
Unbreak test harder.
There is no need to feed it zone data anyway, so we don't need to depend
on zone2sql and a preexisting named.conf here.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Otto Moerbeek [Thu, 4 Sep 2025 10:04:04 +0000 (12:04 +0200)]
Allow clearing of specific entries in cookie table using rec_control
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Miod Vallat [Thu, 21 Aug 2025 06:37:18 +0000 (08:37 +0200)]
Add a "pretty" flavour to DNSName::canonCompare, to be used by pdnsutil only.
This flavour sorts labels made of digits numerically.
Co-Authored-By: Peter Samuelson <psamuelson@efolder.net>
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Thu, 21 Aug 2025 06:03:14 +0000 (08:03 +0200)]
Use canonCompare_three_way instead of canonCompare twice.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Wed, 20 Aug 2025 13:47:44 +0000 (15:47 +0200)]
Update due to pdnsutil output change.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Wed, 20 Aug 2025 13:24:26 +0000 (15:24 +0200)]
Sort output for "zone list" and "rrset add" as done everywhere else.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Thu, 4 Sep 2025 09:13:28 +0000 (11:13 +0200)]
Merge pull request #16075 from miodvallat/wtfotd
auth: unbreak test
Otto Moerbeek [Thu, 4 Sep 2025 09:10:43 +0000 (11:10 +0200)]
Formatting and tidy
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Fri, 9 May 2025 11:49:01 +0000 (13:49 +0200)]
Better naming of cookie metrics
Otto Moerbeek [Fri, 9 May 2025 10:29:40 +0000 (12:29 +0200)]
Factor out the code to compute the EDNS Error code
Otto Moerbeek [Fri, 9 May 2025 10:20:49 +0000 (12:20 +0200)]
Implement EDNSOpts::getFirstOption and use it in lwres
Otto Moerbeek [Fri, 9 May 2025 09:56:53 +0000 (11:56 +0200)]
Apply suggestions from Habbie (the trivial ones first)
Otto Moerbeek [Fri, 9 May 2025 07:20:26 +0000 (09:20 +0200)]
Use ostringstream for constructing cookie displaystring, add a few comments why binding to a given local address is needed
Otto Moerbeek [Wed, 30 Apr 2025 11:57:55 +0000 (13:57 +0200)]
Tidy
Otto Moerbeek [Wed, 30 Apr 2025 11:26:32 +0000 (13:26 +0200)]
Typos in comments and docs from Miod
Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Otto Moerbeek [Wed, 26 Mar 2025 14:37:20 +0000 (15:37 +0100)]
Fix ifdef botch
Otto Moerbeek [Wed, 26 Mar 2025 14:26:35 +0000 (15:26 +0100)]
Reformat
Otto Moerbeek [Wed, 26 Mar 2025 10:20:46 +0000 (11:20 +0100)]
Comments and docs tweaks
Otto Moerbeek [Wed, 26 Mar 2025 09:57:07 +0000 (10:57 +0100)]
Add metrics for cookies
Otto Moerbeek [Tue, 25 Mar 2025 11:01:11 +0000 (12:01 +0100)]
Refactor cookie code out of asyncresolve
Otto Moerbeek [Mon, 24 Mar 2025 11:58:14 +0000 (12:58 +0100)]
Fix regression tests
Otto Moerbeek [Fri, 21 Mar 2025 11:45:11 +0000 (12:45 +0100)]
Better tracing
Otto Moerbeek [Fri, 21 Mar 2025 11:05:20 +0000 (12:05 +0100)]
Invalid cookie case, plus test of moving to next NS in that case
Otto Moerbeek [Fri, 21 Mar 2025 08:51:11 +0000 (09:51 +0100)]
four states: unknown, supported, unsupported and probing
Otto Moerbeek [Wed, 19 Feb 2025 10:09:05 +0000 (11:09 +0100)]
Basic cookies test: enable cookies in rec and talk to auths with cookies disabled and enabled
Otto Moerbeek [Wed, 19 Feb 2025 08:55:48 +0000 (09:55 +0100)]
Add setting, remove debug lines
Otto Moerbeek [Tue, 18 Feb 2025 11:21:02 +0000 (12:21 +0100)]
TCP support for cookies, taking into account idle outgoing connections
Otto Moerbeek [Tue, 18 Feb 2025 09:53:44 +0000 (10:53 +0100)]
Tidy rec-tcpout.??
Otto Moerbeek [Wed, 5 Feb 2025 13:23:57 +0000 (14:23 +0100)]
Initial very raw version
Otto Moerbeek [Thu, 4 Sep 2025 07:19:58 +0000 (09:19 +0200)]
Merge pull request #15945 from omoerbeek/rec-tidy-pubsuffix
rec pubsuffix: tidy and use C++ strings
Miod Vallat [Thu, 4 Sep 2025 07:06:59 +0000 (09:06 +0200)]
Unbreak test.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Wed, 27 Aug 2025 13:04:51 +0000 (15:04 +0200)]
Perform stricter validation of TXT record contents.
Fixes: #11052
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Wed, 27 Aug 2025 12:32:37 +0000 (14:32 +0200)]
Rework patchZone() signature and split it in multiple pieces. NFC
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Wed, 3 Sep 2025 15:08:11 +0000 (17:08 +0200)]
Merge pull request #16054 from PowerDNS/dependabot/pip/regression-tests.dnsdist/h2-4.3.0
build(deps): bump h2 from 4.2.0 to 4.3.0 in /regression-tests.dnsdist
Otto Moerbeek [Wed, 3 Sep 2025 10:33:59 +0000 (12:33 +0200)]
Merge pull request #16058 from omoerbeek/version-configure-in
rec/dnsdist: add (back) the line that sets the version in configure.ac
Remi Gacogne [Wed, 3 Sep 2025 07:34:39 +0000 (09:34 +0200)]
dnsdist: Fix code formatting
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Wed, 3 Sep 2025 07:23:20 +0000 (09:23 +0200)]
dnsdist: Add regression tests for packet cache and EDNS padding
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Wed, 3 Sep 2025 06:16:34 +0000 (08:16 +0200)]
dnsdist: Refactor YAML configuration parsing to reduce code complexity
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Miod Vallat [Tue, 2 Sep 2025 11:03:22 +0000 (13:03 +0200)]
Merge pull request #16059 from miodvallat/where_is_my_404
REST API: bring back 404 errors
Remi Gacogne [Tue, 2 Sep 2025 11:03:00 +0000 (13:03 +0200)]
Merge pull request #15773 from karelbilek/kb/clarify_auth
dnsdist: Clarify different webserver auths
Remi Gacogne [Tue, 2 Sep 2025 11:00:29 +0000 (13:00 +0200)]
Merge pull request #16064 from rgacogne/ddist-properly-handle-truncation-sendmmsg
dnsdist: Properly handle truncation for UDP responses sent via `sendmmsg`
Miod Vallat [Tue, 2 Sep 2025 10:29:20 +0000 (12:29 +0200)]
Merge pull request #15891 from miodvallat/behind_the_backend
Improve lmdb dyndns test results
Miod Vallat [Tue, 2 Sep 2025 10:28:40 +0000 (12:28 +0200)]
Merge pull request #16024 from miodvallat/update_unless_don't
Correctly handle dnsupdate reject by Lua policy
Jeremy Muriel [Mon, 1 Sep 2025 14:50:06 +0000 (16:50 +0200)]
fix case sensitivity handling for IXFR requests in ixfrdist
TXT record values are case sensitive, but the compilation of
an IXFR difference in ixfrdist doesn't produce a difference
when the change is only a case modification.
This commit removes the toLower() call when comparing record content
to properly handle case-sensitive changes.
Miod Vallat [Tue, 2 Sep 2025 07:07:42 +0000 (09:07 +0200)]
Merge pull request #16050 from miodvallat/what_time_is_it
Display SOA check timestamps in human-readable form
Karel Bilek [Mon, 1 Sep 2025 21:28:46 +0000 (23:28 +0200)]
dnsdist: Clarify different webserver auths
Remi Gacogne [Mon, 1 Sep 2025 16:29:57 +0000 (18:29 +0200)]
dnsdist: Skip EDNS padding content by default in the packet cache
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Mon, 1 Sep 2025 12:00:09 +0000 (14:00 +0200)]
dnsdist: Properly handle truncation for UDP responses sent via `sendmmsg`
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Mon, 1 Sep 2025 10:22:55 +0000 (12:22 +0200)]
dnsdist: Test that the configuration is correctly reloaded
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Mon, 1 Sep 2025 10:22:06 +0000 (12:22 +0200)]
dnsdist: Refresh configuration after `recv` which may have blocked for a long time
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Miod Vallat [Fri, 29 Aug 2025 16:08:43 +0000 (18:08 +0200)]
Merge pull request #15966 from miodvallat/unsafe
pdnsutil: report corrupted records
Miod Vallat [Fri, 29 Aug 2025 15:06:58 +0000 (17:06 +0200)]
Merge pull request #15969 from miodvallat/seventh_json_of_a_seventh_json
web server: try harder to return response in the same type as the request
Miod Vallat [Thu, 7 Aug 2025 06:40:31 +0000 (08:40 +0200)]
Add optional backend method to let them return invalid records.
Use this in pdnsutil check-zone to report these ill-formed records which
would otherwise never made visible.
Fixes: #4941
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Wed, 23 Jul 2025 05:59:51 +0000 (07:59 +0200)]
Update lmdb dyndns oracles.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Mon, 21 Jul 2025 15:36:00 +0000 (17:36 +0200)]
Use pdnsutil backend-cmd list to get NSEC3 details in dyndns tests.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Mon, 21 Jul 2025 14:47:36 +0000 (16:47 +0200)]
Add a "list" backend-cmd which allows us to get NSEC3 ordername data.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>