]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
12 months agoMerge pull request #15399 from miodvallat/ignoreland
Miod Vallat [Wed, 9 Apr 2025 06:43:45 +0000 (08:43 +0200)] 
Merge pull request #15399 from miodvallat/ignoreland

.gitignore glitch

12 months agoPrep for rec 20350409 releases
Otto Moerbeek [Tue, 8 Apr 2025 12:34:59 +0000 (14:34 +0200)] 
Prep for rec 20350409 releases

12 months agoMerge pull request #15402 from PowerDNS/dependabot/cargo/pdns/recursordist/rec-rust...
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

12 months agodnsdist: Fix compilation with DoH3 enabled and DoH disabled 15407/head
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.

12 months agobuild(deps): bump tokio in /pdns/recursordist/rec-rust-lib/rust 15402/head
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>
12 months agoFix name of tsig_tests binary in .gitignore 15399/head
Miod Vallat [Mon, 7 Apr 2025 13:29:25 +0000 (15:29 +0200)] 
Fix name of tsig_tests binary in .gitignore

12 months agoMerge pull request #15397 from omoerbeek/rec-prep-5.2.1
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

12 months agorec: prep for rec-5.2.1 15397/head
Otto Moerbeek [Mon, 7 Apr 2025 11:06:10 +0000 (13:06 +0200)] 
rec: prep for rec-5.2.1

12 months agoMerge pull request #15396 from omoerbeek/rec-cname-to-auth
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

12 months agoMerge pull request #15382 from miodvallat/i_lost_at_jeopardy
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

12 months agoMerge pull request #15375 from Habbie/ci-postgres-14
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

12 months agoBetter future-proof logic. 15382/head
Miod Vallat [Mon, 7 Apr 2025 10:12:07 +0000 (12:12 +0200)] 
Better future-proof logic.

12 months agoBetter error report when zone creation is not possible.
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

12 months agoAdd a "can create domains" capability.
Miod Vallat [Thu, 3 Apr 2025 06:30:44 +0000 (08:30 +0200)] 
Add a "can create domains" capability.

12 months agoCheck backend capabilities before attempting some operations.
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
12 months agoAllow backends to report a coarse-grained capabilities mask.
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.

12 months agoMerge pull request #15379 from miodvallat/if_i_could_only_cflags_it_down
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

12 months agoMerge pull request #15392 from rgacogne/ddist-python-man-pages-not-found
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

12 months agorec: rework of #14822: fix a difference between record-cache hit and miss in some... 15396/head
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
12 months agoMention which backends support search operations.
Miod Vallat [Mon, 31 Mar 2025 10:10:02 +0000 (12:10 +0200)] 
Mention which backends support search operations.

12 months agoMerge pull request #14840 from ukleinek/backend-docs
Miod Vallat [Mon, 7 Apr 2025 08:01:18 +0000 (10:01 +0200)] 
Merge pull request #14840 from ukleinek/backend-docs

Update Backend docs

12 months agoAdd regression test case for timeout response action
Oliver Chen [Sat, 5 Apr 2025 05:05:17 +0000 (05:05 +0000)] 
Add regression test case for timeout response action

12 months agoMerge pull request #15394 from rgacogne/fix-auth-apt-404
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

12 months agotasks: Run apt-get update before installing auth test deps 15394/head
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.

12 months agoReplace nested if with switch. 15393/head
Miod Vallat [Fri, 4 Apr 2025 09:10:30 +0000 (11:10 +0200)] 
Replace nested if with switch.

12 months agoKeep the retarget loop logic in one place.
Miod Vallat [Fri, 4 Apr 2025 08:56:14 +0000 (10:56 +0200)] 
Keep the retarget loop logic in one place.

12 months agoThrow enough bones to clang-tidy
Miod Vallat [Fri, 4 Apr 2025 08:22:58 +0000 (10:22 +0200)] 
Throw enough bones to clang-tidy

12 months agoSplit handling of Query opcode, step 2/2.
Miod Vallat [Fri, 4 Apr 2025 07:10:38 +0000 (09:10 +0200)] 
Split handling of Query opcode, step 2/2.

Gets rid of the "retargeted" goto label.

