]>
git.ipfire.org Git - thirdparty/pdns.git/log
Remi Gacogne [Thu, 28 Mar 2024 10:37:35 +0000 (11:37 +0100)]
dnsdist: Fix formatting in dnsdist-nghttp2-in.cc
(cherry picked from commit
7f4b2ec776c888f61eb9934363fa41edfaa1ba5e )
Remi Gacogne [Thu, 28 Mar 2024 10:25:34 +0000 (11:25 +0100)]
dnsdist: Add a regression test for DoH connection counters
(cherry picked from commit
82dc167be78195ebf38dd9f1e64b1ba652c2a4c8 )
Remi Gacogne [Thu, 28 Mar 2024 10:24:44 +0000 (11:24 +0100)]
dnsdist: Properly increase the HTTP connections counter w/ nghttp2
(cherry picked from commit
5fea1763bc6e0e19412e40f029b11ae4d3d8a800 )
Remi Gacogne [Thu, 28 Mar 2024 09:30:10 +0000 (10:30 +0100)]
dnsdist: Remove commented out include directive
(cherry picked from commit
79608ac498be158c8f5a94fde85d90a700963152 )
Remi Gacogne [Thu, 28 Mar 2024 09:27:15 +0000 (10:27 +0100)]
dnsdist: Increase the HTTP/1.1 query counter when DoH with 1.1 ALPN
This way we can keep track of how many HTTP/1.1 connections attempt
we see. We will not actually process the DNS over HTTP/1.1 payload
anyway when the `nghttp2` provider is used.
(cherry picked from commit
3bd0eadc3ae285266c781cbc4bfe53c78723587f )
Remi Gacogne [Mon, 25 Mar 2024 14:21:42 +0000 (15:21 +0100)]
Merge pull request #13976 from rgacogne/ddist19-13946
dnsdist-1.9.x: Backport #13946 - Also handle EHOSTUNREACH as a case for reconnecting the socket
Remi Gacogne [Mon, 25 Mar 2024 09:14:59 +0000 (10:14 +0100)]
dnsdist: also handle EHOSTUNREACH as a case for reconnecting the socket
Manual backport of
c42df46af74f9af4158eebb51bfba3d1d8fb1a42 to
rel/dnsdist-1.9.x
Remi Gacogne [Mon, 25 Mar 2024 09:02:10 +0000 (10:02 +0100)]
Merge pull request #13944 from rgacogne/ddist19-13914
dnsdist-1.9.x: Backport of 13914 - Fix XSK-enabled check when reconnecting a backend
Remi Gacogne [Tue, 19 Mar 2024 13:09:32 +0000 (14:09 +0100)]
Merge pull request #13943 from rgacogne/ddist19-13927
dnsdist-1.9.x: Backport of 13927 - Fix annoying compiler warnings by introducing and switching to `pdns::UniqueFilePtr`
Remi Gacogne [Tue, 19 Mar 2024 13:09:04 +0000 (14:09 +0100)]
Merge pull request #13940 from rgacogne/ddist19-13851
dnsdist-1.9.x: Backport of #13851 - tcpiohandler: Use server preference algoritm for ALPN selection
Remi Gacogne [Tue, 19 Mar 2024 13:06:21 +0000 (14:06 +0100)]
Merge pull request #13945 from rgacogne/ddist19-13834
dnsdist-1.9.x: Backport of 13834 - dnsdist: Properly handle a failure of the first lazy health-check
Remi Gacogne [Tue, 19 Mar 2024 13:05:22 +0000 (14:05 +0100)]
Merge pull request #13942 from rgacogne/ddist19-13920
dnsdist-1.9.x: Backport of #13920 - Shrink InternalQueryState's size by reordering its fields
Remi Gacogne [Tue, 19 Mar 2024 13:05:12 +0000 (14:05 +0100)]
Merge pull request #13941 from rgacogne/ddist19-13906
dnsdist-1.9.x: Backport of #13906 - Fix first IPv6 console connection being rejected
Remi Gacogne [Tue, 19 Mar 2024 13:04:53 +0000 (14:04 +0100)]
Merge pull request #13939 from rgacogne/ddist19-13849
dnsdist-1.9.x: Backport of #13849 - Docker: Only print config if debug flag is set
Remi Gacogne [Tue, 19 Mar 2024 13:04:43 +0000 (14:04 +0100)]
Merge pull request #13938 from rgacogne/ddist19-13805
dnsdist-1.9.x: Backport of #13805 - Fix compilation warnings
Remi Gacogne [Tue, 19 Mar 2024 10:31:52 +0000 (11:31 +0100)]
dnsdist: Fix clang-tidy warning
Remi Gacogne [Tue, 19 Mar 2024 10:30:33 +0000 (11:30 +0100)]
dnsdist: Fix clang-tidy warnings
Remi Gacogne [Tue, 19 Mar 2024 09:44:16 +0000 (10:44 +0100)]
dnsdist: Properly account the failure to forward a query to a backend
Manually backported from
b0b3480b98d41db821f681183f45d5d08db02f93
Remi Gacogne [Mon, 26 Feb 2024 16:07:22 +0000 (17:07 +0100)]
dnsdist: Fix exponential backoff computation in edge cases
(cherry picked from commit
a8856ce717f439832515440af5550ca9d51f4b7d )
Remi Gacogne [Tue, 19 Mar 2024 09:40:46 +0000 (10:40 +0100)]
dnsdist: Properly handle a failure of the first lazy health-check
Manually backported from
2cd1a8d65bd8bc45458115f5827126aa537906b3
Remi Gacogne [Thu, 14 Mar 2024 09:20:08 +0000 (10:20 +0100)]
dnsdist: Fix XSK-enabled check when reconnecting a backend
The check was reverted, meaning that we did not properly remove an address:port from the XSK map when reconnecting a backend, and actually tried to remove an entry from a non-existing map when XSK is compiled in but not enabled, triggering a:
```
Error getting the XSK destination addresses map path '/sys/fs/bpf/dnsdist/xsk-destinations-v4'
```
message.
(cherry picked from commit
bb218803ee8348a4ce9cd11b97681d6eba4082cf )
Remi Gacogne [Mon, 18 Mar 2024 12:29:02 +0000 (13:29 +0100)]
Fix clang-tidy warnings, again
(cherry picked from commit
6e58535e4cf4b5d139e66cc3c6f18f7b2e62e64a )
Remi Gacogne [Mon, 18 Mar 2024 11:38:33 +0000 (12:38 +0100)]
Add `pdns::openFileForWriting()` to control permissions when creating a file
(cherry picked from commit
b1564d45616abcd65bf606fa5816449bde41af3e )
Remi Gacogne [Mon, 18 Mar 2024 10:55:16 +0000 (11:55 +0100)]
Fix clang-tidy warnings
(cherry picked from commit
114b879665a529a093e66a44347e924a3e2ab984 )
Remi Gacogne [Mon, 18 Mar 2024 10:34:09 +0000 (11:34 +0100)]
Mark the `pdns::UniqueFilePtr` deleter `const noexcept`
(cherry picked from commit
07d4785d49eb93a51818dae5fdbe04e7ff4e128c )
Remi Gacogne [Mon, 18 Mar 2024 09:22:12 +0000 (10:22 +0100)]
auth: Switch to `pdns::UniqueFilePtr`
(cherry picked from commit
46c4985c721840c7d34c9199dc72beab89264836 )
Remi Gacogne [Mon, 18 Mar 2024 09:21:26 +0000 (10:21 +0100)]
rec: Switch to `pdns::UniqueFilePtr`
(cherry picked from commit
01807c646de1af252681794c48a71d7b95f58df8 )
Remi Gacogne [Tue, 19 Mar 2024 09:30:18 +0000 (10:30 +0100)]
dnsdist: Switch to `pdns::UniqueFilePtr`
Manually backported from
931536a53367efbf9be3884b8970498aa92be774
Remi Gacogne [Mon, 18 Mar 2024 09:19:06 +0000 (10:19 +0100)]
misc: Implement pdns::UniqueFilePtr
Using a deleter instead of `decltype(&fclose)` has two big advantages:
- the deleter is included in the type and does not have to be passed
when creating a new object (easier to use, less memory usage, in theory
better inlining)
- we avoid the annoying `ignoring attributes on template argument ‘int (*)(FILE*)’`
warning from the compiler, which is there because `fclose` is tagged as `__nonnull((1))`
(cherry picked from commit
20b2f2041a04a2e16f6bf4781c177a6aa3adec2b )
Remi Gacogne [Tue, 19 Mar 2024 09:19:38 +0000 (10:19 +0100)]
dnsdist: Shrink InternalQueryState's size by reordering its fields
Manually backported from
1731b908b4e77b5294aad64a2c2aec750e4a03be
Remi Gacogne [Tue, 12 Mar 2024 14:16:19 +0000 (15:16 +0100)]
dnsdist: Add a regression test for IPv6 console connections
(cherry picked from commit
8be2b867e08b49cdc11a0452476229ceaa1ce6f6 )
Remi Gacogne [Tue, 19 Mar 2024 09:14:00 +0000 (10:14 +0100)]
dnsdist: Fix first IPv6 console connection being rejected
Manually backported from
1a9b7f5a97e97e371bd4b6043c14d9faccb9013c .
Remi Gacogne [Mon, 4 Mar 2024 10:02:56 +0000 (11:02 +0100)]
dnsname: Fix formatting issue
(cherry picked from commit
981c43ec9b61a942b0f539084fed1a24ed3ad301 )
Remi Gacogne [Mon, 4 Mar 2024 09:24:53 +0000 (10:24 +0100)]
Add missing views.hh reference in the Makefiles
(cherry picked from commit
d4cd065a24fea7fd0270a2eb102f40a06309703a )
Remi Gacogne [Mon, 4 Mar 2024 09:13:36 +0000 (10:13 +0100)]
dnsdist: Use a view for parsing ALPN data, add a regression test
(cherry picked from commit
2a3c2b444812369cae285e6b67e2a72a5b8fed08 )
Doug Freed [Sun, 3 Mar 2024 09:24:34 +0000 (09:24 +0000)]
tcpiohandler: Use server preference algoritm for ALPN selection
This complies with RFC 7301 section 3.2
(cherry picked from commit
b599f69b2090a1269cdce49a53297201772c454c )
Peter van Dijk [Tue, 5 Mar 2024 13:53:46 +0000 (14:53 +0100)]
Carolin Dohmen [Fri, 1 Mar 2024 15:19:04 +0000 (16:19 +0100)]
Only print config if debug flag is set
Signed-off-by: Carolin Dohmen <carodohmen@gmail.com>
(cherry picked from commit
d773b7bb99418026c3907ebd4b4e994a61fccecd )
Remi Gacogne [Fri, 16 Feb 2024 09:32:37 +0000 (10:32 +0100)]
dnsdist: Move `linux/*.h` headers to xsk.cc to fix warnings
(cherry picked from commit
e3044aca1c21335d3d35d8e2d5cfa830efb04541 )
Remi Gacogne [Fri, 16 Feb 2024 09:32:04 +0000 (10:32 +0100)]
dnsdist: Fix outdated definition for `addMaintenanceCallback()`
(cherry picked from commit
be05f14384735756b52756c9160a2ce168da1902 )
Remi Gacogne [Wed, 13 Mar 2024 09:36:45 +0000 (10:36 +0100)]
Merge pull request #13912 from omoerbeek/backport-13909-to-dnsdist-1.9.x
dnsdist: Backport 13909 to dnsdist 1.9.x: update to quiche 0.20.1
Otto Moerbeek [Wed, 13 Mar 2024 06:59:54 +0000 (07:59 +0100)]
dnsdist: update to quiche 0.20.1
(cherry picked from commit
7d5a2792c199611ab26e8821a31a2cd0912f34d9 )
Otto Moerbeek [Wed, 13 Mar 2024 09:04:11 +0000 (10:04 +0100)]
Merge pull request #13911 from omoerbeek/dnsdist-branch-build
dnsdist 1.9.x: remove irrelevant targets from branch build
Otto Moerbeek [Wed, 13 Mar 2024 08:31:09 +0000 (09:31 +0100)]
dnsdist 1.9.x: remove irrelevant targets from branch build
Otto Moerbeek [Wed, 13 Mar 2024 08:24:42 +0000 (09:24 +0100)]
Merge pull request #13910 from omoerbeek/backport-13907-to-dnsdist-1.9.x
dnsdist: backport 13907 to 1.9.x: gh actions: wo issue 9491 - actions/runner-images
romeroalx [Tue, 12 Mar 2024 16:24:31 +0000 (17:24 +0100)]
gh actions: wo issue 9491 - actions/runner-images
(cherry picked from commit
e0bf314e472d0c1d4bc1ff82d97cabf87be1e929 )
Remi Gacogne [Tue, 13 Feb 2024 10:44:35 +0000 (11:44 +0100)]
Merge pull request #13760 from rgacogne/ddist-doc-rules-mgmt
dnsdist: Refactor the rules (selectors and actions) documentation
Remi Gacogne [Tue, 13 Feb 2024 10:44:27 +0000 (11:44 +0100)]
Merge pull request #13780 from rgacogne/ddist-better-wording-setSuffixMatchRule
dnsdist: Clarify that setSuffixMatchRule blocks per suffix, not labels
Remi Gacogne [Tue, 13 Feb 2024 09:04:08 +0000 (10:04 +0100)]
dnsdist: Clarify that setSuffixMatchRule blocks per suffix, not labels
Remi Gacogne [Mon, 12 Feb 2024 09:54:21 +0000 (10:54 +0100)]
Merge pull request #13779 from rgacogne/ddist-coverity-
20240212
dnsdist: Fix performance inefficiencies reported by Coverity
Remi Gacogne [Mon, 12 Feb 2024 09:08:56 +0000 (10:08 +0100)]
dnsdist: Fix performance inefficiencies reported by Coverity
Reported by Coverity as 414759 and 414760:
> Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
Otto Moerbeek [Sun, 11 Feb 2024 18:40:36 +0000 (19:40 +0100)]
Merge pull request #13778 from M0NsTeRRR/master
fix(doc): incorrect setting `query_local_address`
Ludovic Ortega [Sun, 11 Feb 2024 18:38:48 +0000 (19:38 +0100)]
fix: replace missing query_local_address
Ludovic Ortega [Sun, 11 Feb 2024 18:29:57 +0000 (19:29 +0100)]
fix(doc): incorrect setting `query_local_address`
Remi Gacogne [Fri, 9 Feb 2024 15:09:29 +0000 (16:09 +0100)]
Merge pull request #13774 from rgacogne/ddist-quiche-config-atomic-load
dnsdist: Fix a missing explicit atomic load of the Quiche configuration
Remi Gacogne [Fri, 9 Feb 2024 15:00:56 +0000 (16:00 +0100)]
Merge pull request #13771 from omoerbeek/dnsdist-lua-align
dnsdist: do not allocate 16-byte aligned objects through lua(jit)
Remi Gacogne [Fri, 9 Feb 2024 14:28:57 +0000 (15:28 +0100)]
dnsdist: Fix a missing explicit atomic load of the Quiche configuration
Reported by TSAN.
Remi Gacogne [Fri, 9 Feb 2024 10:59:07 +0000 (11:59 +0100)]
Merge pull request #13759 from rgacogne/ddist-doc-tls-certificates
dnsdist: Improve the documentation around TLS certificates and keys
Remi Gacogne [Fri, 9 Feb 2024 10:28:12 +0000 (11:28 +0100)]
dnsdist: Prevent useless allocation+copy in `setPoolServerPolicy`
Remi Gacogne [Fri, 9 Feb 2024 10:16:12 +0000 (11:16 +0100)]
dnsdist: Fix newServerPolicy, add regression tests for custom policies
Peter van Dijk [Fri, 9 Feb 2024 10:15:33 +0000 (11:15 +0100)]
Merge pull request #13391 from devicenull/master
Add Lua function to pick records via name hash
Otto Moerbeek [Thu, 8 Feb 2024 15:36:09 +0000 (16:36 +0100)]
Experiment
Remi Gacogne [Thu, 8 Feb 2024 14:58:38 +0000 (15:58 +0100)]
dnsdist: Fix an issue spotted by TSAN: we need to use atomic_load_explicit along with atomic_store_explicit
Remi Gacogne [Thu, 8 Feb 2024 14:36:55 +0000 (15:36 +0100)]
Merge pull request #13756 from rgacogne/ddist-xsk-doc-typos
dnsdist: Fix typos in the AF_XDP documentation
Remi Gacogne [Thu, 8 Feb 2024 14:31:55 +0000 (15:31 +0100)]
Merge pull request #13768 from rgacogne/ddist-maintenance-hook
dnsdist: Add a Lua maintenance hook
Remi Gacogne [Thu, 8 Feb 2024 14:31:09 +0000 (15:31 +0100)]
Merge pull request #13757 from rgacogne/ddist-coverty-warning-
20240201
dnsdist: Fix a warning reported by Coverity
Otto Moerbeek [Thu, 8 Feb 2024 14:28:24 +0000 (15:28 +0100)]
dnsdist: make sure we do not allocate 16-byte aligned objects through lua(jit)
luajit aligns only to 8 bytes by default, and some objects require
16 byte alignment.
Fixes #13766
Note that the static assert in LuaContext.hpp is commented out in
one case. This trips on some platforms, but does not seem to be
harmful right now.
The fundamental solution remains the have luajit agree with C++ on
minimal alignment of its allocators.
Remi Gacogne [Thu, 8 Feb 2024 14:23:25 +0000 (15:23 +0100)]
dnsdist: Delint the 'reloadCertificates' methods
Remi Gacogne [Thu, 8 Feb 2024 13:43:18 +0000 (14:43 +0100)]
dnsdist: Add a regression test for DoQ certs/keys reloading
Remi Gacogne [Thu, 8 Feb 2024 13:42:47 +0000 (14:42 +0100)]
dnsdist: Document certs/keys reloading for DoQ and DoH3
Remi Gacogne [Thu, 8 Feb 2024 13:42:04 +0000 (14:42 +0100)]
dnsdist: Implementation reloading of TLS certs/keys for DoQ and DoH3
Remi Gacogne [Thu, 8 Feb 2024 09:43:56 +0000 (10:43 +0100)]
dnsdist: Apply suggestions from code review, delint
Remi Gacogne [Thu, 8 Feb 2024 08:01:06 +0000 (09:01 +0100)]
Merge pull request #13755 from rgacogne/ddist-quic-unsupported-version
dnsdist: Better handling of short, non-initial QUIC headers
Remi Gacogne [Tue, 6 Feb 2024 15:22:49 +0000 (16:22 +0100)]
dnsdist: Clear the Lua maintenance callbacks before exiting
Remi Gacogne [Tue, 6 Feb 2024 15:20:17 +0000 (16:20 +0100)]
Merge pull request #13761 from rgacogne/ddist-test-ebpf
dnsdist: Add regression tests for eBPF blocks (static / dynamic)
Peter van Dijk [Tue, 6 Feb 2024 15:15:40 +0000 (16:15 +0100)]
Merge pull request #12359 from Habbie/auth-lua-dblookup
auth LUA: add dblookup function
Remi Gacogne [Tue, 6 Feb 2024 14:44:35 +0000 (15:44 +0100)]
dnsdist: Add a Lua maintenance hook
Having a hook that can accept multiple callbacks makes it a lot easier
to manage the execution of several, independant tasks that needs to be
called regularly.
Peter van Dijk [Fri, 1 Dec 2023 15:29:22 +0000 (16:29 +0100)]
fix formatting
Brian Rak [Thu, 30 Nov 2023 16:30:26 +0000 (16:30 +0000)]
Update minor code/doc nits
Brian Rak [Thu, 19 Oct 2023 13:36:15 +0000 (13:36 +0000)]
Appease lint
Brian Rak [Wed, 18 Oct 2023 20:09:30 +0000 (20:09 +0000)]
Fix typo
Brian Rak [Wed, 18 Oct 2023 01:24:08 +0000 (01:24 +0000)]
Add Lua function to pick records via name hash
This adds a Lua function to return a record based on a weighted hash
of the DNS record name. One use case here is to consistently return
the same IP address for a particular cache server based on what
subdomain is requesting the data.
Peter van Dijk [Tue, 6 Feb 2024 11:08:30 +0000 (12:08 +0100)]
code review from otto, thanks
Peter van Dijk [Tue, 6 Feb 2024 10:24:43 +0000 (11:24 +0100)]
Merge pull request #13743 from Habbie/auth-api-priority-error
auth API: reject priority element in record, closes #12657
Remi Gacogne [Mon, 5 Feb 2024 08:41:18 +0000 (09:41 +0100)]
dnsdist: Preserve 'LLVM_PROFILE_FILE' in sudo-enabled regression tests
Remi Gacogne [Thu, 1 Feb 2024 13:46:11 +0000 (14:46 +0100)]
dnsdist: Reduce the timeout on Dynamic Block tests expected to fail
Remi Gacogne [Thu, 1 Feb 2024 13:45:40 +0000 (14:45 +0100)]
dnsdist: Enable eBPF regression tests in our CI
Remi Gacogne [Thu, 1 Feb 2024 13:44:45 +0000 (14:44 +0100)]
dnsdist: Add regression tests for eBPF blocks (static / dynamic)
romeroalx [Fri, 2 Feb 2024 10:43:18 +0000 (11:43 +0100)]
Merge pull request #13764 from romeroalx/fix-build-ubuntu-noble
GH Actions: fix builds for ubuntu noble. Remove pkg usrmerge
romeroalx [Thu, 1 Feb 2024 23:35:28 +0000 (00:35 +0100)]
fix builds ubuntu noble. remove pkg usrmerge
Remi Gacogne [Thu, 1 Feb 2024 14:33:37 +0000 (15:33 +0100)]
dnsdist: Refactor the rules (selectors and actions) documentation
Remi Gacogne [Thu, 1 Feb 2024 11:16:56 +0000 (12:16 +0100)]
dnsdist: Improve the documentation around TLS certificates and keys
Remi Gacogne [Thu, 1 Feb 2024 09:00:19 +0000 (10:00 +0100)]
dnsdist: Fix a warning reported by Coverity
CID 414570 and CID 414569 (Uninitialized variables) are false
positives as far as I can tell, the variables are properly set
by the call to `bpf_get_next_key`, but let's zero-initialize them
anyway, while delinting the code.
Remi Gacogne [Thu, 1 Feb 2024 08:32:16 +0000 (09:32 +0100)]
dnsdist: Better handling of short, non-initial QUIC headers
After a QUIC connection has been negotiated, we mostly get short QUIC
headers that do not contain the QUIC version. This is fine as long as
we still know about the connection, which might not be the case if it
has been idle for longer that our timer and thus we forgot about its
connection ID. What happens then is that we will mistakenly think that
the remote peer is trying to establish a new QUIC connection with a
version set to 0, which we don't support, and therefore start the
version negotiation process. What we should instead do is notice that
the packet is not a 'Initial' one and discard it, as we cannot open
a new connection from a short header anyway. Note that the peer knows
about our idle timer so in theory it should not try to reuse such a
connection, but it does happen from time to time.
Remi Gacogne [Thu, 1 Feb 2024 08:23:26 +0000 (09:23 +0100)]
dnsdist: Document AF_XDP's limitations
Remi Gacogne [Thu, 1 Feb 2024 08:15:50 +0000 (09:15 +0100)]
dnsdist: Fix typos in the AF_XDP documentation
Reported by Chris Hofstaedtler (thanks!).
Otto Moerbeek [Wed, 31 Jan 2024 08:33:25 +0000 (09:33 +0100)]
Merge pull request #13746 from omoerbeek/rec-resolve-context-tidy
rec: tidy ResolveContext class
Otto Moerbeek [Tue, 30 Jan 2024 17:17:22 +0000 (18:17 +0100)]
one last lint
Otto Moerbeek [Tue, 30 Jan 2024 10:12:34 +0000 (11:12 +0100)]
Avoid a cases of `an exception may be thrown in function '' which should not throw exceptions (bugprone-exception-escape)`
The use of a DNSName capture by value is the culprit. Avoid those by using
[&]', telling the compiler to figure out the captures by itself but use refs.
This *could* lead to issues if we modify the value in the lambda, so this conversion should be checked!
Remi Gacogne [Tue, 30 Jan 2024 14:02:45 +0000 (15:02 +0100)]
Merge pull request #13740 from rgacogne/ddist-190rc1-changelog-secpoll
dnsdist: ChangeLog and secpoll update for 1.9.0-rc1