]>
git.ipfire.org Git - thirdparty/pdns.git/log
Peter van Dijk [Tue, 27 May 2025 13:25:43 +0000 (15:25 +0200)]
Revert "Harmonize EOL file name"
This reverts commit
c5c53393e558473c1c60acb1b43bc798e63c012e .
such changes make working with the tree hard, and they cause
404s -or- outdated pages on publication
Peter van Dijk [Tue, 27 May 2025 09:02:02 +0000 (11:02 +0200)]
Merge pull request #15589 from Habbie/auth-5-alpha1-docs
auth-5.0.0-alpha1: docs&secpoll
Peter van Dijk [Mon, 26 May 2025 09:16:07 +0000 (11:16 +0200)]
lmdb backend schema upgrade note
Peter van Dijk [Fri, 23 May 2025 17:37:14 +0000 (19:37 +0200)]
auth 5.0.0-alpha1: changelog & secpoll
Peter van Dijk [Fri, 23 May 2025 15:14:48 +0000 (17:14 +0200)]
no credits for Miod, sorry!
Peter van Dijk [Mon, 26 May 2025 13:37:14 +0000 (15:37 +0200)]
Merge pull request #15588 from jsoref/eol
Update EOL bits
Miod Vallat [Mon, 26 May 2025 12:53:53 +0000 (14:53 +0200)]
Merge pull request #15512 from miodvallat/blinds
Bind-style views
Peter van Dijk [Fri, 23 May 2025 14:50:05 +0000 (16:50 +0200)]
Introduce ZoneName::toStringFull to emit variant names...
...and use it for error report in ws-auth.
the size of this commit shows that perhaps we should have
ZoneName::toString() emit the variant. This commit will not
be folded into a previous one, so that it is easy to revert
and rework later.
Peter van Dijk [Fri, 23 May 2025 12:14:43 +0000 (14:14 +0200)]
set edns-subnet scope mask
Peter van Dijk [Thu, 22 May 2025 14:09:05 +0000 (16:09 +0200)]
auth-py: add lmdb variants testing
Miod Vallat [Wed, 7 May 2025 12:01:03 +0000 (14:01 +0200)]
Make increaseSOARecord and RFC2136 code variant-aware.
Miod Vallat [Wed, 7 May 2025 06:47:25 +0000 (08:47 +0200)]
Keep remote in Lua context, to make dblookup search within the current view.
Miod Vallat [Fri, 11 Apr 2025 08:49:57 +0000 (10:49 +0200)]
Add API networks and views testing.
Peter van Dijk [Tue, 6 May 2025 10:19:05 +0000 (12:19 +0200)]
replace soaData.qname by a getter based on zonename
Miod Vallat [Mon, 5 May 2025 13:35:06 +0000 (15:35 +0200)]
Try and build fewer ZoneName objects whenever possible.
Miod Vallat [Mon, 5 May 2025 11:57:55 +0000 (13:57 +0200)]
Document views.
Peter van Dijk [Wed, 30 Apr 2025 10:11:14 +0000 (12:11 +0200)]
Add -variant tests to lmdb, and enable these in CI.
Peter van Dijk [Wed, 30 Apr 2025 10:14:37 +0000 (12:14 +0200)]
Carry variant information in SOAData.
Use this in order to produce the correct RRSIGs and DNSKEYs.
Also, lowercase soaData.qname
Miod Vallat [Mon, 5 May 2025 06:24:52 +0000 (08:24 +0200)]
More use of domainid_t instead of int.
Miod Vallat [Fri, 25 Apr 2025 05:46:22 +0000 (07:46 +0200)]
Require explicit zone id values in lookup calls.
Annotate use of UnknownDomainID when it's safe to use.
Miod Vallat [Thu, 24 Apr 2025 10:19:58 +0000 (12:19 +0200)]
Add and test support for views in packet cache.
The packet cache data buckets are now set up in an unordered map
addressed by the view name.
Doing this also makes sure that, if the network configuration of a view
changes, the cache contents are still valid as long as there is no
change in the zones found in that view.
Peter van Dijk [Thu, 24 Apr 2025 13:16:52 +0000 (15:16 +0200)]
Support for views on AXFR.
Note that this causes somewhat important plumbing changes, getSOA will now
take an optional zone ID, which callers should provide if they know it, in
order to save a possible expensive getDomainInfo call.
Peter van Dijk [Mon, 7 Apr 2025 13:51:30 +0000 (15:51 +0200)]
First set of regression tests for views.
Peter van Dijk [Mon, 7 Apr 2025 13:25:39 +0000 (15:25 +0200)]
Introduce a Bind-style Views feature.
Add interfaces to the zone cache to get the view name from the
originating network address, and to retrieve the appropriate
variant name to use to update a ZoneName when necessary.
Allow updates from the http api.
Add zonecache unit test for views.
Peter van Dijk [Tue, 15 Apr 2025 13:13:09 +0000 (15:13 +0200)]
implement LMDB schema upgrade to v6
Peter van Dijk [Mon, 7 Apr 2025 13:24:50 +0000 (15:24 +0200)]
Preliminary views supports for LMDB.
Miod Vallat [Thu, 27 Mar 2025 16:04:45 +0000 (17:04 +0100)]
Naive plumbing of views and networks in the REST API.
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