12 months agoSplit handling of Query opcode, step 1/2.
Miod Vallat [Fri, 4 Apr 2025 06:16:09 +0000 (08:16 +0200)] 
Split handling of Query opcode, step 1/2.

Gets rid of the "sendit" goto label.

12 months agoSplit PacketHandler::doQuestion into per-opcode routines.
Miod Vallat [Fri, 4 Apr 2025 05:39:56 +0000 (07:39 +0200)] 
Split PacketHandler::doQuestion into per-opcode routines.

12 months agoFix build errors with no DoH, address PR comments
Oliver Chen [Fri, 4 Apr 2025 03:27:21 +0000 (03:27 +0000)] 
Fix build errors with no DoH, address PR comments

12 months agodnsdist: Do not try to get the version/path of Python if not found 15392/head
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

12 months agoAllow the default ZoneParserTNG TTL to be modified. 15389/head
Miod Vallat [Thu, 3 Apr 2025 10:08:48 +0000 (12:08 +0200)] 
Allow the default ZoneParserTNG TTL to be modified.

Fixes #8494

12 months agoEnhancement to support rule action for query timeout case
Oliver Chen [Thu, 3 Apr 2025 02:40:45 +0000 (02:40 +0000)] 
Enhancement to support rule action for query timeout case

The dnsdist already supports all types of error response code rule action
except timeout. Users may want to use the same feature for timeout case.

12 months agoMerge pull request #15385 from rgacogne/ddist-enable-quiche-sni-tests
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

12 months agodnsdist: Check identical frontends get the same STEK
Remi Gacogne [Wed, 2 Apr 2025 13:31:26 +0000 (15:31 +0200)] 
dnsdist: Check identical frontends get the same STEK

12 months agodnsdist: Remove now useless comment in the SNI regression tests 15385/head
Remi Gacogne [Wed, 2 Apr 2025 10:54:48 +0000 (12:54 +0200)] 
dnsdist: Remove now useless comment in the SNI regression tests

12 months agodnsdist: Don't try to get TLS contexts for DoQ and DoH3 frontends
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.

12 months agodnsdist: Share tickets key between identical frontends created via YAML
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.

12 months agodnsdist: Enable the DoQ and DoH3 parts of the SNI tests in our CI
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.

12 months agodnsdist: Add regression tests for the new TCP/TLS DoS mitigation options
Remi Gacogne [Mon, 31 Mar 2025 14:19:31 +0000 (16:19 +0200)] 
dnsdist: Add regression tests for the new TCP/TLS DoS mitigation options

12 months agodnsdist: Add mitigations against misbehaving TCP/TLS clients
Remi Gacogne [Fri, 28 Mar 2025 14:52:08 +0000 (15:52 +0100)] 
dnsdist: Add mitigations against misbehaving TCP/TLS clients

This commit adds several mitigations against misbehaving TCP/TLS clients:
- when a client is near the limit of concurrent TCP connections it is
allowed to have, the number of DNS queries over a single TCP connection
is restricted to 1 and the idle timout is reduced to 500 ms
- the same restrictions are applied to all connections if the frontend
is near the limit of concurrent TCP connections
- a limit of 50 read I/O events per query is enforced on incoming TCP
connections, to prevent a connection from continuously sending very small
packets to keep the worker busy. Clients exceeding this limit can
be prevented from opening new TCP connections for a configurable
amount of time
- three new configurable rates are introduced: new TCP connections
per second per client, new TLS sessions per second per client,
resumed TLS sessions per secondper client. Clients exceeding these
rates can be prevented from opening new TCP connections for a
configurable amount of time

12 months agoMerge pull request #15380 from rgacogne/ddist-async-tests-unlink-exception
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

12 months agodnsdist: Fix a TOCTOU in the Async regression tests 15380/head
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.

12 months agoMerge pull request #15306 from rgacogne/ddist-exit-callbacks
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

12 months agoPass -DPDNS_AUTH when building the authoritative server. 15379/head
Miod Vallat [Mon, 31 Mar 2025 06:39:50 +0000 (08:39 +0200)] 
Pass -DPDNS_AUTH when building the authoritative server.

