]>
git.ipfire.org Git - thirdparty/pdns.git/log
Josh Soref [Wed, 19 Nov 2025 16:26:20 +0000 (11:26 -0500)]
spelling: cyber.gouv.fr
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:38:09 +0000 (11:38 -0500)]
spelling: covering
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:37:51 +0000 (11:37 -0500)]
spelling: could
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:37:45 +0000 (11:37 -0500)]
spelling: corresponding
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 19:10:22 +0000 (14:10 -0500)]
spelling: contains
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:37:33 +0000 (11:37 -0500)]
spelling: contain
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:34:25 +0000 (11:34 -0500)]
spelling: blocked
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:33:10 +0000 (11:33 -0500)]
spelling: badalg
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 19:38:15 +0000 (14:38 -0500)]
spelling: autoprimary
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:27:34 +0000 (11:27 -0500)]
spelling: arguments
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:23:28 +0000 (11:23 -0500)]
spelling: arecvtcp
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:26:40 +0000 (11:26 -0500)]
spelling: answer
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 19:06:52 +0000 (14:06 -0500)]
spelling: and
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 19:07:56 +0000 (14:07 -0500)]
spelling: and the
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 18:44:50 +0000 (13:44 -0500)]
spelling: an
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:24:18 +0000 (11:24 -0500)]
spelling: aggressive
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:24:44 +0000 (11:24 -0500)]
spelling: aggregation
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:23:54 +0000 (11:23 -0500)]
spelling: address
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 16:23:08 +0000 (11:23 -0500)]
spelling: absence
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 19:06:21 +0000 (14:06 -0500)]
spelling: a
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 19:02:33 +0000 (14:02 -0500)]
spelling: "a"
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Remi Gacogne [Thu, 20 Nov 2025 11:04:40 +0000 (12:04 +0100)]
Merge pull request #16529 from rgacogne/codeql-v4
chore(codeql): Upgrade to CodeQL v4
Miod Vallat [Thu, 20 Nov 2025 10:53:19 +0000 (11:53 +0100)]
Merge pull request #16530 from jsoref/codeql-mixed-implicit-and-explicit-returns
Fix mixed implicit and explicit returns
Josh Soref [Wed, 19 Nov 2025 19:15:07 +0000 (14:15 -0500)]
spelling: , depending on the configuration,
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 14:51:50 +0000 (09:51 -0500)]
Make AggressiveNSECCacheBase.getMetric return int
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 14:49:42 +0000 (09:49 -0500)]
Use TestCase.fail() instead of .assertFalse(True)
https://docs.python.org/3/library/unittest.html#unittest.TestCase.fail
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 14:48:51 +0000 (09:48 -0500)]
Use TestCase.fail() instead of .assertTrue(False)
https://docs.python.org/3/library/unittest.html#unittest.TestCase.fail
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 14:35:45 +0000 (09:35 -0500)]
Make RecursorTest.killProcess always return void
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Wed, 19 Nov 2025 14:35:16 +0000 (09:35 -0500)]
Make getCookieFromServer return None for self.fail
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Remi Gacogne [Wed, 19 Nov 2025 10:05:26 +0000 (11:05 +0100)]
chore(codeql): Upgrade to CodeQL v4
See https://github.blog/changelog/2025-10-28-upcoming-deprecation-of-codeql-action-v3/
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Miod Vallat [Wed, 19 Nov 2025 08:17:16 +0000 (09:17 +0100)]
Merge pull request #16526 from jsoref/codeql-unused-global-variable
Remove unused assignment
Josh Soref [Tue, 18 Nov 2025 13:29:37 +0000 (08:29 -0500)]
Remove unused assignment
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Remi Gacogne [Tue, 18 Nov 2025 10:42:14 +0000 (11:42 +0100)]
Merge pull request #16525 from rgacogne/ddist-avoid-comboaddr-parse
dnsdist: Change bogusV4/bogusV6 addresses to static constants to avoid parse in every call
Remi Gacogne [Tue, 18 Nov 2025 09:18:28 +0000 (10:18 +0100)]
Merge pull request #16515 from jsoref/codeql-redundant-assignment
Remove redundant assignment
Remi Gacogne [Tue, 18 Nov 2025 09:18:18 +0000 (10:18 +0100)]
Merge pull request #16516 from jsoref/codeql-unused-assignment
Remove unused assignment
Remi Gacogne [Tue, 18 Nov 2025 09:17:27 +0000 (10:17 +0100)]
Merge pull request #16523 from jsoref/coverallsapp-github-action-v2.3.7
Update to coverallsapp github-action v2.3.7
Remi Gacogne [Tue, 18 Nov 2025 08:50:35 +0000 (09:50 +0100)]
dnsdist: Change bogusV4/bogusV6 addresses to static constants to avoid parse in every call
Based on a patch by @delichick (thanks!).
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Josh Soref [Tue, 18 Nov 2025 00:39:42 +0000 (19:39 -0500)]
Update to coverallsapp github-action v2.3.7
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Otto Moerbeek [Wed, 12 Nov 2025 15:58:20 +0000 (16:58 +0100)]
Minor docs edit
Co-authored-by: Remi Gacogne <github@coredump.fr>
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 10 Nov 2025 13:50:37 +0000 (14:50 +0100)]
Avoid leak by using a smart pointer
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 10 Nov 2025 10:44:29 +0000 (11:44 +0100)]
Add a basic test and always produce HELP line even if text is not available
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Jess Bees [Thu, 6 Nov 2025 21:20:54 +0000 (16:20 -0500)]
Update documentation with getMetric's signature overload
Signed-off-by: Jess Bees <jesse@toomanybees.com>
Jess Bees [Wed, 5 Nov 2025 17:29:35 +0000 (12:29 -0500)]
Combine getMetric and initMetric
initMetric's signature is intentionally backwards compatible with getMetric,
so if there's no performance impact we can transparently combine their
functionality without breaking changes.
Signed-off-by: Jess Bees <jesse@toomanybees.com>
Otto Moerbeek [Wed, 5 Nov 2025 13:40:06 +0000 (14:40 +0100)]
Nits
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Jess Bees [Mon, 3 Nov 2025 19:24:58 +0000 (14:24 -0500)]
Reformat some lines flagged by linter
Signed-off-by: Jess Bees <jesse@toomanybees.com>
Remi Gacogne [Mon, 17 Nov 2025 16:05:15 +0000 (17:05 +0100)]
dnsdist: FSF shenanigans
Remi Gacogne [Fri, 14 Nov 2025 16:18:00 +0000 (17:18 +0100)]
dnsdist: Add unit tests for the AF_XDP/XSK code
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Mon, 17 Nov 2025 15:26:43 +0000 (16:26 +0100)]
dnsdist: Clarify AF_XDP/XSK flags
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Mon, 17 Nov 2025 11:16:20 +0000 (12:16 +0100)]
dnsdist: Fix a bug when rewriting an IPv6 XSK packet
The header was not properly set.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Mon, 17 Nov 2025 11:17:30 +0000 (12:17 +0100)]
dnsdist: Better handling of XSK frames without any data
This might happen when we are creating a frame from scratch.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 14 Nov 2025 16:18:24 +0000 (17:18 +0100)]
dnsdist: Harden the XSK code
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Josh Soref [Mon, 17 Nov 2025 13:11:17 +0000 (08:11 -0500)]
Remove unused assignment
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Mon, 17 Nov 2025 12:57:16 +0000 (07:57 -0500)]
Remove redundant assignment
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Remi Gacogne [Mon, 17 Nov 2025 10:33:02 +0000 (11:33 +0100)]
Merge pull request #16510 from rgacogne/ddist-recvmmsg-performance
dnsdist: Better performance when using `recvmmsg`
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>
Miod Vallat [Mon, 17 Nov 2025 06:41:48 +0000 (07:41 +0100)]
Merge pull request #16495 from jsoref/codeql-keyroller-non-callable-called
Remove horrible unused argument with default value
Miod Vallat [Mon, 17 Nov 2025 06:28:42 +0000 (07:28 +0100)]
Merge pull request #16502 from jsoref/codeql-use-immediate-class-parent-for-super
Use immediate class parent for super
Pieter Lexis [Fri, 14 Nov 2025 16:20:39 +0000 (17:20 +0100)]
Merge pull request #16474 from pieterlexis/dnsdist-closer-optional
feat(dnsdist): Make creating Tracer::Closers less messy in calling code
Pieter Lexis [Fri, 14 Nov 2025 10:12:32 +0000 (11:12 +0100)]
chore(dnsdist): Suppress TSAN warning on InternalQueryState ctor
Pieter Lexis [Wed, 12 Nov 2025 15:23:59 +0000 (16:23 +0100)]
fix(dnsdist): Don't allocate strings before they are needed
Also make clang-tidy silent by ignoring the decay into pointer warnings
Pieter Lexis [Wed, 12 Nov 2025 12:22:16 +0000 (13:22 +0100)]
feat(dnsdist): Add `InternalQueryState::getRulesCloser`
Also use `__func__` to prevent typos in tracer function names.
Pieter Lexis [Wed, 12 Nov 2025 11:52:12 +0000 (12:52 +0100)]
fix(dnsdist): use RAII to set InternalQueryState::appliedRulesToQuery
Pieter Lexis [Wed, 12 Nov 2025 10:45:09 +0000 (11:45 +0100)]
feat(dnsdist): Add `getCloser` to InternalQueryState
This makes the code in dnsdist.cc easier to read, as it removes several
lines for each call to the OpenTelemetry tracing code.
Pieter Lexis [Wed, 12 Nov 2025 10:40:36 +0000 (11:40 +0100)]
feat(dnsdist): Add copy and move ctors for Tracer::Closer
Pieter Lexis [Wed, 12 Nov 2025 10:39:36 +0000 (11:39 +0100)]
feat(dnsdist): Allow setting Span Attributes from Closer
Remi Gacogne [Fri, 14 Nov 2025 14:44:00 +0000 (15:44 +0100)]
Merge pull request #16511 from rgacogne/ddist-xsk-packets-recv
dnsdist: Reuse the vector of packets between XSK recv rounds
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 13:48:30 +0000 (14:48 +0100)]
dnsdist: Reuse the vector of packets between XSK recv rounds
The existing code was allocating a new vector for every call
to `XskSocket::recv()` which was just silly.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Fri, 14 Nov 2025 13:43:11 +0000 (14:43 +0100)]
Merge pull request #16509 from jsoref/fix-codeql-use-with-open-as-file-to-ensure-file-is-always-closed
Fix `with open(...) as f:`
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>
Josh Soref [Fri, 14 Nov 2025 13:08:34 +0000 (08:08 -0500)]
Fix `with open(...) as f:`
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Remi Gacogne [Fri, 14 Nov 2025 13:03:04 +0000 (14:03 +0100)]
Merge pull request #16484 from jsoref/codeql-confusing-operator-precedence
Improve reading of operator expression
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 19:28:23 +0000 (14:28 -0500)]
Specify immediate class parent
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Josh Soref [Thu, 13 Nov 2025 19:25:14 +0000 (14:25 -0500)]
Fix class name
- #14593 renamed the class but failed to update the super call
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
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:29:41 +0000 (17:29 +0100)]
Typos in comments
Co-authored-by: Remi Gacogne <github@coredump.fr>
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
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>