]>
git.ipfire.org Git - thirdparty/pdns.git/log
Remi Gacogne [Mon, 17 Nov 2025 09:48:02 +0000 (10:48 +0100)]
dnsdist: Add dot to the end of a comment, as suggested by Miod
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 14 Nov 2025 14:36:56 +0000 (15:36 +0100)]
dnsdist: Appease clang-tidy
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 14 Nov 2025 13:55:24 +0000 (14:55 +0100)]
dnsdist: Use an `int` since it's what `recvmmsg` returns
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 14 Nov 2025 12:05:45 +0000 (13:05 +0100)]
dnsdist: Better performance when using `recvmmsg`
`recvmmsg` and `sendmmsg` are Linux-specific syscalls to receive
and send multiple messages on a socket via a single call, which
in theory improves performance a lot, especially with the
speculative execution vulnerabilities mitigations making syscalls
expensive.
We had several reports that turning this feature on in DNSdist did
not really improve performance, which is quite unexpected. Looking
at a CPU profile in `perf`, we were spending an awful lot of time
resizing buffers that did not need to be resized most of the time
because they had not been used. This commit ensures that we only
resize and reset buffers for slots that have been used in the
previous round.
With that I'm getting a nice performance boost from using `recvmmsg`
and `sendmmsg` while processing 80k QPS at 100% cache-hit ratio
from a single thread: the CPU usage shrinks by roughly 15%.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 14 Nov 2025 10:22:34 +0000 (11:22 +0100)]
Merge pull request #16503 from rgacogne/dnsheader_aligned_no_copy
`dnsheader_aligned`: Prevent copies
Remi Gacogne [Fri, 14 Nov 2025 10:19:25 +0000 (11:19 +0100)]
Merge pull request #16504 from rgacogne/ddist-doq-handle-response
dnsdist: Clarify that our DoQ's `handleResponse` consumes the response
Remi Gacogne [Fri, 14 Nov 2025 10:19:16 +0000 (11:19 +0100)]
Merge pull request #16505 from rgacogne/ddist-modernize-pc-code
dnsdist: Apply clang-tidy recommendations to the packet cache code
Remi Gacogne [Fri, 14 Nov 2025 09:43:10 +0000 (10:43 +0100)]
dnsdist: Clarify that our DoQ's `handleResponse` consumes the response
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 14 Nov 2025 09:37:33 +0000 (10:37 +0100)]
dnsheader_aligned: Prevent copies
The `dnsheader_aligned` object contains a pointer that references
either the `dnsheader` passed to the constructor if it is properly
aligned, or the internal `dnsheader` member. In the second case,
making a copy would mean we can reference an object that has been
destructed, which is a serious problem.
This commit also ensures copy elision is done `DNSQuestion:getHeader`,
as otherwise the compiler might refuse to compile.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 14 Nov 2025 09:36:00 +0000 (10:36 +0100)]
dnsdist: Apply clang-tidy recommendations to the packet cache code
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 14 Nov 2025 07:46:15 +0000 (08:46 +0100)]
Merge pull request #16500 from jsoref/codeql-use-with-open-as-file-to-ensure-file-is-always-closed
Use `with open(...) as f:` to ensure file is always closed
Remi Gacogne [Fri, 14 Nov 2025 07:45:00 +0000 (08:45 +0100)]
Merge pull request #16501 from jsoref/codeql-explicitly-return
Stop mixing implicit and explicit returns
Josh Soref [Thu, 13 Nov 2025 17:56:16 +0000 (12:56 -0500)]
Change `to_wire` to not mix explicit and implicit returns
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 17:52:19 +0000 (12:52 -0500)]
Return void
And omit `;` as python does not really believe in them
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 17:51:00 +0000 (12:51 -0500)]
Return void
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 17:40:33 +0000 (12:40 -0500)]
Use `with open(...) as f:` to ensure file is always closed
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Miod Vallat [Thu, 13 Nov 2025 16:36:56 +0000 (17:36 +0100)]
Merge pull request #16494 from jsoref/codeql-unused-loop-iterator-name
Codeql unused loop iterator name
Otto Moerbeek [Thu, 13 Nov 2025 16:28:37 +0000 (17:28 +0100)]
Merge pull request #16497 from omoerbeek/rec-coverity-
20251113
rec: fix coverity
1635199 ,
1643012 ,
1643013
Remi Gacogne [Thu, 13 Nov 2025 16:22:10 +0000 (17:22 +0100)]
Merge pull request #16498 from jsoref/codeql-use-identifiers
Codeql use identifiers
Remi Gacogne [Thu, 13 Nov 2025 16:17:22 +0000 (17:17 +0100)]
Merge pull request #16490 from jsoref/codeql-do-not-mutate-default-values
Do not mutate default values
Remi Gacogne [Thu, 13 Nov 2025 16:16:20 +0000 (17:16 +0100)]
Merge pull request #16491 from jsoref/codeql-only-import-module-once
Only import doqclient once
Miod Vallat [Thu, 13 Nov 2025 16:02:02 +0000 (17:02 +0100)]
Merge pull request #16493 from jsoref/codeql-unused-argument-to-format
Drop unused format argument
Miod Vallat [Thu, 13 Nov 2025 16:01:47 +0000 (17:01 +0100)]
Merge pull request #16492 from jsoref/codeql-imprecise-assert-not-equal
Use assertNotEqual
Miod Vallat [Thu, 13 Nov 2025 16:01:04 +0000 (17:01 +0100)]
Merge pull request #16489 from jsoref/codeql-ignore-keyboardexception-and-sysexit
Do not catch `KeyboardInterrupt` or `SystemExit`
Miod Vallat [Thu, 13 Nov 2025 16:00:39 +0000 (17:00 +0100)]
Merge pull request #16488 from jsoref/codeql-do-not-exit-with-void-return
Do not call `sys.exit` with a void return
Josh Soref [Thu, 13 Nov 2025 15:33:18 +0000 (10:33 -0500)]
Remove duplicated function
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 15:32:33 +0000 (10:32 -0500)]
Check results
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 15:30:31 +0000 (10:30 -0500)]
Disambiguate test functions in class
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 15:28:44 +0000 (10:28 -0500)]
Only assign to response once
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 15:26:33 +0000 (10:26 -0500)]
Only assign to _tlsServerPort once
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 15:26:11 +0000 (10:26 -0500)]
Fix dnssec handling of `required_fields`
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 15:24:44 +0000 (10:24 -0500)]
Only assign to name once
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 15:24:18 +0000 (10:24 -0500)]
Ignore return from `requests.get`
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 15:22:54 +0000 (10:22 -0500)]
Validate greeting from pipe caller
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 14:43:46 +0000 (09:43 -0500)]
Use `_` to hint that the value does not matter
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 15:04:54 +0000 (10:04 -0500)]
Declare variable outside loop to clarify that its use extends beyond loop
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 14:40:33 +0000 (09:40 -0500)]
Fix iteration variable name to match consumer
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 14:37:45 +0000 (09:37 -0500)]
Drop unused format argument
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 14:31:19 +0000 (09:31 -0500)]
Use assertNotEqual
https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertNotEqual
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 14:27:20 +0000 (09:27 -0500)]
Only import doqclient once
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Otto Moerbeek [Thu, 13 Nov 2025 14:24:59 +0000 (15:24 +0100)]
rec: fix coverity
1635199 ,
1643012 ,
1643013
First two are simple optimizatios.
1643013 is: Check of thread-shared field evades lock acquisition
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Josh Soref [Thu, 13 Nov 2025 14:20:51 +0000 (09:20 -0500)]
Do not mutate default values
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 14:11:43 +0000 (09:11 -0500)]
Do not catch KeyboardInterrupt or SystemExit
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 13:54:10 +0000 (08:54 -0500)]
Do not call `sys.exit` with a void return
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Remi Gacogne [Thu, 13 Nov 2025 13:08:22 +0000 (14:08 +0100)]
Merge pull request #16108 from karelbilek/kb/shuffle
dnsdist: implement simple packet shuffle in cache
Remi Gacogne [Thu, 13 Nov 2025 09:41:29 +0000 (10:41 +0100)]
Merge pull request #16462 from rgacogne/ddist-fix-crash-missing-selector-name
dnsdist: Fix a crash when a selector or policy cannot be found
Peter van Dijk [Thu, 13 Nov 2025 09:21:20 +0000 (10:21 +0100)]
Merge pull request #16401 from Habbie/auth-meson-names-dumb-rename
auth meson: reset binary names to original
Miod Vallat [Thu, 13 Nov 2025 06:03:47 +0000 (07:03 +0100)]
Merge pull request #16479 from jsoref/metrics-table-module
Convert metrics_table.py to a module
Miod Vallat [Thu, 13 Nov 2025 06:03:12 +0000 (07:03 +0100)]
Merge pull request #16480 from jsoref/test-metrics-ineffectual-statement
Switch TestRuleMetricsDefault to pass
Miod Vallat [Thu, 13 Nov 2025 06:03:04 +0000 (07:03 +0100)]
Merge pull request #16481 from jsoref/codeql-imprecise-assert
Codeql imprecise assert
Miod Vallat [Thu, 13 Nov 2025 06:02:57 +0000 (07:02 +0100)]
Merge pull request #16483 from jsoref/codeql-unnecessary-lambda
Drop useless lambda
Josh Soref [Thu, 13 Nov 2025 00:09:25 +0000 (19:09 -0500)]
Drop useless lambda
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 12 Nov 2025 19:16:06 +0000 (14:16 -0500)]
Use assertNotIn
https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertNotIn
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 12 Nov 2025 19:01:01 +0000 (14:01 -0500)]
Use assertNotEqual
https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertNotEqual
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 12 Nov 2025 19:11:40 +0000 (14:11 -0500)]
Use assertLessEqual
https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertLessEqual
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 12 Nov 2025 19:10:22 +0000 (14:10 -0500)]
Use assertLess
https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertLess
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 12 Nov 2025 19:17:36 +0000 (14:17 -0500)]
Use assertIn
https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertIn
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 12 Nov 2025 19:09:14 +0000 (14:09 -0500)]
Use assertGreaterEqual
https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertGreaterEqual
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 12 Nov 2025 19:07:01 +0000 (14:07 -0500)]
Use assertGreater
https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertGreater
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 12 Nov 2025 19:14:11 +0000 (14:14 -0500)]
Use assertEqual
https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertEqual
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Otto Moerbeek [Wed, 12 Nov 2025 19:52:47 +0000 (20:52 +0100)]
Merge pull request #16478 from jsoref/fix-duplicate-key-in-dict-literal
Fix duplicate key in dict literal
Josh Soref [Wed, 12 Nov 2025 17:51:00 +0000 (12:51 -0500)]
Show previous `versionchanged` for `logging.structured_logging`
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 12 Nov 2025 18:49:03 +0000 (13:49 -0500)]
Split `recursor.cpu_map` `doc`/`doc-new`
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 12 Nov 2025 18:44:52 +0000 (13:44 -0500)]
Switch TestRuleMetricsDefault to pass
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 12 Nov 2025 18:41:02 +0000 (13:41 -0500)]
Convert metrics_table.py to a module
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Alexis Romero [Wed, 12 Nov 2025 14:02:05 +0000 (15:02 +0100)]
Merge pull request #16471 from PowerDNS/dependabot/pip/builder-support/requests-2.32.4
chore(deps): bump requests from 2.32.3 to 2.32.4 in /builder-support
Otto Moerbeek [Wed, 12 Nov 2025 13:30:51 +0000 (14:30 +0100)]
Merge pull request #16476 from omoerbeek/contrib-followup
contrib/ProtobufLogger.py: Fix syntax error that crept in with 16458
Otto Moerbeek [Wed, 12 Nov 2025 13:16:46 +0000 (14:16 +0100)]
Merge pull request #16077 from omoerbeek/c++20-for-real
Prep, but do not actually move to C++20
Remi Gacogne [Wed, 12 Nov 2025 13:13:54 +0000 (14:13 +0100)]
Merge pull request #16283 from sndrsmnk/docupd2
dnsdist downstream-timeouts documentation update
Miod Vallat [Wed, 12 Nov 2025 12:47:06 +0000 (13:47 +0100)]
Merge pull request #16473 from miodvallat/spanish_cow
auth, rec: typos
Karel Bilek [Tue, 11 Nov 2025 15:38:43 +0000 (16:38 +0100)]
dnsdist: more thorough packet cache shuffle test
Signed-off-by: Karel Bilek <kb@karelbilek.com>
Otto Moerbeek [Wed, 12 Nov 2025 12:23:16 +0000 (13:23 +0100)]
Fix syntax error that crept in with 16458
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 12 Nov 2025 11:10:05 +0000 (12:10 +0100)]
Merge pull request #16362 from omoerbeek/rec-ottrace-conditions
rec: implement new feature to only generate OpenTelemetry Traces on certain conditions
Remi Gacogne [Wed, 12 Nov 2025 10:48:53 +0000 (11:48 +0100)]
dnsdist: Add a test for unknown policy name from Yaml
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Wed, 12 Nov 2025 10:46:09 +0000 (11:46 +0100)]
dnsdist: Fix a typo when a Yaml-originated selector name does not exist
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Miod Vallat [Wed, 12 Nov 2025 10:45:33 +0000 (11:45 +0100)]
Fix grammar in error messages.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
dependabot[bot] [Wed, 12 Nov 2025 10:39:49 +0000 (10:39 +0000)]
chore(deps): bump requests from 2.32.3 to 2.32.4 in /builder-support
Bumps [requests](https://github.com/psf/requests) from 2.32.3 to 2.32.4.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.3...v2.32.4)
---
updated-dependencies:
- dependency-name: requests
dependency-version: 2.32.4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Remi Gacogne [Wed, 12 Nov 2025 10:38:38 +0000 (11:38 +0100)]
Merge pull request #16464 from romeroalx/fix-upload-pkgs-pattern
build-packages.yml: update workflow after changes in the download-artifacts action
Otto Moerbeek [Wed, 12 Nov 2025 09:53:28 +0000 (10:53 +0100)]
Merge pull request #16425 from pieterlexis/dnsdist-cov-parentSpanID
fix(protozero): Always initialize SpanID and TraceID to zero
Otto Moerbeek [Wed, 12 Nov 2025 09:15:13 +0000 (10:15 +0100)]
Refactor common code in tests and add a few tests
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Miod Vallat [Wed, 12 Nov 2025 09:28:25 +0000 (10:28 +0100)]
Merge pull request #16467 from miodvallat/tiptoeing
auth: bunch of boring idempotent commits
Remi Gacogne [Wed, 12 Nov 2025 09:21:05 +0000 (10:21 +0100)]
fix(protozero): Keep the SpanID and TraceID ctors `constexpr`
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Miod Vallat [Wed, 12 Nov 2025 07:50:15 +0000 (08:50 +0100)]
Appease clang-tidy
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Otto Moerbeek [Wed, 12 Nov 2025 08:12:32 +0000 (09:12 +0100)]
Better commments in spec files
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 27 Oct 2025 10:05:54 +0000 (11:05 +0100)]
Revert the actual move to C++, but keep all the other changes
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 27 Oct 2025 10:05:38 +0000 (11:05 +0100)]
USe C++ style includes for C header files
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 8 Sep 2025 11:55:15 +0000 (13:55 +0200)]
Various fixes to make dnsdist and auth work on el-8
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 8 Sep 2025 10:13:29 +0000 (12:13 +0200)]
Use gnu++20 instead of c++20, according to Habbie it makes porting to e.g. Suse and Haiku easier.
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 8 Sep 2025 07:41:58 +0000 (09:41 +0200)]
Fix two more cases of ambiguous operator calls
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 4 Sep 2025 12:33:37 +0000 (14:33 +0200)]
Tidy
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 4 Sep 2025 08:41:21 +0000 (10:41 +0200)]
Missing include
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 4 Sep 2025 07:33:11 +0000 (09:33 +0200)]
Bump minimal c++ version to c++20
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 4 Sep 2025 07:46:58 +0000 (09:46 +0200)]
Avoid two cases of too early instantation of a member of a vector of an incomplete class
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 4 Sep 2025 07:46:27 +0000 (09:46 +0200)]
c++20 does not allow implicit capture of this
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 4 Sep 2025 07:45:38 +0000 (09:45 +0200)]
Avoid a few cases of warning: C++20 says that these are ambiguous, even though the second is reversed
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Miod Vallat [Wed, 12 Nov 2025 07:04:41 +0000 (08:04 +0100)]
Remove commented out crude debug/log code.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Wed, 12 Nov 2025 07:02:08 +0000 (08:02 +0100)]
Replace commented out logging code with #if 0 sections. NFCI
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Wed, 12 Nov 2025 06:53:31 +0000 (07:53 +0100)]
Remove undocumented {new,dup}DNSPacket from Lua.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Wed, 12 Nov 2025 06:52:30 +0000 (07:52 +0100)]
Prepare qthread() for its catch block to be able to access its locals. NFC
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Wed, 12 Nov 2025 06:52:16 +0000 (07:52 +0100)]
Simplify Bind2Backend::handle. NFC
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>