12 months agoPut DNSDIST or RECURSOR in CPPFLAGS rather than in config.h.
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.

12 months agodnsdist: Generate YAML items config files in the right folder with meson
Remi Gacogne [Fri, 28 Mar 2025 14:51:02 +0000 (15:51 +0100)] 
dnsdist: Generate YAML items config files in the right folder with meson

Otherwise the changes are not picked up by git.

12 months agoCI: bump postgres version 15375/head
Peter van Dijk [Fri, 28 Mar 2025 12:27:46 +0000 (13:27 +0100)] 
CI: bump postgres version

12 months agoMerge pull request #15373 from omoerbeek/rec-nod-meson
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

12 months agoMerge pull request #15290 from franklouwers/patch-1
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()`

12 months agorec: make nod a feature instead of a boolean 15373/head
Otto Moerbeek [Mon, 24 Mar 2025 08:35:29 +0000 (09:35 +0100)] 
rec: make nod a feature instead of a boolean

12 months agoMerge pull request #15362 from rgacogne/ddist-do-not-register-xsk-config-check-or...
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

12 months agoMerge pull request #15361 from omoerbeek/dnsdist-trixie2
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

12 months agoMerge pull request #15265 from tacerus/unixapi
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

12 months agoMerge pull request #15371 from jsoref/docs-nsec
Miod Vallat [Thu, 27 Mar 2025 16:03:01 +0000 (17:03 +0100)] 
Merge pull request #15371 from jsoref/docs-nsec

Docs nsec

12 months agodocs: Simplify wording 15371/head
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>
12 months agodocs: rewrite TTL usage NSEC note
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>
12 months agodocs: nsec/nsec3 records
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>
12 months agodocs: nsec/nsec3
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>
12 months agoMerge pull request #15369 from omoerbeek/rust-cxx-gen-location
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

12 months agoMerge pull request #15368 from omoerbeek/rec-docker-startup-template
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

12 months agoMerge pull request #15356 from rgacogne/ddist-missing-lua-function-name
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

12 months agodnsdist: Fix build on amazonlinux 2023 15361/head
Remi Gacogne [Thu, 27 Mar 2025 09:41:19 +0000 (10:41 +0100)] 
dnsdist: Fix build on amazonlinux 2023

12 months agodnsdist: followup to #15326 (fix build on trixie), package name typo crept in
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!

12 months agodnsdist: Do not register Xsk sockets on configuration check or client mode 15362/head
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.

12 months agoMerge pull request #15331 from rgacogne/ddist-meson-detection
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

12 months agoMerge pull request #15351 from rgacogne/fix-yaml-bindings
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

12 months agoMerge pull request #15357 from rgacogne/ddist-doc-yaml-lua-options
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

12 months agoMerge pull request #15370 from miodvallat/strcasestr
Miod Vallat [Thu, 27 Mar 2025 08:35:54 +0000 (09:35 +0100)] 
Merge pull request #15370 from miodvallat/strcasestr

bye bye strcasestr

12 months agoNo need to check for or provide strcaststr() anymore. 15370/head
Miod Vallat [Thu, 27 Mar 2025 07:58:47 +0000 (08:58 +0100)] 
No need to check for or provide strcaststr() anymore.

13 months agoWhen CARGO_TARGET_DIR is set the generated C++ file send up in a different location 15369/head
Otto Moerbeek [Wed, 26 Mar 2025 14:19:07 +0000 (15:19 +0100)] 
When CARGO_TARGET_DIR is set the generated C++ file send up in a different location

This happens on OpenBSD package build

13 months agorec: fix generation of recursor config if PDNS_RECURSOR_API_KEY is set 15368/head
Otto Moerbeek [Wed, 26 Mar 2025 13:44:43 +0000 (14:44 +0100)] 
rec: fix generation of recursor config if PDNS_RECURSOR_API_KEY is set

Fixes #15367

13 months agoMerge pull request #15360 from milzi234/bugfix/add-keyblock-asc
Peter van Dijk [Tue, 25 Mar 2025 12:39:30 +0000 (13:39 +0100)] 
Merge pull request #15360 from milzi234/bugfix/add-keyblock-asc

Restores powerdns-keyblocks.asc to doc.powerdns.com

13 months agomeson: Delint the DoT, DoH, DoQ and DoH3 code, as suggested by Otto 15331/head
Remi Gacogne [Mon, 24 Mar 2025 10:33:32 +0000 (11:33 +0100)] 
meson: Delint the DoT, DoH, DoQ and DoH3 code, as suggested by Otto

13 months agomeson: Optionally enable OpenSSL engines for DNSdist
Remi Gacogne [Fri, 21 Mar 2025 13:56:49 +0000 (14:56 +0100)] 
meson: Optionally enable OpenSSL engines for DNSdist

13 months agomeson: DoH, DoH3, DoQ and DoT are now features, not options
Remi Gacogne [Fri, 21 Mar 2025 14:04:37 +0000 (15:04 +0100)] 
meson: DoH, DoH3, DoQ and DoT are now features, not options

13 months agomeson: Make SNMP support a feature, not an option
Remi Gacogne [Fri, 21 Mar 2025 14:02:37 +0000 (15:02 +0100)] 
meson: Make SNMP support a feature, not an option

13 months agomeson: Fix a few consistency nits
Remi Gacogne [Fri, 21 Mar 2025 14:01:21 +0000 (15:01 +0100)] 
meson: Fix a few consistency nits

13 months agodnsdist: Fix CDB being automatically picked up when disabled
Remi Gacogne [Fri, 21 Mar 2025 13:58:58 +0000 (14:58 +0100)] 
dnsdist: Fix CDB being automatically picked up when disabled

13 months agodnsdist: Fix a harmless but ugly TOCTOU in the regression tests 15351/head
Remi Gacogne [Tue, 25 Mar 2025 09:05:28 +0000 (10:05 +0100)] 
dnsdist: Fix a harmless but ugly TOCTOU in the regression tests

As suggested by Miod (thanks!).

13 months agodnsdist: Load Lua bindings before parsing yaml configuration
Remi Gacogne [Mon, 24 Mar 2025 11:46:42 +0000 (12:46 +0100)] 
dnsdist: Load Lua bindings before parsing yaml configuration

We need the Lua bindings so that inline and loaded from a file Lua
syntax work. Our regression tests did not catch this because the
setup always created an empty Lua file, causing the Lua bindings to
be loaded. This commit also fixes that by not creating (and removing
if needed) empty Lua files in the regression tests setup.

13 months agodnsdist: Apply Miod's lua -> Lua suggestion 15356/head
Remi Gacogne [Tue, 25 Mar 2025 09:00:49 +0000 (10:00 +0100)] 
dnsdist: Apply Miod's lua -> Lua suggestion

Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
13 months agodnsdist: Apply Miod's suggestions to the Lua Action documentation 15357/head
Remi Gacogne [Tue, 25 Mar 2025 08:58:44 +0000 (09:58 +0100)] 
dnsdist: Apply Miod's suggestions to the Lua Action documentation

13 months agoRestores powerdns-keyblocks.asc to doc.powerdns.com 15360/head
milzi234 [Tue, 25 Mar 2025 06:26:41 +0000 (07:26 +0100)] 
Restores powerdns-keyblocks.asc to doc.powerdns.com

13 months agodnsdist: Document how Lua functions can be called from YAML
Remi Gacogne [Mon, 24 Mar 2025 16:22:00 +0000 (17:22 +0100)] 
dnsdist: Document how Lua functions can be called from YAML

13 months agodnsdist: Better handling of non-existent Lua function name in YAML
Remi Gacogne [Mon, 24 Mar 2025 15:37:58 +0000 (16:37 +0100)] 
dnsdist: Better handling of non-existent Lua function name in YAML

This commit changes the way DNSdist handles a non-existent Lua function
name being referenced from the YAML configuration: instead of silently
ignoring the problem, it loudly complains before exiting.

13 months agodnsdist: Better handling of exceptions raised during YAML parsing 15355/head
Remi Gacogne [Mon, 24 Mar 2025 15:29:45 +0000 (16:29 +0100)] 
dnsdist: Better handling of exceptions raised during YAML parsing

This commit changes the way exceptions raised during the YAML configuration
parsing are handled. I previously overlooked the way `cxx` handles exceptions
raised from a C++ code called from Rust:
```
If an exception is thrown from an extern "C++" function that is not declared
by the CXX bridge to return Result, the program calls C++'s std::terminate.
The behavior is equivalent to the same exception being thrown through a
noexcept C++ function.
```

Calling `std::terminate` is obviously not what we want, so this commit
declares that all C++ functions callable by Rust can raise exceptions,
and adds the required code to properly process these exceptions on the
Rust side of things.

13 months agoMerge pull request #15197 from miodvallat/smarter_soa
Miod Vallat [Mon, 24 Mar 2025 15:01:53 +0000 (16:01 +0100)] 
Merge pull request #15197 from miodvallat/smarter_soa

[pdnsutil] Suggest increase-serial after create-zone

13 months agoMerge pull request #15334 from miodvallat/zaml
Miod Vallat [Mon, 24 Mar 2025 15:01:03 +0000 (16:01 +0100)] 
Merge pull request #15334 from miodvallat/zaml

[geoip] Try and be more helpful in YAML error exceptions

13 months agoMerge pull request #15353 from omoerbeek/auth-prim-logstring
Peter van Dijk [Mon, 24 Mar 2025 14:46:15 +0000 (15:46 +0100)] 
Merge pull request #15353 from omoerbeek/auth-prim-logstring

auth: fix log string in case there are notifies needed

13 months agoauth: fix log string in case there are notifies needed 15353/head
Otto Moerbeek [Mon, 24 Mar 2025 14:12:26 +0000 (15:12 +0100)] 
auth: fix log string in case there are notifies needed

13 months agoMerge pull request #15352 from omoerbeek/rec-simpedottest
Otto Moerbeek [Mon, 24 Mar 2025 14:11:19 +0000 (15:11 +0100)] 
Merge pull request #15352 from omoerbeek/rec-simpedottest

rec: in test_SimpleDot.py make sure we have the root DNSKEY in cache, it might require TCP

13 months agoUpdate regression-tests.recursor-dnssec/test_SimpleDoT.py 15352/head
Otto Moerbeek [Mon, 24 Mar 2025 12:56:17 +0000 (13:56 +0100)] 
Update regression-tests.recursor-dnssec/test_SimpleDoT.py

Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
13 months agorec: in test_SimpleDot.py make sure we have the root DNSKEY in cache, it might requir...
Otto Moerbeek [Mon, 24 Mar 2025 12:10:28 +0000 (13:10 +0100)] 
rec: in test_SimpleDot.py make sure we have the root DNSKEY in cache, it might require TCP

Previously we assumed we didn't need TCP at all.

13 months agoMerge pull request #15327 from miodvallat/mesonry_details
Miod Vallat [Mon, 24 Mar 2025 10:09:53 +0000 (11:09 +0100)] 
Merge pull request #15327 from miodvallat/mesonry_details

[autocconf] [auth] Build tsig-tests if --enable-tools

13 months agoMerge pull request #15201 from jsoref/docs-allow-from
Miod Vallat [Mon, 24 Mar 2025 06:08:51 +0000 (07:08 +0100)] 
Merge pull request #15201 from jsoref/docs-allow-from

Docs: Fix allow-from markup/link

13 months agoUpdate pdns/dnsdistdist/docs/reference/actions.rst 15290/head
Frank Louwers [Sat, 22 Mar 2025 18:57:35 +0000 (19:57 +0100)] 
Update pdns/dnsdistdist/docs/reference/actions.rst

13 months agoMerge pull request #15341 from Habbie/sort-locale
Peter van Dijk [Fri, 21 Mar 2025 14:27:08 +0000 (15:27 +0100)] 
Merge pull request #15341 from Habbie/sort-locale

enforce LC_ALL=C for recently added sort calls

13 months agoMerge pull request #15340 from zeha/mysqlbe
Miod Vallat [Fri, 21 Mar 2025 13:25:21 +0000 (14:25 +0100)] 
Merge pull request #15340 from zeha/mysqlbe

mysql: use MYSQL_TYPE_LONGLONG on 64bit platforms