]>
git.ipfire.org Git - thirdparty/pdns.git/log
Peter van Dijk [Mon, 7 Apr 2025 13:25:15 +0000 (15:25 +0200)]
Add views-related commands to pdnsutil.
Miod Vallat [Mon, 26 May 2025 10:52:27 +0000 (12:52 +0200)]
Merge pull request #15570 from miodvallat/platoon
Trust inet_pton to validate IPv6 addresses and nothing more
Peter van Dijk [Fri, 28 Mar 2025 06:04:35 +0000 (07:04 +0100)]
New DNSBackend entry points for views support.
Peter van Dijk [Fri, 2 May 2025 10:28:16 +0000 (12:28 +0200)]
add g_rootzonename
Miod Vallat [Mon, 7 Apr 2025 09:55:21 +0000 (11:55 +0200)]
Add optional variants to ZoneName.
Remi Gacogne [Fri, 23 May 2025 13:26:45 +0000 (15:26 +0200)]
Merge pull request #15578 from jsoref/perturbation
Fix spelling for `setWHashedPerturbation`
Josh Soref [Fri, 23 May 2025 13:05:37 +0000 (09:05 -0400)]
Bump secpoll SOA for EOL changes
Josh Soref [Fri, 23 May 2025 12:51:50 +0000 (08:51 -0400)]
Simplify EOL table dates
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Fri, 23 May 2025 12:49:49 +0000 (08:49 -0400)]
Refer 3.3 + 3.4 recursor to EOL statement
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Fri, 23 May 2025 12:45:09 +0000 (08:45 -0400)]
Refer 3.3 + 3.4 auth to EOL statement
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Fri, 23 May 2025 12:42:04 +0000 (08:42 -0400)]
Harmonize EOL file name
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Fri, 23 May 2025 12:40:55 +0000 (08:40 -0400)]
Simplify EOL table dates
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Fri, 23 May 2025 12:35:32 +0000 (08:35 -0400)]
Refer 3.3 + 3.4 auth to EOL statement
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Fri, 23 May 2025 12:29:55 +0000 (08:29 -0400)]
Simplify EOL table dates
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Remi Gacogne [Fri, 23 May 2025 11:34:59 +0000 (13:34 +0200)]
Merge pull request #15582 from rgacogne/ddist200a2-changelog-secpoll
dnsdist: Add ChangeLog and update security polling zone for 2.0.0-alpha2
Miod Vallat [Mon, 7 Apr 2025 09:55:35 +0000 (11:55 +0200)]
Add views configuration setting and reject non-working configuration.
Otto Moerbeek [Fri, 23 May 2025 08:58:25 +0000 (10:58 +0200)]
Merge pull request #15586 from omoerbeek/macos-quiche-helper
install quiche helper: do not use -i without arg and add missing / on Darwin
Remi Gacogne [Fri, 23 May 2025 07:54:40 +0000 (09:54 +0200)]
Merge pull request #15584 from rgacogne/upgrade-rust-1.87.0
Use Rust 1.87.0 when building our packages
Remi Gacogne [Fri, 23 May 2025 07:50:08 +0000 (09:50 +0200)]
dnsdist: Be consistent in builder-support/helpers/install_quiche.sh
Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Otto Moerbeek [Fri, 23 May 2025 07:42:38 +0000 (09:42 +0200)]
install quiche helper: do not use -i without arg and add missing / on Darwin
BSD sed does not like -i without arg
Remi Gacogne [Fri, 23 May 2025 07:42:47 +0000 (09:42 +0200)]
dnsdist: Add new entries to the ChangeLog, fix formatting nits
Remi Gacogne [Fri, 23 May 2025 07:40:02 +0000 (09:40 +0200)]
Merge pull request #15585 from rgacogne/ddist-fix-tag-rule-empty
dnsdist: Fix the behaviour of `TagRule` with an empty string as value
Remi Gacogne [Fri, 23 May 2025 07:39:00 +0000 (09:39 +0200)]
Merge pull request #15583 from rgacogne/upgrade-quiche-0.24.2
dnsdist: Upgrade Quiche to 0.24.2 in our packages
Remi Gacogne [Fri, 23 May 2025 07:09:16 +0000 (09:09 +0200)]
dnsdist: Fix clang-tidy's nits
Remi Gacogne [Thu, 22 May 2025 15:17:10 +0000 (17:17 +0200)]
dnsdist: Fix a typo spotted by Miod (many, many thanks)
Remi Gacogne [Thu, 22 May 2025 14:56:47 +0000 (16:56 +0200)]
dnsdist: Add a regression test for the "match empty tag only" case
Remi Gacogne [Thu, 22 May 2025 14:34:58 +0000 (16:34 +0200)]
dnsdist: Fix the behaviour of `TagRule` with an empty string as value
Before 2.0.0 passing an empty value to `TagRule` meant that only the
presence of the tag with an empty value would be accepted. That
behaviour changed when we introduced the YAML configuration format,
refactoring the selectors in the process, to instead mean that an
empty string meant that all values would be accepted, only the tag
presence being checked. This is an unfortunate side-effect of a
limitation of the `cxx` Rust <-> C++ interoperability layer that we
are using (lack of support for `Option<T>` <-> `std::optional<T>`,
namely). This PR fixes restores the exising behaviour by adding an
additional boolean to the YAML configuration, and ensuring that
passing an empty value to the Lua configuration is not treated as
not passing any value.
Remi Gacogne [Thu, 22 May 2025 13:31:54 +0000 (15:31 +0200)]
dnsdist: Fix typo in the YAML settings documentation
Remi Gacogne [Thu, 22 May 2025 13:30:51 +0000 (15:30 +0200)]
dnsdist: Document when `setWHashedPerturbation` was renamed
Remi Gacogne [Thu, 22 May 2025 10:59:54 +0000 (12:59 +0200)]
Merge pull request #15580 from rgacogne/ddist-fix-build-ol8
dnsdist: Fix building on EL-8 (we now need Python 3.12 instead of 3.11)
Remi Gacogne [Thu, 22 May 2025 10:22:26 +0000 (12:22 +0200)]
dnsdist: Fix a typo in the ChangeLog
Remi Gacogne [Thu, 22 May 2025 10:22:05 +0000 (12:22 +0200)]
spell-check: Allow pacnal (a contributor)
Remi Gacogne [Thu, 22 May 2025 10:13:43 +0000 (12:13 +0200)]
dnsdist: Upgrade Quiche to 0.24.2 in our packages
Remi Gacogne [Thu, 22 May 2025 10:12:52 +0000 (12:12 +0200)]
Use Rust 1.87.0 when building our packages
Remi Gacogne [Thu, 22 May 2025 10:07:50 +0000 (12:07 +0200)]
dnsdist: Add ChangeLog and update security polling zone for 2.0.0-alpha2
Peter van Dijk [Thu, 22 May 2025 09:57:55 +0000 (11:57 +0200)]
Merge pull request #15567 from Habbie/auth-py-backends
auth-py testing: add backend choice
Remi Gacogne [Thu, 22 May 2025 08:32:31 +0000 (10:32 +0200)]
dnsdist: Fix building on EL-8 (we now need Python 3.12 instead of 3.11)
Peter van Dijk [Fri, 9 May 2025 18:05:13 +0000 (20:05 +0200)]
auth-py tests: allow backend choice, add lmdb testing
Remi Gacogne [Thu, 22 May 2025 07:23:55 +0000 (09:23 +0200)]
Merge pull request #15571 from rgacogne/ddist-fix-obsd-tcp-crash
dnsdist: Fix a crash when TCP queries and responses keep coming
Remi Gacogne [Thu, 22 May 2025 07:23:45 +0000 (09:23 +0200)]
Merge pull request #15573 from rgacogne/ddist-coverity-202505
dnsdist: Fix one potential issue and several false positives reported by Coverity
Josh Soref [Tue, 20 May 2025 14:51:03 +0000 (10:51 -0400)]
Fix spelling for `setWHashedPerturbation`
The goal is to deprecate the misspelled flavor while still supporting it.
Remi Gacogne [Tue, 20 May 2025 11:00:35 +0000 (13:00 +0200)]
Merge pull request #15574 from rgacogne/ddist-1.9.10-changelog-secpoll
dnsdist: Add ChangeLog and update security polling zone for 1.9.10
Remi Gacogne [Tue, 20 May 2025 10:24:03 +0000 (12:24 +0200)]
dnsdist: Apply Peter's suggestion to the advisory
Co-authored-by: Peter van Dijk <peter.van.dijk@powerdns.com>
Remi Gacogne [Tue, 20 May 2025 07:42:46 +0000 (09:42 +0200)]
dnsdist: Add security advisory 2025-03
Remi Gacogne [Mon, 19 May 2025 08:47:55 +0000 (10:47 +0200)]
dnsdist: Prepare ChangeLog and secpoll for 1.9.10
Remi Gacogne [Tue, 20 May 2025 08:09:09 +0000 (10:09 +0200)]
dnsdist: Fix one potential issue spotted by Coverity
As spotted by Coverity, one function called from a destructor could
in theory throw an exception which is not caught from within the
destructor, which would lead to a termination of the program.
At a quick glance it seems quite impossible to happen in practice
with the current code, but let's fix it nevertheless.
Remi Gacogne [Tue, 20 May 2025 08:08:49 +0000 (10:08 +0200)]
dnsdist: Fix Coverity's false positives
Remi Gacogne [Wed, 14 May 2025 18:33:09 +0000 (20:33 +0200)]
dnsdist: Add a unit test for lots of pipelined queries w/ immediate response from backend
Remi Gacogne [Tue, 13 May 2025 13:50:21 +0000 (15:50 +0200)]
dnsdist: Fix a crash when TCP queries and responses keep coming
It happens when we keep finding queries waiting for us on the incoming
TCP socket from the client, and responses waiting for us on the TCP
socket to the backend after forwarding a new query. This is quite
unlikely but not impossible to happen, as reported by Renaud Allard
(many thanks for taking the time to investigate the issue!).
Otto Moerbeek [Tue, 20 May 2025 06:32:02 +0000 (08:32 +0200)]
Merge pull request #15568 from omoerbeek/dnsdist-followup-15565
dnsdist: don't try creating symlink if it already exists
Miod Vallat [Mon, 19 May 2025 14:24:58 +0000 (16:24 +0200)]
Trust inet_pton to validate IPv6 addresses and nothing more.
Fixes #15569
Otto Moerbeek [Mon, 19 May 2025 13:14:37 +0000 (15:14 +0200)]
unlink as suggested by @miodvallat
Otto Moerbeek [Mon, 19 May 2025 12:48:07 +0000 (14:48 +0200)]
dnsdist: don't try creating symlink if it already exists
I am seeing: FileExistsError: [Errno 17] File exists: '/Users/otto/pdns/pdns/dnsdistdist/dnsdist-rust-lib/dnsdist-configuration-yaml-items-generated.cc' -> './dnsdist-rust-lib//dnsdist-configuration-yaml-items-generated.cc'
after a change in dnsdist-settings-definitions.yml
Plus three typos in docs.
Remi Gacogne [Mon, 19 May 2025 12:43:04 +0000 (14:43 +0200)]
Merge pull request #15524 from rgacogne/ddist-faster-custom-metrics
dnsdist: Improve scalability of custom metrics
Remi Gacogne [Mon, 19 May 2025 12:15:51 +0000 (14:15 +0200)]
Merge pull request #15565 from rgacogne/ddist-fix-meson-stable-state
dnsdist: Fix our `meson` build not reaching a stable state
Remi Gacogne [Mon, 19 May 2025 12:15:41 +0000 (14:15 +0200)]
Merge pull request #15566 from rgacogne/ddist-ubicloud-private
build-and-test-all: Build DNSdist on Ubicloud runners when needed
Remi Gacogne [Mon, 19 May 2025 10:46:47 +0000 (12:46 +0200)]
dnsdist: Properly handle autotools-based builds as well
Remi Gacogne [Mon, 19 May 2025 10:04:05 +0000 (12:04 +0200)]
dnsdist: Use a symbolic link in the meson build dir
Remi Gacogne [Thu, 15 May 2025 10:13:09 +0000 (12:13 +0200)]
build-and-test-all: Build DNSdist on Ubicloud runners when needed
GH actions provides us with a 16 GB runner on public repositories,
but only 7 GB on private ones. Unfortunately our current workflow
assumes that we can get away with 4 concurrent jobs when building
DNSdist, which is true when we have 16 GB available but not with
7 GB.
So this commit switches to Ubicloud runners (standard 4, 4 vCPU,
16 GB) for repositories defining the `REPOSITORY_USE_UBICLOUD`
variable to 1. These runners are also significantly faster than the
GH actions ones.
Remi Gacogne [Mon, 19 May 2025 09:45:59 +0000 (11:45 +0200)]
dnsdist: Fix our `meson` build not reaching a stable state
Before this commit calling `meson build` a second time right after building
triggered a re-generation of the `dnsdist-configuration-yaml-items-generated.cc`
file because `meson` wants it to be present in the build directory,
but we also want to generate it in the source directory so that it
can be included in the repository.
The current solution is a bit dirty, but our options are limited
because some files are only generated when YAML support is available,
because they require Rust, and we need them to be in the dist tarball.
Otto suggested that we could generate them only when building the dist
tarball, I'll look into it in a bit.
Remi Gacogne [Mon, 19 May 2025 09:04:45 +0000 (11:04 +0200)]
Merge pull request #15472 from rgacogne/ddist-dynamic-resolver-gc
dnsdist: Reduce memory usage with fast-changing dynamic backends
Remi Gacogne [Mon, 19 May 2025 07:37:36 +0000 (09:37 +0200)]
Merge pull request #15557 from rgacogne/ddist-fix-backend-discovery-on-gh-action-oops-they-did-it-again
dnsdist: Fix backend discovery regression test on GH action (again)
Remi Gacogne [Sun, 18 May 2025 09:54:47 +0000 (11:54 +0200)]
dnsdist: As suggested by Miod, add the date to the comment so we know when it is outdated
Remi Gacogne [Sun, 18 May 2025 09:53:11 +0000 (11:53 +0200)]
Merge pull request #15559 from rgacogne/ddist-fix-flaky-proxy-protocol-test
dnsdist: Fix a flaky Proxy Protocol regression test
Otto Moerbeek [Fri, 16 May 2025 13:17:27 +0000 (15:17 +0200)]
Merge pull request #15564 from omoerbeek/dnsdist-openbsd-fixes
dnsdist: two fixes to enable building on OpenBSD with quic enabled
Otto Moerbeek [Fri, 16 May 2025 12:26:42 +0000 (14:26 +0200)]
dnsdist: two fixes to enable building on OpenBSD with quic enabled
Meson setup used:
meson setup build \
-Dlibedit=auto \
-Dcdb=auto \
-Dcpp_args=-DDISABLE_OCSP_STAPLING \
-Ddns-over-http3=enabled \
-Ddns-over-https=enabled \
-Ddns-over-quic=enabled \
-Ddns-over-tls=enabled \
-Dlmdb=enabled \
-Dsnmp=disabled \
-Dtls-gnutls=disabled \
-Dtls-libssl-dir=/usr/local/eboringssl \
-Dunit-tests=true \
-Dyaml=enabled \
-Ddnstap=enabled \
Otto Moerbeek [Fri, 16 May 2025 08:16:16 +0000 (10:16 +0200)]
Merge pull request #15563 from omoerbeek/dnsdist-warning
dnsdist: surpress a warning on macOS
Otto Moerbeek [Fri, 16 May 2025 08:16:02 +0000 (10:16 +0200)]
Merge pull request #15546 from omoerbeek/rec-meson-gen-deps-fix
rec [meson]: force some files to be regenerated when table.py changes
Otto Moerbeek [Fri, 16 May 2025 07:22:48 +0000 (09:22 +0200)]
dnsdist: surpress a warning on macOS
Otto Moerbeek [Fri, 16 May 2025 07:17:48 +0000 (09:17 +0200)]
Refactor as suggested by @miodvallat
Remi Gacogne [Fri, 16 May 2025 07:11:58 +0000 (09:11 +0200)]
dnsdist: Apply Miod's suggestion (thanks!)
Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Thu, 15 May 2025 13:52:24 +0000 (15:52 +0200)]
Merge pull request #15558 from rgacogne/ddist-ebpf-auto
dnsdist: Switch `eBPF` support to `auto` when building with `meson`
Remi Gacogne [Thu, 15 May 2025 13:48:37 +0000 (15:48 +0200)]
dnsdist: Fix a flaky Proxy Protocol regression test
Remi Gacogne [Thu, 15 May 2025 08:11:23 +0000 (10:11 +0200)]
dnsdist: Fix backend discovery regression test on GH action (again)
Apparently IPv6 is very flaky on GH actions these days, and I see
this test failing again and again because DNSdist cannot reliably
reach the servers over IPv6. IPv4 is fine from GH actions, v4 and
v6 are fine locally, so let's not fail in that case.
Remi Gacogne [Thu, 15 May 2025 08:43:12 +0000 (10:43 +0200)]
dnsdist: Explicitly enable eBPF support in our EL-based packages
Remi Gacogne [Thu, 15 May 2025 08:42:17 +0000 (10:42 +0200)]
dnsdist: Switch eBPF support to `auto` when building with `meson`
It used to be that way with `autotools` and I don't see any good
reason to disable it by default.
Remi Gacogne [Tue, 13 May 2025 09:33:18 +0000 (11:33 +0200)]
Merge pull request #15554 from rgacogne/ddist-fix-concurrent-connections-shards
dnsdist: Fix a crash in the TCP concurrent connections map
Remi Gacogne [Tue, 13 May 2025 07:20:22 +0000 (09:20 +0200)]
dnsdist: Fix a crash in the TCP concurrent connections map
The bug was introduced in
99d1e8f044d43b9a75ffc70fed22ea674a9b7859 .
Thanks to Robert Edmonds for finding, reporting and proposing a patch
fixing the issue!
Otto Moerbeek [Fri, 9 May 2025 14:18:10 +0000 (16:18 +0200)]
Use os.walk, as Path.walk is not always available
Remi Gacogne [Mon, 12 May 2025 12:22:34 +0000 (14:22 +0200)]
Merge pull request #15534 from rgacogne/ddist-fix-invalid-proxy-protocol-payload-size
dnsdist: Only set the proxy protocol payload size when actually added
Remi Gacogne [Mon, 12 May 2025 10:18:41 +0000 (12:18 +0200)]
Merge pull request #15539 from rgacogne/ddist-fix-set-api-writable
dnsdist: The second parameter to `setAPIWritable()` is optional
Remi Gacogne [Mon, 12 May 2025 10:17:18 +0000 (12:17 +0200)]
dnsdist: Add a regression test for "restart query w/o proxy protocol"
Remi Gacogne [Mon, 12 May 2025 10:16:37 +0000 (12:16 +0200)]
dnsdist: The PP mock backend has to copy the response before editing it
Remi Gacogne [Mon, 12 May 2025 10:15:24 +0000 (12:15 +0200)]
dnsdist: Reset the PP payload size when resetting the payload (restart)
We fixed that for UDP backends in a previous commit, but this was still
an issue for TCP-based backends.
Remi Gacogne [Mon, 12 May 2025 08:58:42 +0000 (10:58 +0200)]
dnsdist: Apply better syntax suggestion from Otto (thanks)
Otto Moerbeek [Fri, 9 May 2025 09:23:06 +0000 (11:23 +0200)]
When table.py changes, some files need to be regenerated, but cargo neglects that in some cases
Remi Gacogne [Wed, 7 May 2025 12:56:23 +0000 (14:56 +0200)]
dnsdist: As suggested by Miod's, add the new payload size to the initial value of zero
Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Wed, 7 May 2025 08:52:56 +0000 (10:52 +0200)]
dnsdist: Only set the proxy protocol payload size when actually added
I can think of two cases where we got this wrong:
- the query was initially assigned to a backend using the proxy protocol
payload, then later restarted and assigned to a backend not using it.
The proxy protocol payload size was then kept from the first assignment.
- we failed to actually prepend the proxy protocol payload but the payload
size was updated.
Both cases could cause a corrupted payload to be sent, or an exception to
be raised if the size of the proxy protocol payload was larger than the
size of the initial query.
Remi Gacogne [Wed, 7 May 2025 13:06:43 +0000 (15:06 +0200)]
dnsdist: The second parameter to `setAPIWritable()` is optional
This was broken
93cd7bf30d and not noticed because our regression
tests provide the optional parameter.
Peter van Dijk [Thu, 8 May 2025 13:29:53 +0000 (15:29 +0200)]
Merge pull request #15541 from rgacogne/ddist-gracefully-handle-missing-v6-in-backend-discovery
dnsdist: Gracefully handle missing v6 in backend discovery test
Otto Moerbeek [Thu, 8 May 2025 09:54:54 +0000 (11:54 +0200)]
Merge pull request #15544 from jpmens/patch-16
typo in pdns_server manpage
Jan-Piet Mens [Thu, 8 May 2025 09:17:37 +0000 (11:17 +0200)]
typo in pdns_server manpage
Remi Gacogne [Wed, 7 May 2025 15:00:28 +0000 (17:00 +0200)]
dnsdist: Be a bit more patient in the Backend Discovery test
Remi Gacogne [Wed, 7 May 2025 14:18:25 +0000 (16:18 +0200)]
dnsdist: Gracefully handle missing v6 in backend discovery test
This test has been randomly failing on GH actions lately, and it looks
like it is because we sometimes do not get the IPv6 addresses when
resolving `dns.quad9.net` via the system resolver.
Miod Vallat [Wed, 7 May 2025 10:32:55 +0000 (12:32 +0200)]
Merge pull request #15530 from miodvallat/CDXCV
auth-4.9.5 changelog & secpoll update
Miod Vallat [Mon, 28 Apr 2025 12:24:08 +0000 (14:24 +0200)]
auth-4.9.5 changelog & secpoll update
Remi Gacogne [Wed, 7 May 2025 07:23:20 +0000 (09:23 +0200)]
Merge pull request #15526 from rgacogne/ddist-deprecate-httpstatusaction-options
dnsdist: Deprecate the `options` parameter of `HTTPStatusAction`
Remi Gacogne [Tue, 6 May 2025 15:36:30 +0000 (17:36 +0200)]
Merge pull request #15528 from rgacogne/ddist-doc-fix-1.10-2.0.0
dnsdist: Fix references to 1.10 in the documentation: it's 2.0.0
Remi Gacogne [Tue, 6 May 2025 15:36:18 +0000 (17:36 +0200)]
Merge pull request #15527 from rgacogne/ddist-fix-yaml-doc
dnsdist: Fix outdated YAML settings documentation
Remi Gacogne [Tue, 6 May 2025 13:51:10 +0000 (15:51 +0200)]
dnsdist: Fix references to 1.10 in the documentation: it's 2.0.0