]>
git.ipfire.org Git - thirdparty/pdns.git/log
Peter van Dijk [Thu, 9 Sep 2021 13:02:13 +0000 (15:02 +0200)]
gh actions: add dummy spelling workflow so we can prevent old versions from running
Remi Gacogne [Wed, 8 Sep 2021 07:38:56 +0000 (09:38 +0200)]
Merge pull request #10695 from rgacogne/ddist-tc-tcp
dnsdist: Ignore TCAction over TCP
Remi Gacogne [Tue, 7 Sep 2021 15:30:30 +0000 (17:30 +0200)]
dnsdist: Fix EDNS tests on self-generated answers for TC over TCP
Remi Gacogne [Tue, 7 Sep 2021 14:28:07 +0000 (16:28 +0200)]
dnsdist: Ignore TCAction over TCP
Peter van Dijk [Wed, 1 Sep 2021 11:05:18 +0000 (13:05 +0200)]
Merge pull request #10536 from Habbie/gh-builder-upload
gh actions builder: upload built packages as artifacts
Remi Gacogne [Wed, 1 Sep 2021 07:43:38 +0000 (09:43 +0200)]
Merge pull request #10597 from rgacogne/ddist-svc
dnsdist: Implement SpoofSVCAction to return SVC responses
Peter van Dijk [Wed, 1 Sep 2021 07:34:28 +0000 (09:34 +0200)]
Merge pull request #10683 from Habbie/gh-actions-2
CI: move dnsdist tsan build+test from CircleCI to GH Actions
Peter van Dijk [Tue, 31 Aug 2021 15:17:17 +0000 (17:17 +0200)]
CI: move dnsdist tsan build+test from CircleCI to GH Actions
Peter van Dijk [Tue, 31 Aug 2021 09:17:08 +0000 (11:17 +0200)]
Merge pull request #10678 from jsoref/replace-apt-key-with-curl--o
Replace apt-key with curl -o
Josh Soref [Sun, 29 Aug 2021 14:49:48 +0000 (10:49 -0400)]
Replace apt-key with curl -o
apt-key is deprecated
Josh Soref [Sun, 29 Aug 2021 14:48:46 +0000 (10:48 -0400)]
docker: merge apt-get update & install layers
Otherwise the one could be stale relative to the other
Remi Gacogne [Mon, 30 Aug 2021 10:02:37 +0000 (12:02 +0200)]
Merge pull request #10681 from rgacogne/fix-ddist-coverity-build
dnsdist: Fix the Coverity build by adding the dev version of GnuTLS
Remi Gacogne [Mon, 30 Aug 2021 08:32:51 +0000 (10:32 +0200)]
dnsdist: Fix the Coverity build by adding the dev version of GnuTLS
Peter van Dijk [Mon, 30 Aug 2021 08:01:57 +0000 (10:01 +0200)]
Merge pull request #10672 from Habbie/lmdb-no-resize
lmdb-safe: resizing while there might be open transactions is unsafe
Peter van Dijk [Sun, 29 Aug 2021 20:00:10 +0000 (22:00 +0200)]
Merge pull request #10679 from jsoref/apt-get
docker: apt does not have a stable cli
Peter van Dijk [Sun, 29 Aug 2021 19:59:32 +0000 (21:59 +0200)]
Merge pull request #10677 from jsoref/advice
Try to improve advice
Josh Soref [Sun, 29 Aug 2021 15:24:14 +0000 (11:24 -0400)]
docker: apt does not have a stable cli
Josh Soref [Sun, 29 Aug 2021 14:33:16 +0000 (10:33 -0400)]
Try to improve advice
Remi Gacogne [Tue, 20 Jul 2021 08:20:32 +0000 (10:20 +0200)]
dnsdist: Fix formatting of SVC code, uglify tests for older compilers
Remi Gacogne [Mon, 19 Jul 2021 14:27:29 +0000 (16:27 +0200)]
dnsdist: Implement SpoofSVCAction to return SVC responses
Remi Gacogne [Fri, 27 Aug 2021 08:35:43 +0000 (10:35 +0200)]
Merge pull request #10338 from rgacogne/ddist-downstream-tls
dnsdist: Implement cross-protocol queries
Remi Gacogne [Fri, 27 Aug 2021 08:24:06 +0000 (10:24 +0200)]
Merge pull request #10674 from rgacogne/ddist-tls-provider-binding
dnsdist: Check that the expected TLS provider is in use in the regression tests
Remi Gacogne [Fri, 27 Aug 2021 08:23:54 +0000 (10:23 +0200)]
Merge pull request #10656 from rgacogne/ddist-mplexer-exception-dtor
dnsdist: Catch FDMultiplexerException in IOStateHandler's destructor
Remi Gacogne [Thu, 26 Aug 2021 15:54:07 +0000 (17:54 +0200)]
dnsdist: Enable GnuTLS support on Circle CI as well
Remi Gacogne [Thu, 26 Aug 2021 14:26:04 +0000 (16:26 +0200)]
dnsdist: Check that the expected TLS provider is in use in the regression tests
Remi Gacogne [Thu, 26 Aug 2021 14:25:36 +0000 (16:25 +0200)]
dnsdist: Provide bindings to know which TLS provider is in use
Remi Gacogne [Thu, 26 Aug 2021 15:18:18 +0000 (17:18 +0200)]
Merge pull request #10670 from rgacogne/ddist-gnutls-github-actions
dnsdist: Enable GnuTLS support in GitHub actions
Remi Gacogne [Thu, 26 Aug 2021 15:14:42 +0000 (17:14 +0200)]
Document the handshake handling differences between our TLS providers
Peter van Dijk [Thu, 26 Aug 2021 14:54:12 +0000 (16:54 +0200)]
Merge pull request #10673 from Habbie/dnsdist-tests-generate-cdb
dnsdist test: generate CDB files
Remi Gacogne [Wed, 25 Aug 2021 14:29:04 +0000 (16:29 +0200)]
dnsdist: Remove invalid static_assert in the DoH code (thanks Otto!)
Remi Gacogne [Thu, 8 Jul 2021 07:30:42 +0000 (09:30 +0200)]
dnsdist: Fix formatting in the 'dnsdist' namespace
Remi Gacogne [Thu, 1 Jul 2021 16:37:29 +0000 (18:37 +0200)]
dnsdist: Fix local response rules being copied in UDPTCPCrossQuerySender
Remi Gacogne [Fri, 11 Jun 2021 12:24:28 +0000 (14:24 +0200)]
dnsdist: Fix compilation with GnuTLS < 3.4.0
Remi Gacogne [Fri, 11 Jun 2021 10:25:34 +0000 (12:25 +0200)]
dnsdist: Use callbacks to retrieve TLS tickets sent by the server
In TLS 1.3, tickets can be sent at any moment of the TLS session,
and more importantly are not guaranteed to be sent before a few
bytes have been exchanged. In addition, GnuTLS invalidates a session
if the remote closes the connection in a unexpected way (which Python
seems to do, for example) so we can't rely on the ticket being available
at the end of the exchange either.
We now instead use callbacks so we can be notified as soon as a new
ticket arrives, and deal with it. We store inside the TLS connection
object so we can retrieve it at the end of the exchange, when
deciding whether the whole TCP connection can be reused or if we want
to tear it down and store the ticket for later resumption instead.
Remi Gacogne [Fri, 11 Jun 2021 10:24:46 +0000 (12:24 +0200)]
dnsdist: Check TLS session resumption for Outgoing TLS connections
Remi Gacogne [Thu, 10 Jun 2021 08:04:29 +0000 (10:04 +0200)]
dnsdist: Clear the responder response counters between regression tests
Remi Gacogne [Wed, 9 Jun 2021 15:23:17 +0000 (17:23 +0200)]
dnsdist: Fix compilation of the TCPIOHandler w/ old GnuTLS versions
Remi Gacogne [Wed, 9 Jun 2021 14:50:24 +0000 (16:50 +0200)]
dnsdist: Add regression tests for outgoing DoT support
Remi Gacogne [Wed, 9 Jun 2021 14:49:48 +0000 (16:49 +0200)]
dnsdist: Better error reporting for client-side GnuTLS validation issues
Remi Gacogne [Wed, 9 Jun 2021 10:07:42 +0000 (12:07 +0200)]
dnsdist: Fix an tx ID endianess issue for DoH -> truncated UDP -> TCP
Remi Gacogne [Wed, 9 Jun 2021 10:06:52 +0000 (12:06 +0200)]
dnsdist: Fix an EDNS UDP payload size issue for UDP -> TCP only
Remi Gacogne [Tue, 8 Jun 2021 15:13:07 +0000 (17:13 +0200)]
dnsdist: Check that responses for DoH are cached and usable for other protocols
Remi Gacogne [Tue, 8 Jun 2021 13:46:53 +0000 (15:46 +0200)]
Whitelist the 'DoT' pattern for the spell-checker (image filename)
Remi Gacogne [Tue, 8 Jun 2021 13:41:24 +0000 (15:41 +0200)]
dnsdist: More documentation on 'TCP only', outgoing DoT
Remi Gacogne [Tue, 8 Jun 2021 13:40:11 +0000 (15:40 +0200)]
dnsdist: Make the TLS session cache for outgoing connections tunable
Remi Gacogne [Mon, 7 Jun 2021 15:04:06 +0000 (17:04 +0200)]
dnsdist: Fix a typo in the documentation
Remi Gacogne [Mon, 7 Jun 2021 15:01:41 +0000 (17:01 +0200)]
dnsdist: Document the TCP, TLS, DoH changes
Remi Gacogne [Mon, 7 Jun 2021 14:31:09 +0000 (16:31 +0200)]
dnsdist: Document the new options to newServer() (TCP, TLS)
Remi Gacogne [Mon, 7 Jun 2021 14:12:18 +0000 (16:12 +0200)]
dnsdist: Implement 'tcpOnly' backends
Remi Gacogne [Fri, 4 Jun 2021 08:18:22 +0000 (10:18 +0200)]
dnsdist: Remove left-over debug messages
Remi Gacogne [Thu, 3 Jun 2021 16:20:33 +0000 (18:20 +0200)]
dnsdist: Appease the formatting gods
Remi Gacogne [Thu, 6 May 2021 14:44:26 +0000 (16:44 +0200)]
dnsdist: Rever the Downstream connection cache to be per thread
For now the Downstream connections are too closely tied to the
Multiplexer instance which is per-thread. We can change that later
if needed.
Remi Gacogne [Thu, 6 May 2021 12:41:57 +0000 (14:41 +0200)]
dnsdist: Share the downstream TCP connections cache between threads
Remi Gacogne [Thu, 6 May 2021 09:37:26 +0000 (11:37 +0200)]
dnsdist: Fix compilation on older GnuTLS versions
Remi Gacogne [Wed, 5 May 2021 15:13:09 +0000 (17:13 +0200)]
dnsdist: Handle more than one cached TLS session per backend
Remi Gacogne [Wed, 5 May 2021 15:08:34 +0000 (17:08 +0200)]
dnsdist: Don't let GnuTLS block if a ticket is not available yet..
Remi Gacogne [Wed, 5 May 2021 08:40:31 +0000 (10:40 +0200)]
dnsdist: Add downstream TLS session resumption metric
Remi Gacogne [Tue, 4 May 2021 16:44:41 +0000 (18:44 +0200)]
dnsdist: Add a WIP session cache
Remi Gacogne [Thu, 29 Apr 2021 15:57:59 +0000 (17:57 +0200)]
TCPIOHandler: Add preliminary support for session resumption
Remi Gacogne [Thu, 29 Apr 2021 13:58:06 +0000 (15:58 +0200)]
dnsdist: Fix the client TLS wrapper for GnuTLS
We need to call gnutls_handshake() repeatedly until it succeeds, while
OpenSSL allows us to read and write transparently.
Remi Gacogne [Thu, 29 Apr 2021 11:28:33 +0000 (13:28 +0200)]
dnsdist: Do not try to parse non-DNS HTTP answers generated by Lua
Remi Gacogne [Thu, 29 Apr 2021 11:27:55 +0000 (13:27 +0200)]
dnsdist: Use the correct cache key for DoH UDP responses
Remi Gacogne [Thu, 29 Apr 2021 11:26:24 +0000 (13:26 +0200)]
dnsdist: Exclude the TCP latency calculations from TSAN analysis
They are indeed racy in some cases, but we do not care about perfect
accuracy there.
Remi Gacogne [Wed, 28 Apr 2021 16:26:29 +0000 (18:26 +0200)]
dnsdist: Properly handle truncation for cross-protocol answers
Remi Gacogne [Tue, 27 Apr 2021 15:12:04 +0000 (17:12 +0200)]
dnsdist: Handle TCP-only backends for UDP queries
Remi Gacogne [Tue, 27 Apr 2021 14:11:07 +0000 (16:11 +0200)]
dnsdist: Handle TCP-only backends for DoH queries
Remi Gacogne [Tue, 27 Apr 2021 13:06:25 +0000 (15:06 +0200)]
dnsdist: Handle health checks over TCP and DNS over TLS
Remi Gacogne [Thu, 22 Apr 2021 13:52:32 +0000 (15:52 +0200)]
dnsdist: Add support for DNS over TLS backends
Still needs:
- documentation
- tests
- session reuse (SSL_set_session)
- healthchecks
- UDP/DoH to DoT
Remi Gacogne [Thu, 22 Apr 2021 12:49:22 +0000 (14:49 +0200)]
dnsdist: Properly handle errors for DoH cross-protocol answers
Remi Gacogne [Thu, 22 Apr 2021 10:17:04 +0000 (12:17 +0200)]
dnsdist: Also lookup the cache for UDP answers for DoH
Remi Gacogne [Wed, 21 Apr 2021 15:43:34 +0000 (17:43 +0200)]
dnsdist: Carry the exact protocol (Do53, DNSCrypt, DoT, DoH) in DQ
Remi Gacogne [Wed, 14 Apr 2021 16:03:57 +0000 (18:03 +0200)]
dnsdist: Apply response rules to cross-protocol DoH responses
Remi Gacogne [Tue, 13 Apr 2021 14:44:48 +0000 (16:44 +0200)]
dnsdist: Add a regression test for DoH TC=1 fallback to TCP
Remi Gacogne [Tue, 13 Apr 2021 12:47:26 +0000 (14:47 +0200)]
dnsdist: Handle Proxy Protocol payloads with cross-protocol queries
Remi Gacogne [Wed, 31 Mar 2021 15:22:21 +0000 (17:22 +0200)]
dnsdist: First working version of cross-protocol DoH -> TCP
Peter van Dijk [Thu, 26 Aug 2021 10:27:07 +0000 (12:27 +0200)]
dnsdist test: generate CDB files
Peter van Dijk [Thu, 26 Aug 2021 09:51:28 +0000 (11:51 +0200)]
lmdb-safe: resizing while there might be open transactions is unsafe
Remi Gacogne [Thu, 26 Aug 2021 09:02:26 +0000 (11:02 +0200)]
Merge pull request #10671 from rgacogne/ddist-init-dq-cacheflags
dnsdist: Initialize the cacheFlags member of DNSQuestion to 0
Remi Gacogne [Thu, 26 Aug 2021 07:45:18 +0000 (09:45 +0200)]
dnsdist: Initialize the cacheFlags member of DNSQuestion to 0
Remi Gacogne [Wed, 25 Aug 2021 14:36:48 +0000 (16:36 +0200)]
dnsdist: Enable GnuTLS support in GitHub actions
It looks like it was not enabled in CircleCI, meaning that some of
our regression tests were done with OpenSSL twice since we fallback
gracefully when the requested provider is not available.
Remi Gacogne [Wed, 25 Aug 2021 12:37:37 +0000 (14:37 +0200)]
Merge pull request #10664 from rgacogne/ddist-fix-cache-flags
dnsdist: Cache based on the DNS flags of the query after applying the rules
Peter van Dijk [Wed, 25 Aug 2021 11:40:48 +0000 (13:40 +0200)]
Merge pull request #10661 from Habbie/gh-actions
github actions: build auth+rec+dnsdist; test auth-api, dnsdist-regression, rec-api
Otto Moerbeek [Wed, 25 Aug 2021 10:57:10 +0000 (12:57 +0200)]
Merge pull request #10666 from rgacogne/rec-cache-contention-counters
rec: Fix the acquired/contended cache counters not being updated
Otto Moerbeek [Wed, 25 Aug 2021 10:49:25 +0000 (12:49 +0200)]
Merge pull request #10668 from omoerbeek/rec-bulktest-script
rec: Improve the rec bulk test script
Otto Moerbeek [Wed, 25 Aug 2021 09:32:02 +0000 (09:32 +0000)]
Improve the rec bulk test script
- Exit if rec did not start up
- Status requesting commands (rec_control and kill -USR1) failures are non-fatal
except for the last 'ping' command.
- Increase timeout of rec_control command (to help investigating issues on buildbot)
The script is run with -e, so failure will lead to exit without killing
the running recursor atm.
Remi Gacogne [Wed, 25 Aug 2021 09:01:48 +0000 (11:01 +0200)]
rec: Fix formatting
Remi Gacogne [Wed, 25 Aug 2021 07:57:10 +0000 (09:57 +0200)]
rec: Fix the acquired/contended cache counters not being updated
Peter van Dijk [Tue, 24 Aug 2021 09:35:27 +0000 (11:35 +0200)]
run auth remotebackend regression tests in GH Actions; remove from CircleCI
Remi Gacogne [Tue, 24 Aug 2021 10:23:42 +0000 (12:23 +0200)]
Merge pull request #10633 from rgacogne/rec-policy-event-filter-follow-cname
rec: Pass the Lua context to follow up queries (follow CNAME, dns64)
Remi Gacogne [Tue, 24 Aug 2021 09:23:54 +0000 (11:23 +0200)]
dnsdist: Cache based on the DNS flags of the query after applying the rules
The tentative fix in
dbadb4d272a3317407e6bc934f55c2d41a87c0ac actually
introduced an issue, because the backend might not perfectly echo the
RD and CD flags as they were in the query.
We can't use the "original" (before applying rules) flags either, so
we need to store the flags as they were sent to the backend to be
able to correctly store them in the cache.
Peter van Dijk [Tue, 24 Aug 2021 08:21:51 +0000 (10:21 +0200)]
new remotebackend ruby deps are too new for CircleCI; disable auth make check there
Peter van Dijk [Mon, 23 Aug 2021 19:43:54 +0000 (21:43 +0200)]
circleci: remove items that we now test in github actions
Peter van Dijk [Thu, 25 Mar 2021 12:48:49 +0000 (13:48 +0100)]
github actions: build auth+rec+dnsdist; test auth-api, dnsdist-regression, rec-api
Otto Moerbeek [Mon, 23 Aug 2021 09:21:57 +0000 (11:21 +0200)]
Merge pull request #10659 from omoerbeek/rec-fix-dot-to-port-853
rec: Fix wrong default value call for dot-to-port-853 setting
Otto [Mon, 23 Aug 2021 08:14:42 +0000 (10:14 +0200)]
Fix wrong default value call for dot-to-port-853 setting
Otto Moerbeek [Fri, 20 Aug 2021 13:01:07 +0000 (15:01 +0200)]
Merge pull request #10605 from omoerbeek/rec-policy-hit-stats
rec: Keep a count of per rpz (or filter) hits
Otto [Fri, 20 Aug 2021 11:49:37 +0000 (13:49 +0200)]
One way of solving the race. Still needs operator[] though, since policyName
can vary.
Remi Gacogne [Fri, 20 Aug 2021 09:42:17 +0000 (11:42 +0200)]
dnsdist: Catch FDMultiplexerException in IOStateHandler's destructor
Peter van Dijk [Tue, 29 Jun 2021 13:36:12 +0000 (15:36 +0200)]
gh actions builder: upload built packages as artifacts
Otto [Thu, 19 Aug 2021 07:08:53 +0000 (09:08 +0200)]
Prometheus help texts and general cleanup. Example output:
pdns_recursor_policy_hits 10
pdns_recursor_policy_hits{type="filter"} 3
pdns_recursor_policy_hits{type="rpz",policyname="rpz.local"} 5
pdns_recursor_policy_hits{type="rpz",policyname="rpzFile"} 2