]>
git.ipfire.org Git - thirdparty/pdns.git/log
Otto Moerbeek [Mon, 16 Jan 2023 15:06:15 +0000 (16:06 +0100)]
Merge pull request #12419 from omoerbeek/rec-close-fd-on-fdopen-fail
rec: negcache dump code: close fd on fdopen fail
Remi Gacogne [Mon, 16 Jan 2023 14:55:28 +0000 (15:55 +0100)]
dnsdist: Document interactions between XFR, NOTIFY and the cache
Otto Moerbeek [Mon, 16 Jan 2023 14:24:15 +0000 (15:24 +0100)]
rec: README tweaks, .md does not know :program:`...`
Otto Moerbeek [Mon, 16 Jan 2023 14:15:30 +0000 (15:15 +0100)]
Merge pull request #12364 from rgacogne/rec-doc-compiling
rec: In compiling docs, warn about the GH tarballs, add deps from README
Otto Moerbeek [Mon, 16 Jan 2023 14:10:22 +0000 (15:10 +0100)]
Merge pull request #12396 from omoerbeek/stringerror-thread-safe
Introduce a thread-safe version of stringerror()
Otto Moerbeek [Mon, 16 Jan 2023 13:25:11 +0000 (14:25 +0100)]
Close fd on fdopen fail.
Originally suggested by @rgacogne, but not included in the merge of #12374
somehow.
Remi Gacogne [Mon, 16 Jan 2023 08:52:52 +0000 (09:52 +0100)]
Merge pull request #12412 from fredmorcos/openssl3-tls-mac
OpenSSL 3.0: TLS MAC handling
Remi Gacogne [Mon, 16 Jan 2023 08:51:28 +0000 (09:51 +0100)]
Merge pull request #12416 from Habbie/variable-mirror
build-and-test-all: add functionality to quickly switch ubuntu mirrors
Peter van Dijk [Fri, 13 Jan 2023 10:06:14 +0000 (11:06 +0100)]
build-and-test-all: add functionality to quickly switch ubuntu mirrors
Remi Gacogne [Thu, 12 Jan 2023 11:00:58 +0000 (12:00 +0100)]
dnsdist: Document the 'restart' feature
Remi Gacogne [Thu, 23 Jun 2022 16:08:38 +0000 (18:08 +0200)]
dnsdist: FFI interface for the Lua network endpoint
Remi Gacogne [Tue, 10 Jan 2023 13:53:29 +0000 (14:53 +0100)]
dnsdist: Add documentation for suspending/resuming objects
Remi Gacogne [Thu, 22 Dec 2022 16:32:05 +0000 (17:32 +0100)]
dnsdist: Add the infrastructure for restartable queries
Remi Gacogne [Wed, 21 Dec 2022 13:13:29 +0000 (14:13 +0100)]
dnsdist: Add regression tests for the regular Lua async bindings
Remi Gacogne [Wed, 21 Dec 2022 13:13:10 +0000 (14:13 +0100)]
dnsdist: Add regular Lua bindings for async handling of queries
Remi Gacogne [Thu, 16 Dec 2021 16:00:40 +0000 (17:00 +0100)]
dnsdist: Add regression tests for asynchronous processing
Remi Gacogne [Fri, 16 Dec 2022 17:31:33 +0000 (18:31 +0100)]
dnsdist: Implement async processing of queries and responses
Remi Gacogne [Fri, 13 Jan 2023 15:51:01 +0000 (16:51 +0100)]
Merge pull request #12405 from rgacogne/ddist-frontend-responses
dnsdist: Proper accounting of response and cache hits
Remi Gacogne [Fri, 13 Jan 2023 15:50:24 +0000 (16:50 +0100)]
Merge pull request #12386 from rgacogne/single-doh-acceptor
dnsdist: Merge the 'main' and 'client' DoH threads in single acceptor mode
Remi Gacogne [Fri, 13 Jan 2023 14:40:17 +0000 (15:40 +0100)]
Merge pull request #12384 from rgacogne/ddist-cap-ttl
dnsdist: Add the ability to cap the TTL of records after insertion into the cache
Remi Gacogne [Fri, 13 Jan 2023 13:02:09 +0000 (14:02 +0100)]
dnsdist: Add more unit tests for the packet overlay
Remi Gacogne [Fri, 13 Jan 2023 09:25:41 +0000 (10:25 +0100)]
m4: Fix interleaved output during `FORTIFY_SOURCE` detection
Remi Gacogne [Fri, 13 Jan 2023 08:32:12 +0000 (09:32 +0100)]
Merge pull request #12411 from fredmorcos/openssl3-ipcipher-ca6-crypto
Support OpenSSL 3.0 for ipcipher CA6 encryption/decryption
Fred Morcos [Mon, 9 Jan 2023 12:56:37 +0000 (13:56 +0100)]
OpenSSL 3.0: TLS MAC handling
Fred Morcos [Mon, 9 Jan 2023 11:33:34 +0000 (12:33 +0100)]
libssl: Cleanup TLS-related code
Fred Morcos [Mon, 9 Jan 2023 11:31:21 +0000 (12:31 +0100)]
libssl: Formatting TLS-related code
Remi Gacogne [Thu, 12 Jan 2023 15:01:50 +0000 (16:01 +0100)]
dnsdist: Appease the formatting gods
Remi Gacogne [Thu, 12 Jan 2023 14:56:58 +0000 (15:56 +0100)]
Merge pull request #12403 from rgacogne/spell-allow-eaca
spell-checker: Allow EACA (from the PGP public keys in the docs)
Remi Gacogne [Thu, 12 Jan 2023 14:55:32 +0000 (15:55 +0100)]
dnsdist: Use smaller event buffers in our socket multiplexers
Remi Gacogne [Thu, 12 Jan 2023 14:50:40 +0000 (15:50 +0100)]
dnsdist: Silence a warning about an unused variable in discovery.cc
Remi Gacogne [Thu, 12 Jan 2023 14:49:56 +0000 (15:49 +0100)]
dnsdist: Remove a duplicated ';' in dnsdist-lua-actions.cc
Remi Gacogne [Thu, 12 Jan 2023 14:49:03 +0000 (15:49 +0100)]
credentials: Add more unit tests
Remi Gacogne [Tue, 29 Nov 2022 11:02:23 +0000 (12:02 +0100)]
auth: Even better interface for setKey()
Remi Gacogne [Tue, 29 Nov 2022 10:43:36 +0000 (11:43 +0100)]
auth: Better interface for setKey() by requiring the flags
Remi Gacogne [Tue, 31 May 2022 19:51:46 +0000 (21:51 +0200)]
auth: Compute the public key only once, when creating the private one
Note that one big drawback is that setKey() should NO LONGER be used
before the algo and flags have been set.
Remi Gacogne [Mon, 23 May 2022 11:22:47 +0000 (13:22 +0200)]
auth: Rename the function computing the hash of public keys
As suggested by Fred Morcos (thanks!).
Remi Gacogne [Mon, 2 May 2022 09:46:38 +0000 (11:46 +0200)]
auth: Speed up ECDSA and RSA signatures
For ECDSA, and likely for RSA, computing the public key is not a cheap
operation. So instead of computing it twice to get the lookup key for
our signatures cache, reuse the computed public key and only compute its
digest.
In addition, since ed* algorithms were already using the whole key instead
of a digest, place the cut off at public keys larger than 64 bytes, meaning
that only RSA ones (128+ bytes) will be hashed.
This provides an additional speedup for ECDSA keys (32 or 48 bytes) since
they no longer need to be hashed, and simplifies the signers code as the
hashing can be moved to the key cache now that it only depends on they key
size.
For reference the size of a SHA-1 digest is 20 bytes.
In my tests this reduces by 30% the cost of calling addRRSigs() for ECDSA
signatures when the signature is already present in the cache.
Fred Morcos [Thu, 3 Nov 2022 09:21:03 +0000 (10:21 +0100)]
OpenSSL 3.0: decryptCA6
Fred Morcos [Thu, 3 Nov 2022 08:03:52 +0000 (09:03 +0100)]
OpenSSL 3.0: encryptCA6
Remi Gacogne [Mon, 9 Jan 2023 16:26:53 +0000 (17:26 +0100)]
spell-checker: Allow prometheus values
Remi Gacogne [Mon, 9 Jan 2023 16:26:34 +0000 (17:26 +0100)]
dnsdist: Fix a typo in the prometheus type
Remi Gacogne [Mon, 9 Jan 2023 16:19:46 +0000 (17:19 +0100)]
dnsdist: Update the prometheus sample in the documentation
It was very old and not up-to-date.
Remi Gacogne [Mon, 9 Jan 2023 16:17:21 +0000 (17:17 +0100)]
dnsdist: Only record one hit or miss per query in the cache metrics
The scope-zero feature and the DoH paths can actually do more than
one lookup per query, and until now this led to an increase of the
per-cache metric for every lookup, while the global `cache-hits`
and `cache-misses` metrics were only updated once per query.
This has led to several questions and misunderstandings, so we now
only update the per-cache metrics once per query as well.
Remi Gacogne [Mon, 9 Jan 2023 16:15:03 +0000 (17:15 +0100)]
dnsdist: Properly record cache-hits as responses
For a very long time we have not been adding cache-hits to the
responses counter, which is wrong. Let's fix it now.
Fred Morcos [Wed, 11 Jan 2023 14:59:19 +0000 (15:59 +0100)]
Cleanup ipcipher.hh
Remi Gacogne [Sat, 2 Jul 2022 14:09:56 +0000 (16:09 +0200)]
dnsdist: Merge the 'main' and 'client' DoH threads
When we are in "single acceptor thread" mode, merge the 'main' and
'client' DoH threads into a single one. We use separate threads to
reduce the separate the handling of the HTTP/2 traffic from the DNS
handling, to reduce latency, but that does not really make sense on
small devices with a single, limited CPU core. On these we prefer
using as few threads as possible to reduce the context switches and
the memory usage.
Remi Gacogne [Fri, 2 Dec 2022 14:29:45 +0000 (15:29 +0100)]
dnsdist: Remove ttlCapTypes from the internal state
Remi Gacogne [Fri, 24 Jun 2022 13:50:10 +0000 (15:50 +0200)]
dnsdist: Use unordered sets to speed things up a bit
Remi Gacogne [Fri, 11 Feb 2022 14:34:26 +0000 (15:34 +0100)]
dnsdist: Implement the ability to cap TTLs for some record types only
Remi Gacogne [Wed, 12 Jan 2022 13:58:34 +0000 (14:58 +0100)]
dnsdist: Add MaxReturnedTTLResponseAction to cap the TTL after packet cache
Remi Gacogne [Wed, 11 Jan 2023 13:14:11 +0000 (14:14 +0100)]
Merge pull request #12383 from rgacogne/ddist-stronger-udp-path
dnsdist: Stronger guarantees against data race in the UDP path
Remi Gacogne [Wed, 11 Jan 2023 13:13:28 +0000 (14:13 +0100)]
Merge pull request #12401 from fredmorcos/openssl-3-prep
Openssl 3 prep work
Remi Gacogne [Wed, 11 Jan 2023 11:31:59 +0000 (12:31 +0100)]
dnsdist: Really fix the formatting this time
Remi Gacogne [Wed, 11 Jan 2023 11:30:29 +0000 (12:30 +0100)]
dnsdist: Fix formatting
Remi Gacogne [Wed, 11 Jan 2023 11:27:23 +0000 (12:27 +0100)]
dnsdist: Apply suggestions from Otto's code review (thanks!)
Remi Gacogne [Fri, 6 Jan 2023 10:56:34 +0000 (11:56 +0100)]
dnsdist: Set a proper HTTP error code on Proxy Protocol failure
Remi Gacogne [Wed, 28 Sep 2022 15:21:16 +0000 (17:21 +0200)]
dnsdist: Stronger guarantees against data race in the UDP path
Remi Gacogne [Wed, 11 Jan 2023 10:20:36 +0000 (11:20 +0100)]
Merge pull request #12410 from rgacogne/unbreak-ci
CI: Work-around the "503 Service Unavailable" erros on azure.archive.ubuntu.com
Remi Gacogne [Wed, 11 Jan 2023 08:54:39 +0000 (09:54 +0100)]
Merge pull request #12402 from rgacogne/ddist-dq-time
dnsdist: Add bindings for the current and query times in DQ/DR
Remi Gacogne [Tue, 10 Jan 2023 08:37:23 +0000 (09:37 +0100)]
CI: Work-around the "503 Service Unavailable" erros on azure.archive.ubuntu.com
Remi Gacogne [Tue, 10 Jan 2023 16:21:48 +0000 (17:21 +0100)]
Merge pull request #12400 from rgacogne/ddist-reduce-ttl
dnsdist: Add SetReducedTTLResponseAction
Remi Gacogne [Mon, 9 Jan 2023 14:14:28 +0000 (15:14 +0100)]
dnsdist: Add Lua bindings for the current time and query time
Fred Morcos [Mon, 9 Jan 2023 14:49:09 +0000 (15:49 +0100)]
Print compiler version at the end of configure
Remi Gacogne [Tue, 10 Jan 2023 15:26:23 +0000 (16:26 +0100)]
dnsdist: Better description of SetReducedTTLResponseAction
Co-authored-by: Charles-Henri Bruyand <charleshenri.bruyand+github@gmail.com>
Fred Morcos [Tue, 3 Jan 2023 15:02:54 +0000 (16:02 +0100)]
Include failure message when creating DSRCs
Fred Morcos [Mon, 5 Dec 2022 14:32:26 +0000 (15:32 +0100)]
Lint cleanups of test-signers.cc
Fred Morcos [Wed, 9 Nov 2022 16:45:58 +0000 (17:45 +0100)]
OpenSSL signers test for getPubKeyHash()
Fred Morcos [Tue, 22 Nov 2022 15:55:07 +0000 (16:55 +0100)]
Cleanup DNSCryptoKeyEngine
Fred Morcos [Tue, 22 Nov 2022 09:55:14 +0000 (10:55 +0100)]
Print checkKey() error messages in signer tests
Fred Morcos [Tue, 22 Nov 2022 09:56:39 +0000 (10:56 +0100)]
Cleanup test_generic_signers in test-signers.cc
Fred Morcos [Tue, 11 Oct 2022 11:32:29 +0000 (13:32 +0200)]
Cleanup of ipcipher.cc
Fred Morcos [Fri, 30 Dec 2022 15:21:45 +0000 (16:21 +0100)]
Cleanup includes in misc.cc
Fred Morcos [Tue, 22 Nov 2022 11:18:47 +0000 (12:18 +0100)]
Add OpenSSL error handler
Remi Gacogne [Tue, 10 Jan 2023 14:40:24 +0000 (15:40 +0100)]
Merge pull request #12385 from rgacogne/ddist-ffi-metrics
dnsdist: Add a Lua FFI interface for metrics
Otto Moerbeek [Tue, 10 Jan 2023 14:05:43 +0000 (15:05 +0100)]
Reformat
Otto Moerbeek [Tue, 10 Jan 2023 13:42:41 +0000 (14:42 +0100)]
Better wording of reason to not chain ECS enabled queries
Co-authored-by: Remi Gacogne <github@coredump.fr>
Otto Moerbeek [Tue, 10 Jan 2023 13:41:46 +0000 (14:41 +0100)]
Typo in comment
Co-authored-by: Peter van Dijk <peter.van.dijk@powerdns.com>
Otto Moerbeek [Tue, 10 Jan 2023 13:27:27 +0000 (14:27 +0100)]
rec: do not chain ecs enabled queries.
asyncresolve() assumes the recieved ecs info corresponds to the one sent out.
Remi Gacogne [Tue, 10 Jan 2023 09:08:40 +0000 (10:08 +0100)]
Merge pull request #12387 from rgacogne/ddist-oom-udp
dnsdist: Handle out-of-memory exceptions in the UDP receiver thread
Kees Monshouwer [Thu, 22 Dec 2022 20:21:20 +0000 (21:21 +0100)]
auth: pdnsutil, implement list-member-zones
Otto Moerbeek [Mon, 9 Jan 2023 18:56:57 +0000 (19:56 +0100)]
Merge pull request #12399 from omoerbeek/rec-threadnames
rec: Name recursor threads consistently with a "rec/" prefix.
Otto Moerbeek [Mon, 9 Jan 2023 18:56:33 +0000 (19:56 +0100)]
Merge pull request #12392 from omoerbeek/bind-errno-cleanup
Be more careful saving errno in makeClientSocket() and closesocket()
Peter van Dijk [Mon, 9 Jan 2023 17:42:40 +0000 (18:42 +0100)]
Merge pull request #12367 from jsoref/pdns_control-ccounts-comma
Add missing comma to pdns_control ccounts
Remi Gacogne [Mon, 9 Jan 2023 14:19:59 +0000 (15:19 +0100)]
spell-checker: Allow EACA (from the PGP public keys in the docs)
Otto Moerbeek [Mon, 9 Jan 2023 13:49:01 +0000 (14:49 +0100)]
Better comments on what's going on
Fred Morcos [Tue, 11 Oct 2022 11:32:15 +0000 (13:32 +0200)]
Formatting of various files like ipcipher and opensslsigners
Fred Morcos [Mon, 5 Dec 2022 09:04:06 +0000 (10:04 +0100)]
Relax clang-tidy regarding magic numbers
Fred Morcos [Mon, 5 Dec 2022 09:03:49 +0000 (10:03 +0100)]
Add _build dir to docs/.gitignore
Otto Moerbeek [Mon, 9 Jan 2023 12:42:44 +0000 (13:42 +0100)]
Simplify code by using more methods already existing and correct entry count when deleting from the negcache.
zhaojingshi [Fri, 6 Jan 2023 16:21:45 +0000 (00:21 +0800)]
clean negcache&& clean cname cache
Otto Moerbeek [Mon, 9 Jan 2023 12:19:28 +0000 (13:19 +0100)]
Name recursor threads consistently with a "rec/" prefix.
Use thread names without capitals, as they look a bit ugly otherwise.
Threads started by libfstrm are not named, as they are created internally by the lib.
Partly supsersedes #11138
Remi Gacogne [Mon, 9 Jan 2023 11:17:44 +0000 (12:17 +0100)]
Merge pull request #12397 from rgacogne/fix-cachecleaner
cachecleaner: Add cmath, needed for std::ceil and std::round
Otto Moerbeek [Mon, 9 Jan 2023 09:22:19 +0000 (10:22 +0100)]
Introduce a thread-safe version of stringerror()
It turns out we already have the code, so call it.
Remi Gacogne [Mon, 9 Jan 2023 11:16:31 +0000 (12:16 +0100)]
Merge pull request #12354 from rgacogne/ddist-unique-ednsoptions
dnsdist: Move DNSQuestion's EDNS options to a unique pointer
Remi Gacogne [Mon, 9 Jan 2023 11:09:28 +0000 (12:09 +0100)]
cachecleaner: Add cmath, needed for std::ceil and std::round
Remi Gacogne [Mon, 9 Jan 2023 10:31:12 +0000 (11:31 +0100)]
dnsdist: Move the exception handling out of handleOnePacket()
Remi Gacogne [Mon, 9 Jan 2023 10:24:42 +0000 (11:24 +0100)]
dnsdist: Use EDNSOptionViewMap in more places
As suggested by Otto.
Remi Gacogne [Mon, 9 Jan 2023 10:16:11 +0000 (11:16 +0100)]
Merge pull request #12365 from rgacogne/ddist-fix-tcp-queued-underflow-12357
dnsdist: Prevent an underflow of the TCP d_queued counter
Remi Gacogne [Mon, 9 Jan 2023 09:35:32 +0000 (10:35 +0100)]
Add an --enable-fortify-source configure option
The option defaults to 2 to keep the existing behaviour, but 3 and
auto are supported, with auto trying to select the highest version
supported by the compiler.
Otto Moerbeek [Fri, 6 Jan 2023 16:08:30 +0000 (17:08 +0100)]
Merge pull request #12391 from omoerbeek/dnsdist-pgpkeys
dnsdist: update pgp keys listed in docs: add Otto, move Pieter and Bert to old keys