]>
git.ipfire.org Git - thirdparty/pdns.git/log
Remi Gacogne [Wed, 3 Mar 2021 15:14:07 +0000 (16:14 +0100)]
dnsdist: Use modern C++-for loops, as suggested by Otto
Remi Gacogne [Wed, 3 Mar 2021 13:49:03 +0000 (14:49 +0100)]
dnsdist: Remove now unused shard index, we scan every shard anyway
Remi Gacogne [Wed, 3 Mar 2021 10:26:25 +0000 (11:26 +0100)]
dnsdist: Revert 'Remove the useless separate entries counter from the cache'
We should not be getting the size of the map without locking it, so
keeping a separate counter is better for now.
Remi Gacogne [Wed, 3 Mar 2021 09:33:12 +0000 (10:33 +0100)]
dnsdist: Prevent an infinite loop when a cache shard is below the limit
Remi Gacogne [Wed, 3 Mar 2021 08:31:44 +0000 (09:31 +0100)]
dnsdist: Make sure the TTD is expired in the cache cleaning unit tests
We were using a too small time margin in the test, causing some issues
to not be expired when the test takes more than one second to insert
the cache entries.
Use a one-hour margin instead.
Remi Gacogne [Tue, 2 Mar 2021 17:16:59 +0000 (18:16 +0100)]
dnsdist: Use modern C++ loops in the packet cache code
Remi Gacogne [Tue, 2 Mar 2021 17:08:17 +0000 (18:08 +0100)]
dnsdist: Remove the useless separate entries counter from the cache
Getting the size of the map is a constant-time operation and should
be as accurate so let's just use that.
Remi Gacogne [Tue, 2 Mar 2021 17:03:17 +0000 (18:03 +0100)]
dnsdist: Remove entries from all the packet cache's shards as well
Remi Gacogne [Tue, 2 Mar 2021 16:50:54 +0000 (17:50 +0100)]
dnsdist: Clean up expired entries from all the packet cache's shards
Otherwise we might remove enough entries from the first shards only
and stop there, which means that the other shards might remain full.
This might be fine if we clean up often enough since the next cleaning
run will start with the remaining shards, but that's sub-optimal when
we are often nearly full because it will prevent new entries from being
inserted in the shards that are full.
Remi Gacogne [Tue, 2 Mar 2021 14:23:28 +0000 (15:23 +0100)]
Merge pull request #10130 from rgacogne/ddist-src-itf-selection
dnsdist: Remove forgotten warning about source interface selection
Remi Gacogne [Tue, 2 Mar 2021 12:51:23 +0000 (13:51 +0100)]
dnsdist: Remove forgotten warning about source interface selection
Remi Gacogne [Tue, 2 Mar 2021 12:29:46 +0000 (13:29 +0100)]
Merge pull request #10108 from rgacogne/ddist-tcp-fixes
dnsdist: Fix several bugs in the TCP code path, add unit tests
Remi Gacogne [Wed, 24 Feb 2021 14:20:03 +0000 (15:20 +0100)]
dnsdist: Also update the TTD on a 'write' IO update
Remi Gacogne [Wed, 24 Feb 2021 13:46:38 +0000 (14:46 +0100)]
dnsdist: Re-enable TCP unit tests causing a lot of queries
Remi Gacogne [Wed, 24 Feb 2021 13:38:39 +0000 (14:38 +0100)]
Fix TCP_FASTOPEN_CONNECT detection, add a fastOpen option to sdig
Remi Gacogne [Mon, 22 Feb 2021 10:05:20 +0000 (11:05 +0100)]
dnsdist: Fix sorting in Makefile.am (again)
Remi Gacogne [Mon, 22 Feb 2021 09:37:16 +0000 (10:37 +0100)]
dnsdist: dnsdist-tcp-downstream.cc sorts _before_ dnsdist-tcp.cc
Remi Gacogne [Fri, 19 Feb 2021 15:37:42 +0000 (16:37 +0100)]
dnsdist: More TCP unit tests, clean up the existing ones
Remi Gacogne [Thu, 18 Feb 2021 18:15:22 +0000 (19:15 +0100)]
dnsdist: Fix some non-realistic TCP unit tests
Remi Gacogne [Thu, 18 Feb 2021 17:11:30 +0000 (18:11 +0100)]
dnsdist: Add a unit test for TCP I/O errors with pending queries
Remi Gacogne [Thu, 18 Feb 2021 16:45:06 +0000 (17:45 +0100)]
dnsdist: Add a unit test for outgoing proxy protocol over TCP
Remi Gacogne [Thu, 18 Feb 2021 16:39:04 +0000 (17:39 +0100)]
dnsdist: Fix the addition of the proxy protocol payload when reconnecting
Remi Gacogne [Thu, 18 Feb 2021 13:55:11 +0000 (14:55 +0100)]
dnsdist: Mark GnuTLS DoT connections as closed for reading as well
Remi Gacogne [Wed, 17 Feb 2021 18:01:09 +0000 (19:01 +0100)]
dnsdist: Clean up XFR handling
Remi Gacogne [Wed, 17 Feb 2021 16:22:16 +0000 (17:22 +0100)]
dnsdist: Remove redundant test in the TCP path
Remi Gacogne [Wed, 17 Feb 2021 16:21:26 +0000 (17:21 +0100)]
dnsdist: Add more TCP OOOR unit tests
Remi Gacogne [Tue, 16 Feb 2021 17:54:48 +0000 (18:54 +0100)]
dnsdist: More TCP unit tests
Remi Gacogne [Tue, 16 Feb 2021 17:53:10 +0000 (18:53 +0100)]
dnsdist: Fix a possible nullptr-dereference in TCP handling
We need to be careful about the client going away (closes the connection,
for example) while we are sending queued responses.
Remi Gacogne [Mon, 15 Feb 2021 17:49:58 +0000 (18:49 +0100)]
dnsdist: More TCP out-of-order unit tests
Remi Gacogne [Mon, 15 Feb 2021 14:47:56 +0000 (15:47 +0100)]
dnsdist: Stricter IO checks in the TCP unit tests and more OOOR tests
Remi Gacogne [Mon, 15 Feb 2021 14:45:58 +0000 (15:45 +0100)]
dnsdist: Send a TCP query to the backend if we are not reading an answer
Remi Gacogne [Mon, 15 Feb 2021 14:37:27 +0000 (15:37 +0100)]
dnsdist: Add the TCP response size to the verbose message
Remi Gacogne [Thu, 11 Feb 2021 18:04:37 +0000 (19:04 +0100)]
dnsdist: Add a lot more of TCP unit tests
Remi Gacogne [Fri, 12 Feb 2021 16:56:18 +0000 (17:56 +0100)]
dnsdist: Better handling of backend TCP responses
Remi Gacogne [Thu, 11 Feb 2021 18:03:07 +0000 (19:03 +0100)]
dnsdist: Better handling of TCP responses mixed with queries
Remi Gacogne [Thu, 11 Feb 2021 18:02:03 +0000 (19:02 +0100)]
dnsdist: Clean up the Downstream TCP code by using a TCPIOHandler
Remi Gacogne [Wed, 10 Feb 2021 17:57:02 +0000 (18:57 +0100)]
dnsdist: Add more TCP unit tests
Remi Gacogne [Wed, 10 Feb 2021 17:56:03 +0000 (18:56 +0100)]
dnsdist: No need to retry if the last IO operation failed
Remi Gacogne [Tue, 9 Feb 2021 17:56:09 +0000 (18:56 +0100)]
dnsdist: [WIP] Add unit tests for the TCP stack
Remi Gacogne [Mon, 8 Feb 2021 16:44:11 +0000 (17:44 +0100)]
dnsdist: Fix exceptions handling in TCP/DoT worker threads
Remi Gacogne [Mon, 8 Feb 2021 15:52:45 +0000 (16:52 +0100)]
dnsdist: Add a bit more output to the TCP states debug log
Remi Gacogne [Mon, 8 Feb 2021 15:25:31 +0000 (16:25 +0100)]
dnsdist: Report the error when the GnuTLS handshake failed
Remi Gacogne [Mon, 8 Feb 2021 15:09:32 +0000 (16:09 +0100)]
dnsdist: Minor clean-ups in dnsdist-tcp.cc
Remi Gacogne [Mon, 8 Feb 2021 15:01:07 +0000 (16:01 +0100)]
dnsdist: Add an option to set the size of the TCP internal pipe's buffer
Remi Gacogne [Mon, 8 Feb 2021 14:35:00 +0000 (15:35 +0100)]
dnsdist: Move TCPClientCollection ctor to dnsdist-tcp.cc
Remi Gacogne [Mon, 8 Feb 2021 14:26:13 +0000 (15:26 +0100)]
dnsdist: Prefix the static TCP client counting vars with 's_'
Remi Gacogne [Mon, 8 Feb 2021 14:24:28 +0000 (15:24 +0100)]
dnsdist: Make sure we close the TLS layer before the descriptor
Remi Gacogne [Tue, 2 Mar 2021 09:21:48 +0000 (10:21 +0100)]
Merge pull request #10047 from rgacogne/rec-aggressive-nsec-caching
rec: Implement rfc 8198 - Aggressive Use of DNSSEC-Validated Cache
Otto Moerbeek [Fri, 26 Feb 2021 11:39:26 +0000 (12:39 +0100)]
Merge pull request #10112 from omoerbeek/rec-less-cdname-logging
rec: Be less verbose telling we are looking up CNAMEs or DNAMEs
Remi Gacogne [Wed, 24 Feb 2021 17:20:30 +0000 (18:20 +0100)]
rec: Skip the aggressive NSEC cache for internal and forward zones
Otto Moerbeek [Wed, 24 Feb 2021 16:39:20 +0000 (17:39 +0100)]
Merge pull request #10111 from omoerbeek/rec-drop-from-lua
rec: Handle policy (if needed) after postresolve and document the hooks better
Remi Gacogne [Wed, 24 Feb 2021 15:32:06 +0000 (16:32 +0100)]
Merge pull request #9361 from cmouse/tostring
Tostring
Otto Moerbeek [Wed, 24 Feb 2021 15:31:27 +0000 (16:31 +0100)]
Update pdns/recursordist/docs/lua-scripting/hooks.rst
Co-authored-by: Remi Gacogne <rgacogne+github@valombre.net>
Otto Moerbeek [Wed, 24 Feb 2021 15:27:56 +0000 (16:27 +0100)]
Merge pull request #10113 from omoerbeek/rec-protobuf-vstate
rec: Add validation state to protobuf message.
Remi Gacogne [Wed, 24 Feb 2021 15:25:54 +0000 (16:25 +0100)]
Merge pull request #10103 from rgacogne/ddist-doc-sessions-management
dnsdist: Add a "TLS sessions management" guide
Remi Gacogne [Wed, 24 Feb 2021 15:18:36 +0000 (16:18 +0100)]
rec: Fix handling of the DNAME bit in parent NSEC(3)s
Aki Tuomi [Wed, 29 Jul 2020 10:47:30 +0000 (13:47 +0300)]
dnsdist: Fix tests to use tostring
Aki Tuomi [Wed, 29 Jul 2020 09:51:44 +0000 (12:51 +0300)]
dnsdist: Add __tostring to TimedIPRules
Aki Tuomi [Wed, 29 Jul 2020 09:50:40 +0000 (12:50 +0300)]
dnsdist: Use __tostring instead of toString
LuaWrapper supports __tostring for objects to make
str() work.
Remi Gacogne [Wed, 24 Feb 2021 10:47:17 +0000 (11:47 +0100)]
dnsdist: Clarify that sessions and tickets are supported, how the STEK should be stored
Remi Gacogne [Wed, 24 Feb 2021 10:34:19 +0000 (11:34 +0100)]
rec: Enable the aggressive NSEC cache by default, if DNSSEC is enabled
Remi Gacogne [Wed, 24 Feb 2021 10:12:46 +0000 (11:12 +0100)]
rec: Add regression tests for the aggressive NSEC cache
Remi Gacogne [Wed, 24 Feb 2021 09:50:38 +0000 (10:50 +0100)]
rec: Clean up the wildcard denial validation code
Remi Gacogne [Tue, 23 Feb 2021 17:27:02 +0000 (18:27 +0100)]
rec: Fix the generation of positive answer from a NSEC+wildcard
Remi Gacogne [Tue, 23 Feb 2021 17:26:14 +0000 (18:26 +0100)]
rec: Cleaner way of getting the closest encloser from a NSEC
Remi Gacogne [Tue, 23 Feb 2021 13:09:55 +0000 (14:09 +0100)]
rec: Convert the warning about storing in raw form to a comment
Remi Gacogne [Tue, 23 Feb 2021 09:06:01 +0000 (10:06 +0100)]
rec: Test if the aggressive NSEC cache is enabled first
Making it easier to understand what the test is about.
Also remove a comment about moving the aggressive NSEC cache lookup
after the DNSSEC zone cut computation since it's going away.
Remi Gacogne [Tue, 23 Feb 2021 08:59:58 +0000 (09:59 +0100)]
rec: Remove empty zones from the aggressive NSEC cache
Otto [Tue, 23 Feb 2021 08:51:57 +0000 (09:51 +0100)]
Zap TA and NTA enum values, they are for internal use only
Otto [Wed, 10 Feb 2021 11:04:43 +0000 (12:04 +0100)]
Fix signed vs unsigned warnings on OpenBSD/clang
Remi Gacogne [Mon, 22 Feb 2021 17:28:20 +0000 (18:28 +0100)]
rec: Don't increase the number of aggressive cache entries when replacing
Remi Gacogne [Mon, 22 Feb 2021 16:26:14 +0000 (17:26 +0100)]
rec: Don't delete aggressive cache entries while they are locked
Remi Gacogne [Mon, 22 Feb 2021 16:21:50 +0000 (17:21 +0100)]
rec: Check that the salt and iterations count match for NSEC3 entries
Otherwise we could end up using a hash computed with the wrong parameters,
and thus not proving what we expected.
Remi Gacogne [Wed, 3 Feb 2021 10:44:22 +0000 (11:44 +0100)]
rec: Unbreak aggressive NSEC unit tests on older boost versions
Remi Gacogne [Tue, 2 Feb 2021 15:06:39 +0000 (16:06 +0100)]
rec: Add comment about moving the aggressive NSEC cache check
Remi Gacogne [Tue, 2 Feb 2021 15:05:05 +0000 (16:05 +0100)]
rec: Fix invalid DS denial for a NXDomain name
Remi Gacogne [Fri, 8 Jan 2021 16:08:14 +0000 (17:08 +0100)]
rec: Don't wait on the aggressive cache's locks
Remi Gacogne [Fri, 8 Jan 2021 15:58:00 +0000 (16:58 +0100)]
rec: Fix and add unit tests for Aggressive NSEC cache cleaning, dump, wiping
Remi Gacogne [Thu, 7 Jan 2021 15:21:34 +0000 (16:21 +0100)]
rec: Cache cleaning, make the aggressive nsec cache size configurable
Remi Gacogne [Wed, 6 Jan 2021 10:41:13 +0000 (11:41 +0100)]
rec: Add warning about trying to get the lock instead of waiting
Remi Gacogne [Wed, 6 Jan 2021 09:22:19 +0000 (10:22 +0100)]
rec: Ponder doing the aggressive cache check later
Remi Gacogne [Tue, 5 Jan 2021 16:19:50 +0000 (17:19 +0100)]
rec: Add support for wiping the aggressive cache
Remi Gacogne [Tue, 5 Jan 2021 14:49:52 +0000 (15:49 +0100)]
rec: Document the aggressive NSEC caching setting
Remi Gacogne [Tue, 5 Jan 2021 14:49:24 +0000 (15:49 +0100)]
rec: Add metrics for Aggressive NSEC caching
Remi Gacogne [Tue, 5 Jan 2021 13:03:03 +0000 (14:03 +0100)]
rec: Exclude minimally covering NSEC{,3} from the aggressive cache
Remi Gacogne [Mon, 4 Jan 2021 17:43:12 +0000 (18:43 +0100)]
rec: Synthesize wildcard answers from the aggressive NSEC cache
Remi Gacogne [Thu, 31 Dec 2020 17:20:23 +0000 (18:20 +0100)]
rec: First unit tests for aggressive NSEC
Remi Gacogne [Thu, 31 Dec 2020 15:28:30 +0000 (16:28 +0100)]
rec: Small cleanup of DNSSEC denial validation
Remi Gacogne [Thu, 31 Dec 2020 12:43:32 +0000 (13:43 +0100)]
rec: More wildcard denial tests, check DNAME
Remi Gacogne [Wed, 30 Dec 2020 17:27:17 +0000 (18:27 +0100)]
rec: Better aggressive NSEC/NSEC3. Needs tests, refactoring, perhaps wildcard synth
Remi Gacogne [Tue, 29 Dec 2020 17:16:58 +0000 (18:16 +0100)]
rec: Aggressive NSEC3 caching as well!
Remi Gacogne [Tue, 22 Dec 2020 17:12:38 +0000 (18:12 +0100)]
rec: Fix DNSSEC validation, exact ancestor NSEC is usable for the DS
Remi Gacogne [Fri, 19 Jun 2020 16:45:37 +0000 (18:45 +0200)]
rec: Use a separate cache for aggressive NSEC to keep things simple
Remi Gacogne [Tue, 22 Dec 2020 16:51:59 +0000 (17:51 +0100)]
rec: Fix wrong NSEC generation (zone cut) in a unit test
Otto [Mon, 22 Feb 2021 14:24:35 +0000 (15:24 +0100)]
Add validation state to protobuf message.
Fixes #8587.
Otto Moerbeek [Mon, 22 Feb 2021 12:35:31 +0000 (13:35 +0100)]
Merge pull request #10106 from omoerbeek/rec-latency-calc
Rec: refactor latency and histogram calculations
Otto Moerbeek [Mon, 22 Feb 2021 12:33:01 +0000 (13:33 +0100)]
Merge pull request #10109 from omoerbeek/pr/9654
rec: followup to #9654: Add Policy Kind / RPZ action to Protobuf messages
Otto Moerbeek [Mon, 22 Feb 2021 12:30:07 +0000 (13:30 +0100)]
Merge pull request #10089 from omoerbeek/rec-x-dnssec-counters
rec: Count DNSSEC stats for some names in a different set of counters
Otto Moerbeek [Mon, 22 Feb 2021 11:56:08 +0000 (12:56 +0100)]
Apply suggestions from code review
Co-authored-by: Remi Gacogne <rgacogne+github@valombre.net>
Otto [Mon, 22 Feb 2021 11:27:47 +0000 (12:27 +0100)]
Process review comments