]>
git.ipfire.org Git - thirdparty/pdns.git/log
Otto Moerbeek [Mon, 14 Apr 2025 16:12:46 +0000 (18:12 +0200)]
Merge pull request #15377 from omoerbeek/dnsdist-meson-alt-libssl
[meson] Allow alternate location for libssl
Otto Moerbeek [Mon, 14 Apr 2025 15:12:15 +0000 (17:12 +0200)]
Use link_args instead of adding to global link arguments
Remi Gacogne [Mon, 14 Apr 2025 14:08:10 +0000 (16:08 +0200)]
Merge pull request #15429 from rgacogne/rec-fix-typo-test_FWCatz
rec: Fix a typo in the FWCatz regression tests
Otto Moerbeek [Fri, 28 Mar 2025 09:55:14 +0000 (10:55 +0100)]
Allow alternate location for libssl
Needed at least on OpenBSD to get boringssl for dnsdist with quiche,
but other platforms might benefit as well
Remi Gacogne [Mon, 14 Apr 2025 13:46:00 +0000 (15:46 +0200)]
Merge pull request #15426 from rgacogne/ddist-document-how-to-remove-ecs
dnsdist: Document that `SetDisableECSAction` doesn't remove existing values
Remi Gacogne [Mon, 14 Apr 2025 13:45:42 +0000 (15:45 +0200)]
Merge pull request #15428 from rgacogne/ddist-resume-health-checks
dnsdist: Mention the lazy health-check option more often in the docs
Miod Vallat [Mon, 14 Apr 2025 13:33:27 +0000 (15:33 +0200)]
Merge pull request #15421 from miodvallat/a_zone_by_any_other_name
Introduce ZoneName
Remi Gacogne [Mon, 14 Apr 2025 13:22:01 +0000 (15:22 +0200)]
rec: Fix a typo in the FWCatz regression tests
Observed on GH actions:
```
test_FWCatz.py:353:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <test_FWCatz.FWCatzXFRRecursorTest testMethod=testFWCatz>
expected = {'forward_zones': [{'forwarders': ['1.2.3.4'], 'zone': 'c.'}]}
def checkForwards(self, expected):
attempts = 0
tries = 10
ex = None
while attempts < tries:
try:
with open('configs/' + self._confdir + '/catzone.forward.catz.') as file:
reality = yaml.safe_load(file);
if expected == reality:
return
except Exception as e:
ex = e
attempts = attempts + 1
> sleep(0.1)
E NameError: name 'sleep' is not defined
```
Remi Gacogne [Mon, 14 Apr 2025 13:07:11 +0000 (15:07 +0200)]
dnsdist: Mention the lazy health-check option more often in the docs
Remi Gacogne [Mon, 14 Apr 2025 12:43:35 +0000 (14:43 +0200)]
dnsdist: Document that `SetDisableECSAction` doesn't remove existing values
And document a possible work-around.
Peter van Dijk [Mon, 14 Apr 2025 09:22:27 +0000 (11:22 +0200)]
Merge pull request #15413 from romeroalx/pin-wheel
Pin the version of the python packages wheel and setuptools-git
Remi Gacogne [Mon, 14 Apr 2025 08:45:53 +0000 (10:45 +0200)]
Merge pull request #15418 from rgacogne/ddist-fix-tcp-only-cache
dnsdist: Fix cache lookup for unavailable TCP-only backends
Remi Gacogne [Mon, 14 Apr 2025 07:42:50 +0000 (09:42 +0200)]
dnsdist: Apply Otto's suggestions
Remi Gacogne [Mon, 14 Apr 2025 07:21:49 +0000 (09:21 +0200)]
Merge pull request #15423 from rgacogne/ddist-cache-tc-really
dnsdist: Add an option to cache truncated answers
Miod Vallat [Fri, 11 Apr 2025 16:37:01 +0000 (18:37 +0200)]
clang-tidy the previous clang-tidy run
Remi Gacogne [Fri, 11 Apr 2025 15:05:31 +0000 (17:05 +0200)]
Merge pull request #15355 from rgacogne/dnsdist-better-handling-exception-when-parsing-yaml
dnsdist: Better handling of exceptions raised during YAML parsing
Miod Vallat [Fri, 11 Apr 2025 13:58:11 +0000 (15:58 +0200)]
clang-tidy the previous clang-tidy run
Remi Gacogne [Fri, 11 Apr 2025 13:48:27 +0000 (15:48 +0200)]
dnsdist: Update outdated comment, as suggested by Miod (thanks!)
Miod Vallat [Fri, 11 Apr 2025 09:29:05 +0000 (11:29 +0200)]
Appease clang-tidy.
Miod Vallat [Fri, 11 Apr 2025 07:29:05 +0000 (09:29 +0200)]
Introduce ZoneName.
This is currently equivalent to DNSName and is intended to be used for,
well, zone names. This will allow specific processing later, and
currently make the areas where such names are used more visible.
This commit is mostly mechanical and introduces type changes in various
API and data fields.
Remi Gacogne [Thu, 10 Apr 2025 15:05:21 +0000 (17:05 +0200)]
dnsdist: Add an option to cache truncated answers
Remi Gacogne [Fri, 11 Apr 2025 12:12:15 +0000 (14:12 +0200)]
Merge pull request #15420 from rgacogne/ddist-add-binding-for-incoming-interface
dnsdist: Add Lua bindings for the incoming network interface
Remi Gacogne [Fri, 11 Apr 2025 11:49:26 +0000 (13:49 +0200)]
Merge pull request #15419 from rgacogne/ddist-cache-tc
dnsdist: Refactor the packet cache settings
Remi Gacogne [Fri, 11 Apr 2025 10:41:30 +0000 (12:41 +0200)]
dnsdist: Fix clang-tidy warning introduced by fixing another clang-tidy warning introduced by..
Remi Gacogne [Fri, 11 Apr 2025 07:44:16 +0000 (09:44 +0200)]
dnsdist: Make clang-tidy happy by passing the settings by value
Remi Gacogne [Fri, 4 Apr 2025 10:08:45 +0000 (12:08 +0200)]
dnsdist: Refactor the packet cache settings
Remi Gacogne [Fri, 11 Apr 2025 10:07:01 +0000 (12:07 +0200)]
dnsdist: Fix clang-tidy's warning
Remi Gacogne [Fri, 11 Apr 2025 09:35:08 +0000 (11:35 +0200)]
Add VRF to the list of allowed words
Remi Gacogne [Fri, 11 Apr 2025 09:28:51 +0000 (11:28 +0200)]
dnsdist: Add Lua bindings for the incoming network interface
This is useful in Virtual Routing and Forwarding (VRF) environments
where the destination IP address might not be enough to identify the VRF.
Remi Gacogne [Thu, 10 Apr 2025 14:04:04 +0000 (16:04 +0200)]
dnsdist: Add a regression test for cache lookups w/ unavailable cache-only backends
Remi Gacogne [Thu, 10 Apr 2025 13:53:08 +0000 (15:53 +0200)]
Merge pull request #15416 from rgacogne/ddist-fix-quic-sni-meson
dnsdist: Fix two issues when building with `meson`
Remi Gacogne [Thu, 10 Apr 2025 13:49:51 +0000 (15:49 +0200)]
dnsdist: Fix cache lookup for unavailable TCP-only backends
Remi Gacogne [Thu, 10 Apr 2025 11:02:39 +0000 (13:02 +0200)]
dnsdist: Fix building with OpenSSL providers enabled
Remi Gacogne [Thu, 10 Apr 2025 10:51:32 +0000 (12:51 +0200)]
dnsdist: Fix the version check for OpenSSL when providers are enabled
Remi Gacogne [Thu, 10 Apr 2025 10:50:32 +0000 (12:50 +0200)]
dnsdist: Properly detect Quiche functions with meson
We forgot to check for the availability of `quiche_conn_server_name`
when we migrated from `autotools` to `meson`.
Remi Gacogne [Thu, 10 Apr 2025 10:13:10 +0000 (12:13 +0200)]
Merge pull request #15387 from rgacogne/ddist-share-stek-context-identical-frontends
dnsdist: Share tickets key between identical frontends created via YAML
Remi Gacogne [Thu, 10 Apr 2025 09:13:49 +0000 (11:13 +0200)]
dnsdist: Document how STEKs are managed in frontend groups
Miod Vallat [Thu, 10 Apr 2025 09:07:48 +0000 (11:07 +0200)]
Merge pull request #15415 from miodvallat/web_disservice
[auth] minor web service cleanup
Miod Vallat [Thu, 10 Apr 2025 05:59:40 +0000 (07:59 +0200)]
Replace the two lists of metadata keywords with a single list of pairs.
This removes the need for a second search in order to figure out whether
the metadata is write-protected from the API.
Miod Vallat [Thu, 10 Apr 2025 05:51:18 +0000 (07:51 +0200)]
Clean metadata lists.
- remove duplicate entries
- remove leftover mention of API-RECTIFY in readonly list.
Remi Gacogne [Thu, 10 Apr 2025 08:33:14 +0000 (10:33 +0200)]
Merge pull request #15407 from rgacogne/ddist-fix-doh3-without-doh
dnsdist: Fix compilation with DoH3 enabled and DoH disabled
Miod Vallat [Thu, 10 Apr 2025 05:49:39 +0000 (07:49 +0200)]
Sort metada name lists.
romeroalx [Wed, 9 Apr 2025 13:03:36 +0000 (15:03 +0200)]
pin version of wheel and setuptools-git packages
Otto Moerbeek [Wed, 9 Apr 2025 08:35:26 +0000 (10:35 +0200)]
Merge pull request #15408 from omoerbeek/rec-prep-
20250409
rec: Prep for rec
20250409 releases
Otto Moerbeek [Wed, 9 Apr 2025 07:45:18 +0000 (09:45 +0200)]
Typo in version
Miod Vallat [Wed, 9 Apr 2025 06:43:45 +0000 (08:43 +0200)]
Merge pull request #15399 from miodvallat/ignoreland
.gitignore glitch
Otto Moerbeek [Tue, 8 Apr 2025 12:34:59 +0000 (14:34 +0200)]
Prep for rec
20350409 releases
Otto Moerbeek [Tue, 8 Apr 2025 08:56:46 +0000 (10:56 +0200)]
Merge pull request #15402 from PowerDNS/dependabot/cargo/pdns/recursordist/rec-rust-lib/rust/tokio-1.43.1
build(deps): bump tokio from 1.43.0 to 1.43.1 in /pdns/recursordist/rec-rust-lib/rust
Remi Gacogne [Tue, 8 Apr 2025 08:05:52 +0000 (10:05 +0200)]
dnsdist: Fix compilation with DoH3 enabled and DoH disabled
While unusual, this is a completely valid setup.
dependabot[bot] [Tue, 8 Apr 2025 02:12:35 +0000 (02:12 +0000)]
build(deps): bump tokio in /pdns/recursordist/rec-rust-lib/rust
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.43.0 to 1.43.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.43.0...tokio-1.43.1)
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.43.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Miod Vallat [Mon, 7 Apr 2025 13:29:25 +0000 (15:29 +0200)]
Fix name of tsig_tests binary in .gitignore
Otto Moerbeek [Mon, 7 Apr 2025 12:45:41 +0000 (14:45 +0200)]
Merge pull request #15397 from omoerbeek/rec-prep-5.2.1
rec: prep for rec-5.2.1
Otto Moerbeek [Mon, 7 Apr 2025 11:06:10 +0000 (13:06 +0200)]
rec: prep for rec-5.2.1
Otto Moerbeek [Mon, 7 Apr 2025 12:21:09 +0000 (14:21 +0200)]
Merge pull request #15396 from omoerbeek/rec-cname-to-auth
rec: rework of #14822: fix a difference between record-cache hit and miss in some ServFail results
Miod Vallat [Mon, 7 Apr 2025 10:52:13 +0000 (12:52 +0200)]
Merge pull request #15382 from miodvallat/i_lost_at_jeopardy
[auth] Backend capabilities
Peter van Dijk [Mon, 7 Apr 2025 10:51:25 +0000 (12:51 +0200)]
Merge pull request #15375 from Habbie/ci-postgres-14
CI: bump postgres version
Miod Vallat [Mon, 7 Apr 2025 10:12:07 +0000 (12:12 +0200)]
Better future-proof logic.
Miod Vallat [Thu, 3 Apr 2025 06:45:47 +0000 (08:45 +0200)]
Better error report when zone creation is not possible.
Fixes #5783
Fixes #6954
Miod Vallat [Thu, 3 Apr 2025 06:30:44 +0000 (08:30 +0200)]
Add a "can create domains" capability.
Miod Vallat [Mon, 31 Mar 2025 14:23:32 +0000 (16:23 +0200)]
Check backend capabilities before attempting some operations.
This allows us to give better error messages to the users.
Fixes: #15006
Miod Vallat [Mon, 31 Mar 2025 14:08:40 +0000 (16:08 +0200)]
Allow backends to report a coarse-grained capabilities mask.
The current capabilities are DNSSEC supports, comments, direct backend
commands, and zone listing (AXFR) ability.
doesDNSSEC() is rewritten as a trivial wrapper around this.
Miod Vallat [Mon, 7 Apr 2025 09:28:30 +0000 (11:28 +0200)]
Merge pull request #15379 from miodvallat/if_i_could_only_cflags_it_down
Minor build system tweaks
Remi Gacogne [Mon, 7 Apr 2025 09:01:29 +0000 (11:01 +0200)]
Merge pull request #15392 from rgacogne/ddist-python-man-pages-not-found
dnsdist with meson: Do not try to get the version/path of Python if not found
Otto Moerbeek [Mon, 17 Mar 2025 13:19:50 +0000 (14:19 +0100)]
rec: rework of #14822: fix a difference between record-cache hit and miss in some ServFail results
Fixes: CNAME with target non-existent record in auth zone causes segfault
Miod Vallat [Mon, 7 Apr 2025 08:01:18 +0000 (10:01 +0200)]
Merge pull request #14840 from ukleinek/backend-docs
Update Backend docs
Remi Gacogne [Fri, 4 Apr 2025 12:37:20 +0000 (14:37 +0200)]
Merge pull request #15394 from rgacogne/fix-auth-apt-404
tasks: Run apt-get update before installing auth test deps
Remi Gacogne [Fri, 4 Apr 2025 10:09:33 +0000 (12:09 +0200)]
tasks: Run apt-get update before installing auth test deps
Otherwise we might be trying to install a version that is no longer
present in the repository, yielding a 404 error.
Remi Gacogne [Thu, 3 Apr 2025 15:21:54 +0000 (17:21 +0200)]
dnsdist: Do not try to get the version/path of Python if not found
Remi Gacogne [Wed, 2 Apr 2025 13:53:01 +0000 (15:53 +0200)]
Merge pull request #15385 from rgacogne/ddist-enable-quiche-sni-tests
dnsdist: Enable the DoQ and DoH3 parts of the SNI tests in our CI
Remi Gacogne [Wed, 2 Apr 2025 13:31:26 +0000 (15:31 +0200)]
dnsdist: Check identical frontends get the same STEK
Remi Gacogne [Wed, 2 Apr 2025 10:54:48 +0000 (12:54 +0200)]
dnsdist: Remove now useless comment in the SNI regression tests
Remi Gacogne [Mon, 3 Mar 2025 15:57:42 +0000 (16:57 +0100)]
dnsdist: Don't try to get TLS contexts for DoQ and DoH3 frontends
Right now the BoringSSL context is handled by Quiche and we do not
mess with it.
Remi Gacogne [Mon, 3 Mar 2025 10:57:54 +0000 (11:57 +0100)]
dnsdist: Share tickets key between identical frontends created via YAML
Using the same Session Ticket Encryption Key on identical frontends
allow TLS sessions to be resumed in a much more efficient way, reducing
the latency and CPU usage. While it was already possible to do so by
manually managing the STEK, the default behaviour was to create and use
a different STEK for each frontend, because our Lua configuration makes
it almost impossible to ensure that two frontends are identical.
This is not an issue with the new YAML configuration format, so let's
share the STEK automatically in this case.
This needs a regression test.
Remi Gacogne [Wed, 2 Apr 2025 08:07:01 +0000 (10:07 +0200)]
dnsdist: Enable the DoQ and DoH3 parts of the SNI tests in our CI
We now build with Quiche >= 0.23.2 so we can enable them.
Remi Gacogne [Mon, 31 Mar 2025 09:50:37 +0000 (11:50 +0200)]
Merge pull request #15380 from rgacogne/ddist-async-tests-unlink-exception
dnsdist: Fix a TOCTOU in the Async regression tests
Remi Gacogne [Mon, 31 Mar 2025 09:10:34 +0000 (11:10 +0200)]
dnsdist: Fix a TOCTOU in the Async regression tests
The existing code was catching all exceptions based on `OSError`
raised by a call to `os.unlink()` , and re-throwing if the file
actually existed, in an attempt to only ignore the case where
the file did not exist and still fail if the process did not
have enough rights to remove it, for example.
Unfortunately this construct introduced a TOCTOU issue, where the
initial exception might have been raised because the file did not
exist at the time of the call, resulting in a `FileNotFoundError`
exception being raised, but had been created before the existence
check, resulting in a puzzling message:
```
ready: 8/8 workersException in thread Asynchronous Responder:
Traceback (most recent call last):
File "/usr/lib/python3.13/threading.py", line 992, in run
self._target(*self._args, **self._kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/pdns/regression-tests.dnsdist/test_Async.py", line 17, in AsyncResponder
os.unlink(listenPath)
~~~~~~~~~^^^^^^^^^^^^
8 workers [816 items]
```
The new code only catches `FileNotFoundError` instead, so that
other errors are still causing a failure without needing a second
check.
Remi Gacogne [Mon, 31 Mar 2025 08:17:31 +0000 (10:17 +0200)]
Merge pull request #15306 from rgacogne/ddist-exit-callbacks
dnsdist: Add support for calling Lua methods when exiting
Miod Vallat [Mon, 31 Mar 2025 06:39:50 +0000 (08:39 +0200)]
Pass -DPDNS_AUTH when building the authoritative server.
Miod Vallat [Mon, 31 Mar 2025 06:33:57 +0000 (08:33 +0200)]
Put DNSDIST or RECURSOR in CPPFLAGS rather than in config.h.
This matches what the meson build does.
Peter van Dijk [Fri, 28 Mar 2025 12:27:46 +0000 (13:27 +0100)]
CI: bump postgres version
Otto Moerbeek [Fri, 28 Mar 2025 09:53:19 +0000 (10:53 +0100)]
Merge pull request #15373 from omoerbeek/rec-nod-meson
rec: [meson] make nod a feature instead of a boolean
Remi Gacogne [Fri, 28 Mar 2025 09:40:13 +0000 (10:40 +0100)]
Merge pull request #15290 from franklouwers/patch-1
Update actions.rst: `SpoofAction()`
Otto Moerbeek [Mon, 24 Mar 2025 08:35:29 +0000 (09:35 +0100)]
rec: make nod a feature instead of a boolean
Remi Gacogne [Fri, 28 Mar 2025 08:49:32 +0000 (09:49 +0100)]
Merge pull request #15362 from rgacogne/ddist-do-not-register-xsk-config-check-or-client
dnsdist: Do not register Xsk sockets on configuration check or client mode
Otto Moerbeek [Fri, 28 Mar 2025 08:41:44 +0000 (09:41 +0100)]
Merge pull request #15361 from omoerbeek/dnsdist-trixie2
dnsdist: followup to #15326 (fix build on trixie), package name typo crept in
Miod Vallat [Fri, 28 Mar 2025 08:33:57 +0000 (09:33 +0100)]
Merge pull request #15265 from tacerus/unixapi
Auth webserver Unix socket support
Miod Vallat [Thu, 27 Mar 2025 16:03:01 +0000 (17:03 +0100)]
Merge pull request #15371 from jsoref/docs-nsec
Docs nsec
Josh Soref [Thu, 27 Mar 2025 15:30:39 +0000 (11:30 -0400)]
docs: Simplify wording
Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Josh Soref [Thu, 27 Mar 2025 14:51:57 +0000 (10:51 -0400)]
docs: rewrite TTL usage NSEC note
Write note based on current behaviour, not behaviour prior to 4.3.0.
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 27 Mar 2025 14:51:29 +0000 (10:51 -0400)]
docs: nsec/nsec3 records
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 27 Mar 2025 14:51:17 +0000 (10:51 -0400)]
docs: nsec/nsec3
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Otto Moerbeek [Thu, 27 Mar 2025 11:02:57 +0000 (12:02 +0100)]
Merge pull request #15369 from omoerbeek/rust-cxx-gen-location
When CARGO_TARGET_DIR is set the generated C++ files end up in a different location
Otto Moerbeek [Thu, 27 Mar 2025 11:02:12 +0000 (12:02 +0100)]
Merge pull request #15368 from omoerbeek/rec-docker-startup-template
rec: fix generation of recursor config if PDNS_RECURSOR_API_KEY is set
Remi Gacogne [Thu, 27 Mar 2025 10:30:28 +0000 (11:30 +0100)]
Merge pull request #15356 from rgacogne/ddist-missing-lua-function-name
dnsdist: Better handling of non-existent Lua function name in YAML
Remi Gacogne [Thu, 27 Mar 2025 09:41:19 +0000 (10:41 +0100)]
dnsdist: Fix build on amazonlinux 2023
Otto Moerbeek [Tue, 25 Mar 2025 08:55:04 +0000 (09:55 +0100)]
dnsdist: followup to #15326 (fix build on trixie), package name typo crept in
This time actually tested!
Remi Gacogne [Tue, 25 Mar 2025 09:55:10 +0000 (10:55 +0100)]
dnsdist: Do not register Xsk sockets on configuration check or client mode
It does not make sense, and in some cases might lead to a crash
because the Xsk socket is actually an empty shared pointer in client
mode.
Remi Gacogne [Thu, 27 Mar 2025 08:40:47 +0000 (09:40 +0100)]
Merge pull request #15331 from rgacogne/ddist-meson-detection
Do not auto-enable disabled features when building with meson
Remi Gacogne [Thu, 27 Mar 2025 08:40:26 +0000 (09:40 +0100)]
Merge pull request #15351 from rgacogne/fix-yaml-bindings
dnsdist: Load Lua bindings before parsing yaml configuration
Remi Gacogne [Thu, 27 Mar 2025 08:40:04 +0000 (09:40 +0100)]
Merge pull request #15357 from rgacogne/ddist-doc-yaml-lua-options
dnsdist: Document how Lua functions can be called from YAML