]>
git.ipfire.org Git - thirdparty/pdns.git/log
Otto Moerbeek [Thu, 24 Feb 2022 19:18:13 +0000 (20:18 +0100)]
Introduce dnsheader_aligned: a help class to access dnsheaders data
in a potentially unaligned buffer
Otto Moerbeek [Wed, 23 Feb 2022 11:22:10 +0000 (12:22 +0100)]
Merge pull request #11349 from omoerbeek/rec-alias-lua
Rec: do not tread qtype ALIAS and LUA special
Otto Moerbeek [Wed, 23 Feb 2022 10:29:01 +0000 (11:29 +0100)]
Create a rec specific example.com test zone as rec does not know ALIAS now
Remi Gacogne [Wed, 23 Feb 2022 09:55:17 +0000 (10:55 +0100)]
Merge pull request #11348 from rgacogne/ddist-fix-compilation-coverity
dnsdist: Fix broken compilation, issues reported by Coverity
Otto Moerbeek [Wed, 23 Feb 2022 09:18:48 +0000 (10:18 +0100)]
Make sure rec does not know ALIAS and LUA
Otto Moerbeek [Wed, 23 Feb 2022 09:18:03 +0000 (10:18 +0100)]
Do not special case ALIAS and LUA, rec has should have no special knowledge of those
Remi Gacogne [Wed, 23 Feb 2022 09:00:30 +0000 (10:00 +0100)]
dnsdist: Make Coverity happy
- Test that a TCP response has a valid connection
- Remove a temporary when constructing the ring buffers
Remi Gacogne [Wed, 23 Feb 2022 08:59:23 +0000 (09:59 +0100)]
dnsdist: Fix a 'use after move' in newServer()
Reported by Coverity (CID 376518).
Remi Gacogne [Wed, 23 Feb 2022 08:57:50 +0000 (09:57 +0100)]
dnsdist: Fix compilation issue resulting from a conflict between changes in #11293 and #11334
Otto Moerbeek [Wed, 23 Feb 2022 08:35:45 +0000 (09:35 +0100)]
Merge pull request #11338 from omoerbeek/rec-addrtask
rec: QType ADDR is supposed to be used internally only.
Remi Gacogne [Wed, 23 Feb 2022 08:34:43 +0000 (09:34 +0100)]
Merge pull request #11334 from rgacogne/ddist-fix-xfr-error-crash
dnsdist: Fix a use-after-free in case of a network error in the middle of a XFR query
Otto Moerbeek [Wed, 23 Feb 2022 06:44:45 +0000 (07:44 +0100)]
Use structured logging
Otto Moerbeek [Mon, 21 Feb 2022 15:11:37 +0000 (16:11 +0100)]
Drop queries with packet types we do not like.
While working on this, I noticed inconsistencies between UDP and TDP logging:
1 uses g_quiet, the other g_logCommonErrors. This needs to be revisited.
Also: the use of MT->getTid() seems strange, as it is used in places where
no mthread has been started yet in doProcessUDPQuestion() and handleRunningTCPQuestion().
That is, unless I'm missing something.
Otto Moerbeek [Mon, 21 Feb 2022 08:21:07 +0000 (09:21 +0100)]
Change log level to DEBUG, as the condition is externally triggerable.
Otto Moerbeek [Fri, 18 Feb 2022 16:53:15 +0000 (17:53 +0100)]
Formatting
Otto Moerbeek [Fri, 18 Feb 2022 16:38:00 +0000 (17:38 +0100)]
Log error on wrong task push
Otto Moerbeek [Fri, 18 Feb 2022 15:24:11 +0000 (16:24 +0100)]
QType ADDR is supposed to be used internally only.
Should fix #11337
Otto Moerbeek [Tue, 22 Feb 2022 19:53:15 +0000 (20:53 +0100)]
Merge pull request #11347 from omoerbeek/rec-murmur-unaligned
rec: fix unaligned access is murmur hash code used by NOD
Otto Moerbeek [Tue, 22 Feb 2022 18:37:38 +0000 (19:37 +0100)]
Merge pull request #11302 from omoerbeek/rec-additional
Rec: add Additonal records to query results if appropriate
Otto Moerbeek [Tue, 22 Feb 2022 18:36:56 +0000 (19:36 +0100)]
fix innocent type mixup
Co-authored-by: Remi Gacogne <github@coredump.fr>
Remi Gacogne [Tue, 22 Feb 2022 18:09:05 +0000 (19:09 +0100)]
Merge pull request #11293 from rgacogne/ddist-backend-discovery-rebased
dnsdist: Dynamic discovery and upgrade of backends
Otto Moerbeek [Tue, 22 Feb 2022 10:19:51 +0000 (11:19 +0100)]
Apply suggestions from code review
Co-authored-by: Remi Gacogne <github@coredump.fr>
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: Peter van Dijk <peter.van.dijk@powerdns.com>
Otto Moerbeek [Tue, 15 Feb 2022 11:53:07 +0000 (12:53 +0100)]
Add tests for additionals
Otto Moerbeek [Tue, 15 Feb 2022 11:51:51 +0000 (12:51 +0100)]
For dedupping RRSIGs we need to take into account the type covered.
Fix thinko: even if we' not doing IPvN ourselves, it stil can be interesting for clients
Otto Moerbeek [Tue, 15 Feb 2022 09:25:07 +0000 (10:25 +0100)]
Add docs for addAllowedAdditionalQType()
Otto Moerbeek [Mon, 14 Feb 2022 11:26:20 +0000 (12:26 +0100)]
Allow not shuffling the Additionals
Otto Moerbeek [Fri, 11 Feb 2022 07:46:03 +0000 (08:46 +0100)]
Better DNSSEC handling: do not add Intermnediates if validation is required.
Also remember the validation status of the main query.
Otto Moerbeek [Mon, 7 Feb 2022 14:56:03 +0000 (15:56 +0100)]
Add recursion, the records found can be subject to expansion
Otto Moerbeek [Tue, 22 Feb 2022 13:26:26 +0000 (14:26 +0100)]
rec: fix unaligned access is murmur hash code used by NOD
Otto Moerbeek [Tue, 22 Feb 2022 14:32:59 +0000 (15:32 +0100)]
Merge pull request #11294 from omoerbeek/rec-resolve-aaaa-task
Rec: resolve AAAA for NS in an async task
Remi Gacogne [Tue, 22 Feb 2022 12:33:19 +0000 (13:33 +0100)]
dnsdist: Document that whether we upgrade to DoT or DoH depends on the SVCB record
Otto Moerbeek [Tue, 22 Feb 2022 09:50:04 +0000 (10:50 +0100)]
Add unit tests for taskqueue, removing the old stub code and using the real stuff
Remi Gacogne [Thu, 17 Feb 2022 09:31:12 +0000 (10:31 +0100)]
dnsdist: Fix an off-by-one second issue in the health-check interval
Remi Gacogne [Wed, 16 Feb 2022 16:15:00 +0000 (17:15 +0100)]
dnsdist: Schedule an immediate health-check for upgraded backends
Remi Gacogne [Wed, 16 Feb 2022 16:14:11 +0000 (17:14 +0100)]
dnsdist: Fix backends kept after upgrade no longer working
Remi Gacogne [Wed, 16 Feb 2022 15:00:07 +0000 (16:00 +0100)]
dnsdist: Remove move-constructor and move copy operator for DownstreamState
Remi Gacogne [Fri, 11 Feb 2022 08:45:37 +0000 (09:45 +0100)]
iputils: Stop using boost::format for error messages
Remi Gacogne [Thu, 10 Feb 2022 14:50:54 +0000 (15:50 +0100)]
dnsdist: Wait a bit longer in the Backend Discovery regression tests
Otherwise TSAN complains about a race in `boost::format` between the
connection error message in `SConnectWithTimeout()` and the output of
`showServers()`..
Remi Gacogne [Thu, 10 Feb 2022 10:40:31 +0000 (11:40 +0100)]
dnsdist: Do a second backend upgrade check if the first failed, in the regression tests
Remi Gacogne [Wed, 9 Feb 2022 10:41:59 +0000 (11:41 +0100)]
dnsdist: Remove duplicated TSAN suppressions file
Remi Gacogne [Wed, 9 Feb 2022 10:41:28 +0000 (11:41 +0100)]
dnsdist: Ignore the data race in 'DownstreamState::stop()'
Remi Gacogne [Wed, 9 Feb 2022 09:44:35 +0000 (10:44 +0100)]
dnsdist: Properly stop upgraded backends, remove them from pools
Remi Gacogne [Tue, 8 Feb 2022 16:46:26 +0000 (17:46 +0100)]
dnsdist: Require dnspython >= 2.2.0 in our regression tests for SVCB
Remi Gacogne [Tue, 8 Feb 2022 16:43:02 +0000 (17:43 +0100)]
dnsdist: The certificate in our regression tests now has '127.0.0.1'
Remi Gacogne [Tue, 8 Feb 2022 09:37:17 +0000 (10:37 +0100)]
dnsdist: Add regression tests for backend discovery
Remi Gacogne [Tue, 8 Feb 2022 09:35:19 +0000 (10:35 +0100)]
TCPIOHandler: Handle validation of IP addresses in certificates
Remi Gacogne [Mon, 7 Feb 2022 17:23:41 +0000 (18:23 +0100)]
dnsdist: Inherit TLS parameters from the initial backend when upgrading
Remi Gacogne [Mon, 7 Feb 2022 16:44:00 +0000 (17:44 +0100)]
dnsdist: Fix additional records count in discovery queries
Remi Gacogne [Mon, 7 Feb 2022 14:16:33 +0000 (15:16 +0100)]
dnsdist: Check whether the discovered backend is actually usable
Remi Gacogne [Mon, 7 Feb 2022 14:15:57 +0000 (15:15 +0100)]
dnsdist: Use dnsdist::ServiceDiscovery::s_defaultDoHSVCKey in newServer
Remi Gacogne [Mon, 7 Feb 2022 14:15:02 +0000 (15:15 +0100)]
dnsdist: Use OpenSSL as the default TLS provider in client mode
Remi Gacogne [Fri, 4 Feb 2022 15:14:34 +0000 (16:14 +0100)]
dnsdist: Uglify the code to make the formatter happy
Remi Gacogne [Fri, 7 Jan 2022 16:40:50 +0000 (17:40 +0100)]
dnsdist: Dynamic discovery and upgrade of backends
Remi Gacogne [Fri, 4 Feb 2022 14:27:19 +0000 (15:27 +0100)]
dnsdist: Separate config from running members in DownstreamState
Remi Gacogne [Tue, 22 Feb 2022 08:25:01 +0000 (09:25 +0100)]
Merge pull request #11163 from rgacogne/ddist-random-ports
dnsdist: Allow randomly selecting a backend UDP socket and query ID
Remi Gacogne [Tue, 22 Feb 2022 08:24:06 +0000 (09:24 +0100)]
Merge pull request #11323 from rgacogne/ddist-latency-count
dnsdist: Fix the latency-count metric
Otto Moerbeek [Tue, 22 Feb 2022 07:57:17 +0000 (08:57 +0100)]
Typo's in comments spotted by reviewers
Otto Moerbeek [Tue, 22 Feb 2022 07:17:34 +0000 (08:17 +0100)]
Better description of latency-count and latency-bucket
Remi Gacogne [Mon, 21 Feb 2022 11:35:22 +0000 (12:35 +0100)]
Merge pull request #11324 from rgacogne/ddist-gnutls-leak-fixed-373
dnsdist: Remove the leak warning with GnuTLS >= 3.7.3
Peter van Dijk [Sun, 20 Feb 2022 18:11:29 +0000 (19:11 +0100)]
Merge pull request #11344 from mnordhoff/patch-9
docs: Fix lmdb-map-size copy and paste mistake
Matt Nordhoff [Sun, 20 Feb 2022 17:32:34 +0000 (17:32 +0000)]
docs: Fix lmdb-map-size copy and paste mistake
Otto Moerbeek [Sat, 19 Feb 2022 16:11:24 +0000 (17:11 +0100)]
Purge rate limiting set for sure
Peter van Dijk [Fri, 18 Feb 2022 09:34:36 +0000 (10:34 +0100)]
Merge pull request #11328 from Habbie/auth-lmdb-map-size
auth lmdb: make map size configurable
Peter van Dijk [Tue, 15 Feb 2022 15:21:32 +0000 (16:21 +0100)]
auth lmdb: make map size configurable
Otto Moerbeek [Fri, 18 Feb 2022 08:20:35 +0000 (09:20 +0100)]
Merge pull request #11327 from omoerbeek/rec-follow-and-dns64
Rec: followCNAME and native dns64
Peter van Dijk [Thu, 17 Feb 2022 18:22:57 +0000 (19:22 +0100)]
Merge pull request #11333 from Habbie/auth-4.7.0-alpha1-docs
auth-4.7.0-alpha1: changelog & secpoll
Otto Moerbeek [Thu, 17 Feb 2022 14:43:55 +0000 (15:43 +0100)]
Don't rate limit refresh tasks, they are already rate limited by packet and record cache code.
Otto Moerbeek [Wed, 16 Feb 2022 09:31:31 +0000 (10:31 +0100)]
General rate limit on taskqueue tasks
Otto Moerbeek [Wed, 16 Feb 2022 07:39:33 +0000 (08:39 +0100)]
Move to structured logging for taskq. As this is almost 100%
debug only logging, no backward compat mode
Otto Moerbeek [Tue, 1 Feb 2022 14:45:54 +0000 (15:45 +0100)]
If we have to resolve a nameserver name, submit a AAAA query for the
same name asynchronously if it's not in the negcache.
Peter van Dijk [Thu, 17 Feb 2022 14:46:46 +0000 (15:46 +0100)]
Merge pull request #11336 from aerique/feature/add-auth-47-to-repo-script
Add auth-47 to repo test script.
Erik Winkels [Thu, 17 Feb 2022 12:21:13 +0000 (13:21 +0100)]
Add auth-47 to repo test script.
Remi Gacogne [Thu, 17 Feb 2022 11:23:27 +0000 (12:23 +0100)]
dnsdist: Add a unit test for the "I/O error during proxy-enabled XFR" case
Remi Gacogne [Thu, 17 Feb 2022 10:22:44 +0000 (11:22 +0100)]
dnsdist: Fix a use-after-free in case of a network error in the middle of a XFR query
Peter van Dijk [Thu, 17 Feb 2022 08:26:02 +0000 (09:26 +0100)]
auth-4.7.0-alpha1: changelog & secpoll
Remi Gacogne [Wed, 16 Feb 2022 14:51:23 +0000 (15:51 +0100)]
dnsdist: Document the default behaviour of setRandomizedIdsOverUDP and setRandomizedOutgoingSockets
Remi Gacogne [Wed, 16 Feb 2022 14:50:48 +0000 (15:50 +0100)]
dnsdist: Use randombytes_random() instead of randombytes_uniform() without bounds
Otto Moerbeek [Tue, 15 Feb 2022 13:09:36 +0000 (14:09 +0100)]
Add test case for #11320: followCNAMERecords leads to a result that
should be subject to dns64 processing
Otto Moerbeek [Mon, 14 Feb 2022 14:39:17 +0000 (15:39 +0100)]
If we get NODATA on an AAAA in followCNAMERecords, try dns64
Fixes #11320
Remi Gacogne [Tue, 15 Feb 2022 08:35:59 +0000 (09:35 +0100)]
Merge pull request #11322 from rgacogne/svc-typo-error-msg
Add a missing white-space in SvcParam::keyFromString()
Peter van Dijk [Tue, 15 Feb 2022 07:01:39 +0000 (08:01 +0100)]
Merge pull request #11326 from omoerbeek/pdnsutil-import-zone-key-pem
Check return value of DNSCryptoKeyEngine::makeFromPEMString()
Peter van Dijk [Tue, 15 Feb 2022 06:15:25 +0000 (07:15 +0100)]
Merge pull request #11309 from Habbie/lmdb-random-id
auth lmdb: add random ID generation feature
Otto Moerbeek [Mon, 14 Feb 2022 19:49:40 +0000 (20:49 +0100)]
Check return value of DNSCryptoKeyEngine::makeFromPEMString() and
do not implement non-implemented features with an empty body.
Otto Moerbeek [Mon, 7 Feb 2022 13:53:26 +0000 (14:53 +0100)]
Basic NAPTR handling plys different modes: Ignore, CacheOnly, CacheOnlyRequireAuth, ResolveImmediately, ResolveDeferred
Otto Moerbeek [Mon, 7 Feb 2022 12:46:13 +0000 (13:46 +0100)]
Very basic (non-alias mode only) of procesing of SVCB target as a name to be used for additionals A and AAAA's.
Otto Moerbeek [Mon, 7 Feb 2022 11:38:33 +0000 (12:38 +0100)]
Initial version, showing some working functionality
Otto Moerbeek [Mon, 14 Feb 2022 19:07:00 +0000 (20:07 +0100)]
Merge pull request #11319 from omoerbeek/rec-lua-context
Read the base Lua definitions into the Lua context for reading the Lua config
Remi Gacogne [Mon, 14 Feb 2022 18:03:24 +0000 (19:03 +0100)]
Better GnuTLS warning as suggested by Matt Nordhoff
Co-authored-by: Matt Nordhoff <mnordhoff@mattnordhoff.com>
Remi Gacogne [Mon, 14 Feb 2022 16:43:11 +0000 (17:43 +0100)]
dnsdist: Remove the leak warning with GnuTLS >= 3.7.3
Remi Gacogne [Mon, 14 Feb 2022 16:30:03 +0000 (17:30 +0100)]
dnsdist: Fix the latency-count metric
Remi Gacogne [Mon, 14 Feb 2022 16:14:03 +0000 (17:14 +0100)]
Add a missing white-space in SvcParam::keyFromString()
Peter van Dijk [Fri, 4 Feb 2022 15:08:18 +0000 (16:08 +0100)]
auth lmdb: add random ID generation feature
Otto Moerbeek [Mon, 14 Feb 2022 14:41:57 +0000 (15:41 +0100)]
Merge pull request #11300 from omoerbeek/rec-sr-lua-context
rec: Use the Lua context stored in SyncRes when calling hooks.
Otto Moerbeek [Mon, 14 Feb 2022 13:55:10 +0000 (14:55 +0100)]
Also store the Lua context for the TCP case
Remi Gacogne [Mon, 14 Feb 2022 13:22:37 +0000 (14:22 +0100)]
Merge pull request #11313 from rgacogne/rec-missing-limits-include-extended
rec: Add missing 'limits' include in ednsextendederror.cc
Otto Moerbeek [Mon, 14 Feb 2022 12:08:02 +0000 (13:08 +0100)]
Overload operator -> to return a LuaContext*
@rgacogne suggested to return a LuaContext&, but AFAIKS that won't
fly because if the rescriction mentioned in
https://en.cppreference.com/w/cpp/language/operators:
The overload of operator -> must either return a raw pointer, or
return an object (by reference or by value) for which operator ->
is in turn overloaded.
As LuaContext has no -> operator, we must return a raw pointer.
Otto Moerbeek [Mon, 14 Feb 2022 08:25:16 +0000 (09:25 +0100)]
Store LuaContext shared pointer for the query in the ComboWriter object
Peter van Dijk [Mon, 14 Feb 2022 10:26:23 +0000 (11:26 +0100)]
Merge pull request #11315 from Habbie/el7-boost169
el7 builds: switch to boost 1.69
Otto Moerbeek [Mon, 14 Feb 2022 09:22:05 +0000 (10:22 +0100)]
Read the base Lua definitions into the Lua context for reading the Lua config.
This allows symbolic names for e.g. QTypes. Use that in protobufServer() and
outgoingProtobufServer(). Will also be used for the upcoming additional records code.
Peter van Dijk [Fri, 11 Feb 2022 18:11:47 +0000 (19:11 +0100)]
Merge pull request #11317 from Habbie/dnsdist-libedit
dnsdist: fix building without libedit