]>
git.ipfire.org Git - thirdparty/pdns.git/log
Miod Vallat [Wed, 30 Apr 2025 13:17:34 +0000 (15:17 +0200)]
Move ldap_attrany[] definition from a header file to its only user.
Miod Vallat [Wed, 30 Apr 2025 05:46:54 +0000 (07:46 +0200)]
Merge pull request #15470 from miodvallat/friday_combing
More low-hanging fruits from the views work
Alexis Romero [Tue, 29 Apr 2025 15:48:11 +0000 (17:48 +0200)]
Merge pull request #15487 from romeroalx/update-packaging-version
Docs: update Python3 dependencies to fix CI failure
Remi Gacogne [Tue, 29 Apr 2025 12:57:29 +0000 (14:57 +0200)]
Merge pull request #15409 from rgacogne/ddist-ssl-switch-sni
dnsdist: Add support for switching certificates based on SNI w/ OpenSSL
Remi Gacogne [Tue, 29 Apr 2025 12:56:54 +0000 (14:56 +0200)]
Merge pull request #15463 from rgacogne/ddist-fix-getdnscryptbind
dnsdist: Fix a confusion about contexts/frontends in `getDNSCryptBind`
Remi Gacogne [Tue, 29 Apr 2025 11:13:45 +0000 (13:13 +0200)]
Merge pull request #15489 from rgacogne/fix-advisory-dnsdist-2022-02
dnsdist: Fix syntax of advisory 2025-02
Remi Gacogne [Tue, 29 Apr 2025 11:06:11 +0000 (13:06 +0200)]
dnsdist: Fix syntax of advisory 2025-02
Remi Gacogne [Tue, 29 Apr 2025 10:51:50 +0000 (12:51 +0200)]
Merge pull request #15488 from rgacogne/ddist-changelog-secpoll-1.9.9
dnsdist: Update ChangeLog and secpoll for DNSdist 1.9.9
Remi Gacogne [Tue, 29 Apr 2025 10:31:37 +0000 (12:31 +0200)]
Fix advisory path, spelling
Remi Gacogne [Tue, 29 Apr 2025 10:23:42 +0000 (12:23 +0200)]
spell-check: Allow CWE
Remi Gacogne [Tue, 29 Apr 2025 08:20:42 +0000 (10:20 +0200)]
dnsdist: Update ChangeLog and secpoll for DNSdist 1.9.9
Remi Gacogne [Tue, 29 Apr 2025 09:21:37 +0000 (11:21 +0200)]
dnsdist: Fix typos reported by Josh Soref (thanks!)
Remi Gacogne [Tue, 29 Apr 2025 09:20:46 +0000 (11:20 +0200)]
libssl: Properly handle the different return types of `sk_GENERAL_NAME_num`
romeroalx [Tue, 29 Apr 2025 09:17:31 +0000 (11:17 +0200)]
docs: update python dependencies
Remi Gacogne [Tue, 29 Apr 2025 08:57:02 +0000 (10:57 +0200)]
dnsdist: Document the return value of `DNSCryptContext::generateAndLoadInMemoryCertificate`
Remi Gacogne [Mon, 28 Apr 2025 16:02:39 +0000 (18:02 +0200)]
Merge pull request #15431 from rgacogne/ddist-resume-health-checks-really
dnsdist: Be consistent with regard to health-check modes transition
Otto Moerbeek [Mon, 28 Apr 2025 12:40:44 +0000 (14:40 +0200)]
Merge pull request #15440 from omoerbeek/quiche-soname
If SONAME is present in the generated quiche lib set it to the correct value
Otto Moerbeek [Mon, 28 Apr 2025 12:08:48 +0000 (14:08 +0200)]
Use grep -F instead of fgrep
Co-authored-by: Remi Gacogne <github@coredump.fr>
Remi Gacogne [Mon, 28 Apr 2025 12:05:03 +0000 (14:05 +0200)]
Merge pull request #15481 from rgacogne/ddist-fix-closed-doh-stream
dnsdist: Gracefully handle timeout/response for a closed HTTP stream
Remi Gacogne [Mon, 28 Apr 2025 12:02:27 +0000 (14:02 +0200)]
Merge pull request #15480 from rgacogne/ddist-fix-doh-timeout-double-f
dnsdist: Fix a crash when processing timeouts for incoming DoH queries
Otto Moerbeek [Mon, 28 Apr 2025 11:41:57 +0000 (13:41 +0200)]
Merge pull request #15435 from omoerbeek/rec-lua-getconfig
rec: add a Lua function to get the config dir and name
Otto Moerbeek [Mon, 28 Apr 2025 11:41:34 +0000 (13:41 +0200)]
Merge pull request #15455 from omoerbeek/rec-docs-yaml
rec docs: prefer ref to YAML settings and show sections in YAML snippets
Remi Gacogne [Mon, 28 Apr 2025 10:47:39 +0000 (12:47 +0200)]
dnsdist: Gracefully handle timeout/response for a closed HTTP stream
The remote end might very well have already closed the HTTP stream
corresponding to the timeout or response we are processing. While
this means we need to discard the event we were processing, it is
not an unexpected event and we should thus not raise an exception
since the caller cannot do anything about it.
Remi Gacogne [Mon, 28 Apr 2025 10:41:00 +0000 (12:41 +0200)]
dnsdist: Fix a crash when processing timeouts for incoming DoH queries
This commit fixes a double-free triggered by an exception being raised
while we are processing a timeout for an incoming DoH query. The exception
bypasses the call releasing the smart pointer, and thus the destructor
is called when we reach the end of the function since we own the smart
pointer, but unfortunately it has already been destroyed by the function
that raised the exception. The fix is to release the pointer first,
then call the function, so even if an exception is raised we no longer
own the pointer, and it's clear that the function has taken ownership of it.
Remi Gacogne [Tue, 15 Apr 2025 08:56:09 +0000 (10:56 +0200)]
dnsdist: Fix clang-tidy warnings
Remi Gacogne [Tue, 15 Apr 2025 08:06:31 +0000 (10:06 +0200)]
dnsdist: Fix typos spotted by Miod in the documentation
Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Mon, 14 Apr 2025 15:28:28 +0000 (17:28 +0200)]
dnsdist: Be consistent with regard to health-check modes transition
Calling `setAuto()` on a backend used to set the health-check mode
to `active`, even if it had been set to `lazy` before, which was
quite confusing.
This commit introduces a new method, `setAutoActive()` which can
be used to change the health-check mode to `active`, and alters the
behaviour of `setAuto()` to restore the previous health-check mode
instead. This is a breaking change but since the default health-check
mode is `active` I don't expect to break any existing configurations.
It also introduces a new method, `getHealthCheckMode()`, to inspect
the current mode.
Remi Gacogne [Mon, 28 Apr 2025 08:50:02 +0000 (10:50 +0200)]
Merge pull request #15438 from rgacogne/ddist-fix-quic-freebsd-2
dnsdist: Only pass source addresses on sockets bound to ANY
Remi Gacogne [Mon, 28 Apr 2025 07:36:36 +0000 (09:36 +0200)]
Merge pull request #15473 from rgacogne/ddist-fix-tcp-limits-test
dnsdist: Fix spurious failure of the TCP limits regression tests
Remi Gacogne [Fri, 25 Apr 2025 14:55:11 +0000 (16:55 +0200)]
dnsdist: Fix spurious failure of the TCP limits regression tests
The "maximum duration" test used to trigger the maximum number of
TCP read IOs, preventing the next test from being run. This commit
sets the maximum number of TCP read IOs to "unlimited" for this test.
Remi Gacogne [Fri, 25 Apr 2025 14:54:23 +0000 (16:54 +0200)]
dnsdist: Allow setting an unlimited number of TCP read IOs (`0`)
Peter van Dijk [Fri, 25 Apr 2025 08:30:11 +0000 (10:30 +0200)]
drop upgradeToSchemav3
Miod Vallat [Fri, 25 Apr 2025 08:28:23 +0000 (10:28 +0200)]
Use string_view to avoid new string creation...
...in apiCheckQNameAllowedCharacters().
Remi Gacogne [Tue, 15 Apr 2025 08:34:47 +0000 (10:34 +0200)]
dnsdist: Only pass source addresses on sockets bound to ANY
FreeBSD refuses the use of `IP_SENDSRCADDR` on a socket that is
bound to a specific address, returning `EINVAL` in that case.
Remi Gacogne [Thu, 24 Apr 2025 13:04:35 +0000 (15:04 +0200)]
dnsdist: Test that we can iterate on DNSCrypt binds and reload their certificates
Remi Gacogne [Thu, 24 Apr 2025 13:03:18 +0000 (15:03 +0200)]
dnsdist: Add a return value when generating and loading a DNSCrypt certificate
Remi Gacogne [Thu, 24 Apr 2025 12:57:34 +0000 (14:57 +0200)]
dnsdist: Fix a confusion about contexts/frontends in `getDNSCryptBind`
We internally keep two different frontends (UDP and TCP) for DNSCrypt
configuration binds, but the frontends should not be exposed to the user.
`getDNSCryptBind` should return distinct DNSCrypt contexts, one per
DNSCrypt configuration bind. This was broken during the refactoring
of how frontends are internally kept.
Remi Gacogne [Fri, 25 Apr 2025 11:26:42 +0000 (13:26 +0200)]
Merge pull request #15471 from rgacogne/ddist-fix-crash-removing-tcponly-server
dnsdist: Fix an iterator out-of-bound read when removing a TCP-only server
Miod Vallat [Fri, 25 Apr 2025 07:39:38 +0000 (09:39 +0200)]
Various move vs copy improvements pointed by Coverity.
Remi Gacogne [Fri, 25 Apr 2025 10:14:04 +0000 (12:14 +0200)]
dnsdist: Fix an iterator out-of-bound read when removing a TCP-only server
Introduced in https://github.com/PowerDNS/pdns/pull/15418
Miod Vallat [Fri, 25 Apr 2025 08:25:40 +0000 (10:25 +0200)]
Merge pull request #15468 from miodvallat/growing_up_the_hard_way
Document mysql foreign keys being incompatible with group replication
Remi Gacogne [Fri, 25 Apr 2025 08:18:46 +0000 (10:18 +0200)]
Merge pull request #15462 from rgacogne/ddist-fix-tcplimits-readio-test
dnsdist: Properly handle buffering in the "max read IOs" test
Remi Gacogne [Fri, 25 Apr 2025 07:53:00 +0000 (09:53 +0200)]
Merge pull request #15467 from nokia/master
dnsdist: Add indicator for cache hit rules to know if hit a stale entry
Remi Gacogne [Fri, 25 Apr 2025 07:30:56 +0000 (09:30 +0200)]
Merge pull request #15465 from jsoref/improve-descriptions
Remove period
Miod Vallat [Fri, 25 Apr 2025 05:27:30 +0000 (07:27 +0200)]
Mention foreign keys constraints are incompatible with group replication.
Oliver Chen [Fri, 25 Apr 2025 02:27:39 +0000 (02:27 +0000)]
Fix clang-tidy warning of inconsistent parameter name
Oliver Chen [Fri, 25 Apr 2025 01:49:52 +0000 (01:49 +0000)]
Fix clang-tidy warning of too short parameter name
Oliver Chen [Fri, 25 Apr 2025 01:04:25 +0000 (01:04 +0000)]
Add indicator for cache hit rules to know if hit a stale entry
Josh Soref [Thu, 24 Apr 2025 14:35:00 +0000 (10:35 -0400)]
Remove period
Remi Gacogne [Thu, 24 Apr 2025 13:52:41 +0000 (15:52 +0200)]
Merge pull request #15439 from nokia/master
dnsdist: Support DSCP marking towards downstream server
Remi Gacogne [Thu, 24 Apr 2025 11:45:14 +0000 (13:45 +0200)]
dnsdist: Properly handle buffering in the "max read IOs" test
It is completely possible that the entire query will be sent before
the dnsdist process notices that the number of IOs is larger than the
limit, closes the connection, and the test process is notified of the
socket being closed (for example because of buffering).
So we need to detect that the connection is closed during our attempt
to read the response, rather than while we are sending the query.
This commit does that, and also introduces a slight delay after sending
each byte of the query, increasing the likelihood of the dnsdist process
actually reading the query bytes one by one.
Remi Gacogne [Thu, 24 Apr 2025 09:22:38 +0000 (11:22 +0200)]
Merge pull request #15461 from rgacogne/ddist-fix-concurrency-ci
dnsdist: Limit the number of concurrent build jobs to 4 on CI
Miod Vallat [Thu, 24 Apr 2025 09:01:22 +0000 (11:01 +0200)]
Merge pull request #15460 from miodvallat/further_away
Boring trivial dead code removal
Remi Gacogne [Thu, 24 Apr 2025 08:45:56 +0000 (10:45 +0200)]
dnsdist: Limit the number of concurrent build jobs to 4 on CI
We are experiencing a lot of build failures on GH actions when
building with `meson` and `ASAN+UBSAN`, likely running out of
memory. We could try to be smarter and only reduce the concurrency
when building with `ASAN+UBSAN`, but for now let's see if it makes
the failures go away.
Miod Vallat [Thu, 24 Apr 2025 08:24:48 +0000 (10:24 +0200)]
Remove never provided argument of DNSPacket::setRemote().
Remi Gacogne [Thu, 24 Apr 2025 07:38:52 +0000 (09:38 +0200)]
Merge pull request #15376 from rgacogne/ddist-tcp-mitig
dnsdist: Add mitigations against misbehaving TCP/TLS clients
Remi Gacogne [Thu, 24 Apr 2025 07:16:21 +0000 (09:16 +0200)]
Merge pull request #15433 from rgacogne/ddist-rings-unit-tests-speed
dnsdist: Small optimization in the Rings unit tests
Miod Vallat [Thu, 24 Apr 2025 05:36:50 +0000 (07:36 +0200)]
Merge pull request #15457 from MatthiasValvekens/docs/dnsupdate-policy-fix
Rearrange confusingly ordered docs on DNS update checks
Miod Vallat [Thu, 24 Apr 2025 05:00:48 +0000 (07:00 +0200)]
Merge pull request #15441 from miodvallat/zonezilla
ZoneName, step 2
Matthias Valvekens [Wed, 23 Apr 2025 19:50:35 +0000 (21:50 +0200)]
Rearrange confusingly ordered docs on DNS update checks
Structure-wise, the paragraph on the interaction between ``allow-dnsupdate-from``, ``ALLOW-DNSUPDATE-FROM`` and ``TSIG-ALLOW-DNSUPDATE`` wound up in the section of the document on Lua update policies.
That seems unintentional, and it's additionally confusing because the description of the Lua update policy setting explicitly mentions that it causes all other enforcement mechanisms to be disabled. This change attempts to correct that.
Miod Vallat [Wed, 23 Apr 2025 14:47:36 +0000 (16:47 +0200)]
Merge pull request #15390 from miodvallat/the_misinterpretation_of_silence_and_its_disastrous_consequences
[auth] Log DNS packet parse errors
Miod Vallat [Wed, 23 Apr 2025 12:20:52 +0000 (14:20 +0200)]
Simplify !a.isPartOf(b) && a != b constructs.
By design, a.isPartOf(a) is always true.
Therefore, if a and b compare equal, !a.isPartOf(b) and a != b are both
false and the result of the expression is false, but also
!a.isPartOf(b).
If not, then a != b is true and the result of the expression is
!a.isPartOf(b).
Boolean algebra is hard, let's go shopping.
Miod Vallat [Wed, 23 Apr 2025 12:01:48 +0000 (14:01 +0200)]
Review improvements.
Miod Vallat [Wed, 16 Apr 2025 15:35:39 +0000 (17:35 +0200)]
clang-tidy all the things!
Miod Vallat [Wed, 16 Apr 2025 08:40:34 +0000 (10:40 +0200)]
Remove a few wire-related interfaces from ZoneName.
This should prevent accidental use, by requiring an explicit conversion to
DNSName and thinking about what we are doing here.
Miod Vallat [Wed, 16 Apr 2025 08:15:18 +0000 (10:15 +0200)]
Stricter ZoneName usage.
While ZoneName is still equivalent to DNSName, this commit turns it into a
separate class (with the same interface as DNSName), and requires conversion
between these classes to be explicit, so that we can recognize the
DNSName/ZoneName boundaries and change them as needs arise.
It is intended for these explicit conversion requirements to be only temporary,
which would allow all these ".operator const DNSName&()" calls to get removed
eventually, once the dust settles and our trust it proper use of ZoneName versus
DNSName is strong enough.
Miod Vallat [Wed, 23 Apr 2025 14:02:15 +0000 (16:02 +0200)]
Merge pull request #15451 from miodvallat/after_before_or_between_choose_one
Better behaviour with non-working DNSSEC configurations
Miod Vallat [Thu, 3 Apr 2025 12:55:23 +0000 (14:55 +0200)]
Log, at debug level, DNS packet parse errors.
Fixes #14513
Miod Vallat [Wed, 23 Apr 2025 13:20:26 +0000 (15:20 +0200)]
Merge pull request #15299 from miodvallat/all_inclusive
API: allow fetching disabled RRsets
Miod Vallat [Wed, 23 Apr 2025 13:19:18 +0000 (15:19 +0200)]
Merge pull request #15381 from miodvallat/call_off_the_search
[auth] Mention which backends support search operations
Miod Vallat [Wed, 23 Apr 2025 13:18:27 +0000 (15:18 +0200)]
Update pdns/packethandler.cc
No need to complain about the lack of DNSSEC if NSEC3 narrow mode.
Co-authored-by: Peter van Dijk <peter.van.dijk@powerdns.com>
Otto Moerbeek [Wed, 23 Apr 2025 12:45:24 +0000 (14:45 +0200)]
Beef up dns64 example, as suggested by Miod
Miod Vallat [Wed, 23 Apr 2025 12:41:15 +0000 (14:41 +0200)]
Apply suggestions from code review
Tweak log messages a little.
Co-authored-by: Peter van Dijk <peter.van.dijk@powerdns.com>
Miod Vallat [Wed, 23 Apr 2025 12:33:01 +0000 (14:33 +0200)]
Better wording
Co-authored-by: Peter van Dijk <peter.van.dijk@powerdns.com>
Miod Vallat [Wed, 23 Apr 2025 12:29:17 +0000 (14:29 +0200)]
No need to pass a DNSPacket to APILookup().
Otto Moerbeek [Wed, 23 Apr 2025 07:14:44 +0000 (09:14 +0200)]
Change references form old style to YAML setting in docs
Otto Moerbeek [Wed, 23 Apr 2025 07:14:00 +0000 (09:14 +0200)]
rec: consistently show YAML fragments including the section
Miod Vallat [Fri, 18 Apr 2025 11:00:21 +0000 (13:00 +0200)]
Do not add NSEC* hashes if the backend isn't able to do so.
Miod Vallat [Fri, 18 Apr 2025 10:59:14 +0000 (12:59 +0200)]
Fail more gracefully in default getBeforeAndAfterNamesAbsolute.
If invoked on a non-DNSSEC-capable backend, it should fail with a visible
error message rather than bluntly abort().
Miod Vallat [Fri, 18 Apr 2025 06:52:35 +0000 (08:52 +0200)]
Merge pull request #15448 from Habbie/lmdb-v5-test
auth LMDB: test "upgrade" from v5 too
Miod Vallat [Fri, 18 Apr 2025 06:11:08 +0000 (08:11 +0200)]
Allow binary files for lmdb test-assets.
Peter van Dijk [Thu, 17 Apr 2025 20:01:13 +0000 (22:01 +0200)]
bump one DomainInfo object to class v1
Peter van Dijk [Tue, 15 Apr 2025 12:15:20 +0000 (14:15 +0200)]
add v5 base for schema upgrade test
Miod Vallat [Thu, 17 Apr 2025 14:01:39 +0000 (16:01 +0200)]
Merge pull request #15393 from miodvallat/opcode_red
[auth] Rework PacketHandler::doQuestion()
Peter van Dijk [Thu, 17 Apr 2025 11:05:27 +0000 (13:05 +0200)]
Merge pull request #15434 from Habbie/auth-docs-no-sysv
auth docs: stop mentioning SysV init script, it has been gone for a while
Miod Vallat [Thu, 17 Apr 2025 10:51:36 +0000 (12:51 +0200)]
Merge pull request #15443 from miodvallat/ruhe
Add a quiet option to pdnsutil
Miod Vallat [Thu, 17 Apr 2025 06:10:39 +0000 (08:10 +0200)]
Use pdnsutil -q to get clean output.
Miod Vallat [Thu, 17 Apr 2025 06:07:43 +0000 (08:07 +0200)]
Add a global quiet option to pdnsutil to silence some messaces.
Otto Moerbeek [Wed, 16 Apr 2025 11:43:03 +0000 (13:43 +0200)]
If SONAME is present in the generated quiche lib set it to the correct value
This is needed as we rename the file. We try to not include the
SONAME, but some systems include it anyway.
Otto Moerbeek [Wed, 16 Apr 2025 07:33:55 +0000 (09:33 +0200)]
Merge pull request #15436 from omoerbeek/dnsdist-unused
dnsdist: a few more cases of potentially unused args
Otto Moerbeek [Wed, 16 Apr 2025 07:33:41 +0000 (09:33 +0200)]
Merge pull request #15410 from omoerbeek/rec-regr-moduledir
rec regr tests: allow to set moduledir using an env var
Otto Moerbeek [Wed, 16 Apr 2025 07:33:22 +0000 (09:33 +0200)]
Merge pull request #15437 from omoerbeek/rec-meson-sysconfdir-quote
rec: [meson] strip quotes meson adds from SYSCONFDIR (and two other config values)
Oliver Chen [Wed, 16 Apr 2025 06:17:26 +0000 (06:17 +0000)]
Fix CodeQL: move code up to avoid usage after std::move
Oliver Chen [Wed, 16 Apr 2025 05:28:29 +0000 (05:28 +0000)]
Add dscp/DSCP for spell check and fix clang-tidy
Oliver Chen [Wed, 16 Apr 2025 03:36:05 +0000 (03:36 +0000)]
Support DSCP marking towards downstream server
Otto Moerbeek [Tue, 15 Apr 2025 14:25:02 +0000 (16:25 +0200)]
Tidy
Remi Gacogne [Tue, 15 Apr 2025 14:40:15 +0000 (16:40 +0200)]
dnsdist: Fix typos in the configuration spotted by Miod
Remi Gacogne [Tue, 15 Apr 2025 14:39:43 +0000 (16:39 +0200)]
dnsdist: Refactor some very similar functions in the TCP limits code
Remi Gacogne [Tue, 15 Apr 2025 14:39:17 +0000 (16:39 +0200)]
dnsdist: Ignore port mask for TCP limits if the v4 mask != 32
Remi Gacogne [Tue, 15 Apr 2025 14:38:52 +0000 (16:38 +0200)]
dnsdist: Use a power of two values for the number of shards, as suggested by Otto