]>
git.ipfire.org Git - thirdparty/pdns.git/log
Remi Gacogne [Tue, 21 Jun 2022 15:49:23 +0000 (17:49 +0200)]
dnsdist: Only put outgoing DoH conn in the idle queue if they are idle
Remi Gacogne [Tue, 21 Jun 2022 15:27:05 +0000 (17:27 +0200)]
dnsdist: Do not pretend that a connection will be reusable when it's dead
By remember that a connection is no longer usable when we notice that,
we prevent a case where we could pretend that it will be usable when
it has finished processing the current queries and responses, which
is not true.
Remi Gacogne [Tue, 21 Jun 2022 13:45:38 +0000 (15:45 +0200)]
dnsdist: Add a metric to track when the TCP conns limit is reached
Remi Gacogne [Mon, 20 Jun 2022 15:52:55 +0000 (17:52 +0200)]
dnsdist: Implement a limit of concurrent connections to a backend
Remi Gacogne [Fri, 24 Jun 2022 12:07:13 +0000 (14:07 +0200)]
Merge pull request #11716 from rgacogne/split-metrics
dnsdist: Add more detailed metrics
Remi Gacogne [Fri, 24 Jun 2022 11:54:06 +0000 (13:54 +0200)]
Merge pull request #11718 from rgacogne/ddist-fix-backend-concurrent-conns
dnsdist: Fix the number of concurrent queries on a backend TCP conn
Peter van Dijk [Fri, 24 Jun 2022 11:42:25 +0000 (13:42 +0200)]
Merge pull request #11722 from Habbie/luathread-sigterm
dnsdist newThread(): mask SIGTERM
Peter van Dijk [Fri, 24 Jun 2022 11:02:07 +0000 (13:02 +0200)]
dnsdist newThread(): mask SIGTERM
Remi Gacogne [Thu, 23 Jun 2022 10:36:17 +0000 (12:36 +0200)]
dnsdist: Fix the number of concurrent queries on a backend TCP conn
When we are in the process of sending a query to the backend, that
query is no longer accounted in the "queued" queries nor it is in
the "queued" responses, but we need to take it into account.
Otherwise we might be sending two concurrent queries to a backend
that does not support out-of-order processing (increasing our
latency), or even worse to one that does not support pipelining.
Remi Gacogne [Wed, 22 Jun 2022 16:26:34 +0000 (18:26 +0200)]
dnsdist: Add per-protocol latency averages
Remi Gacogne [Wed, 22 Jun 2022 13:44:38 +0000 (15:44 +0200)]
dnsdist: Add a per-server metric for non-compliant responses
Remi Gacogne [Wed, 22 Jun 2022 13:24:21 +0000 (15:24 +0200)]
dnsdist: Add a per-frontend metric for non-compliant queries
Remi Gacogne [Thu, 23 Jun 2022 08:17:51 +0000 (10:17 +0200)]
Merge pull request #11712 from chbruyand/dnsdist-packetcache-ringbuffer
dnsdist: fill ringbuffers with responses served from the cache
Charles-Henri Bruyand [Wed, 22 Jun 2022 12:27:01 +0000 (14:27 +0200)]
Make sure that we do not read past our buffer in any case
Co-authored-by: Remi Gacogne <github@coredump.fr>
Charles-Henri Bruyand [Wed, 22 Jun 2022 09:13:01 +0000 (11:13 +0200)]
process review comments
Charles-Henri Bruyand [Tue, 21 Jun 2022 07:50:52 +0000 (09:50 +0200)]
dnsdist: fill ringbuffers with responses served from the cache
Remi Gacogne [Wed, 22 Jun 2022 13:07:45 +0000 (15:07 +0200)]
Merge pull request #11696 from rgacogne/ddist-fix-source-itf
dnsdist: Bind to the requested src interface without a src address
Remi Gacogne [Wed, 22 Jun 2022 11:59:30 +0000 (13:59 +0200)]
Merge pull request #11689 from rgacogne/ddist-skip-allocations-policies
dnsdist: Avoid allocating memory in LB policies for small number of servers
Remi Gacogne [Wed, 22 Jun 2022 11:58:57 +0000 (13:58 +0200)]
Merge pull request #11707 from rgacogne/ddist-latencies
dnsdist: Compute backend latency earlier, to avoid internal latency
Remi Gacogne [Wed, 22 Jun 2022 11:58:14 +0000 (13:58 +0200)]
Merge pull request #11698 from rgacogne/ddist-more-name-bindings
Implement `SuffixMatchTree::getBestMatch()` to get the name that matched
Remi Gacogne [Wed, 22 Jun 2022 11:36:47 +0000 (13:36 +0200)]
dnsdist: Bind to the requested src interface without a src address in auto-discovery as well
Remi Gacogne [Wed, 22 Jun 2022 11:36:04 +0000 (13:36 +0200)]
dnsdist: Only check if we want a specific interface if we actually support that
Remi Gacogne [Wed, 22 Jun 2022 11:35:17 +0000 (13:35 +0200)]
dnsdist: Use IP_BIND_ADDRESS_NO_PORT when binding UDP sockets as well
Remi Gacogne [Wed, 22 Jun 2022 09:32:06 +0000 (11:32 +0200)]
dnsdist: Fix a typo LeastOustandingType -> LeastOutstandingType
Remi Gacogne [Wed, 22 Jun 2022 09:18:32 +0000 (11:18 +0200)]
dnsdist: Fix a bound issue, improve readability (thanks, Otto!)
Remi Gacogne [Wed, 22 Jun 2022 08:59:12 +0000 (10:59 +0200)]
dnsdist: Remove a forgotten debug message
Otto Moerbeek [Wed, 22 Jun 2022 08:20:33 +0000 (10:20 +0200)]
Merge pull request #11693 from omoerbeek/rec-sl-web
rec: Structured logging for webserver
Otto Moerbeek [Tue, 21 Jun 2022 13:19:29 +0000 (15:19 +0200)]
Process review comments
Remi Gacogne [Tue, 21 Jun 2022 13:16:54 +0000 (15:16 +0200)]
Merge pull request #11695 from rgacogne/ddist-do-not-autoupgrade-dotdoh
dnsdist: Do not try to auto-upgrade DoT and DoH backends
Otto Moerbeek [Tue, 21 Jun 2022 08:32:53 +0000 (10:32 +0200)]
Merge pull request #11710 from omoerbeek/rec-sl-3
rec: stuctured logging for various subsystems
Otto Moerbeek [Tue, 21 Jun 2022 08:14:08 +0000 (10:14 +0200)]
Merge pull request #11709 from omoerbeek/rec-sd-journal-followup
Rec: systemd-journal structured logging followup
Otto Moerbeek [Tue, 21 Jun 2022 07:40:30 +0000 (09:40 +0200)]
Process review comments
Otto Moerbeek [Tue, 21 Jun 2022 07:35:52 +0000 (09:35 +0200)]
Process review comments: add comments and braces
Remi Gacogne [Tue, 21 Jun 2022 07:24:31 +0000 (09:24 +0200)]
Merge pull request #11711 from rgacogne/ddist-startup-infos
dnsdist: Log listening addresses and version at the 'info' level
Otto Moerbeek [Mon, 20 Jun 2022 15:05:44 +0000 (17:05 +0200)]
Merge pull request #11704 from omoerbeek/rec-edns-sparse-table
Rec: make edns table a sparse table
Otto Moerbeek [Mon, 20 Jun 2022 13:31:19 +0000 (15:31 +0200)]
Move back to origial EDNSLevel logic.
The handling around ednsMANDATORY is separate form the table handling,
so do not mix these up.
Otto Moerbeek [Wed, 15 Jun 2022 08:43:37 +0000 (10:43 +0200)]
Remaining structured logging, "only" sending/receiving questions and answers, validation and tracing remain.
Remi Gacogne [Mon, 20 Jun 2022 13:12:20 +0000 (15:12 +0200)]
dnsdist: Log listening addresses and version at the 'info' level
These are really informations, not warnings.
Otto Moerbeek [Wed, 15 Jun 2022 07:24:45 +0000 (09:24 +0200)]
Structured Logging: finish Lua config messages
Otto Moerbeek [Wed, 15 Jun 2022 06:57:52 +0000 (08:57 +0200)]
Structured logging for root refresh
Otto Moerbeek [Mon, 13 Jun 2022 13:37:20 +0000 (15:37 +0200)]
Format
Otto Moerbeek [Fri, 3 Jun 2022 15:00:39 +0000 (17:00 +0200)]
Structured logging for webserver
Otto Moerbeek [Mon, 20 Jun 2022 12:19:31 +0000 (14:19 +0200)]
Document structured-logging-backend
Otto Moerbeek [Mon, 20 Jun 2022 11:42:02 +0000 (13:42 +0200)]
Early priority filter for structured logging
Otto Moerbeek [Mon, 20 Jun 2022 09:57:19 +0000 (11:57 +0200)]
Introduce a setting to switch to systemd-journal (default off),
It is nicely structured but not really nice for human consumption.
Also fix priority filtering.
Remi Gacogne [Fri, 17 Jun 2022 15:19:43 +0000 (17:19 +0200)]
dnsdist: Properly handle TCP latencies for DoH backends as well
Remi Gacogne [Fri, 17 Jun 2022 15:07:42 +0000 (17:07 +0200)]
dnsdist: Test the TCP latency in our regression tests
Remi Gacogne [Fri, 17 Jun 2022 15:03:53 +0000 (17:03 +0200)]
dnsdist: Compute backend latency earlier, to avoid internal latency
Also properly report the latency as TCP when forwaring a query received
over UDP to TCP-only, DoT and DoH backends.
Exports the TCP latency in the prometheus and API metrics.
Remi Gacogne [Fri, 17 Jun 2022 12:20:55 +0000 (14:20 +0200)]
Merge pull request #11651 from Y7n05h/refactor
dnsdist: refactor sendfromto
Otto Moerbeek [Fri, 17 Jun 2022 11:46:31 +0000 (13:46 +0200)]
Only erase if we know the edns entry exists
Otto Moerbeek [Fri, 17 Jun 2022 11:27:35 +0000 (13:27 +0200)]
Fix comments and clear up the logic of EDNSLevel
Y7n05h [Thu, 26 May 2022 05:56:52 +0000 (13:56 +0800)]
dnsdist: refactor sendfromto
Signed-off-by: Y7n05h <Y7n05h@protonmail.com>
Otto Moerbeek [Mon, 16 May 2022 08:33:20 +0000 (10:33 +0200)]
Only store edns status if it is not EDNSOK
Otto Moerbeek [Fri, 17 Jun 2022 09:32:00 +0000 (11:32 +0200)]
Merge pull request #11601 from omoerbeek/rec-shared-ednsmap
Rec: shared ednsmap
Remi Gacogne [Fri, 17 Jun 2022 09:23:04 +0000 (11:23 +0200)]
Merge pull request #11685 from rgacogne/ddist-cppcheck-warnings
dnsdist: Fix a few performance-related warnings reported by cppcheck
Otto Moerbeek [Fri, 17 Jun 2022 08:55:46 +0000 (10:55 +0200)]
Merge pull request #11613 from omoerbeek/burtle
hashHeaderAndQName burtle optimization
Peter van Dijk [Fri, 17 Jun 2022 08:51:11 +0000 (10:51 +0200)]
Merge pull request #11641 from omoerbeek/codeQL-v2
Move to v2 for CodeQL action, v1 will be deprecated dec 2022
Otto Moerbeek [Fri, 17 Jun 2022 08:43:32 +0000 (10:43 +0200)]
Process review comment: move var to inner block
Otto Moerbeek [Tue, 3 May 2022 07:05:21 +0000 (09:05 +0200)]
Use the level actually *used* to decide to update edns status.
Fold the logic to not update if no change and updating the timestamp to the setter.
Otto Moerbeek [Mon, 2 May 2022 09:35:53 +0000 (11:35 +0200)]
Prune EDNS table once every minute, as the entries last for 2 hours
Otto Moerbeek [Mon, 2 May 2022 09:32:15 +0000 (11:32 +0200)]
Move edns table to a shared table
Peter van Dijk [Thu, 16 Jun 2022 11:09:58 +0000 (13:09 +0200)]
Merge pull request #11340 from norve/pdnustil-flush-prompt
Pdnustil flush prompt
Peter van Dijk [Thu, 16 Jun 2022 10:35:04 +0000 (12:35 +0200)]
Merge pull request #11413 from Habbie/man-pdnsutil-b2b-migrate
auth: add b2b-migrate to pdnsutil man page
Peter van Dijk [Thu, 16 Jun 2022 10:30:39 +0000 (12:30 +0200)]
Merge pull request #11350 from mind04/pdns-presigned-alias
auth: no ALIAS and LUA record expansion in presigned zones
Remi Gacogne [Wed, 15 Jun 2022 12:16:35 +0000 (14:16 +0200)]
dnsdist: Add more DNSName and SuffixMatchNode Lua bindings
Remi Gacogne [Wed, 15 Jun 2022 12:15:41 +0000 (14:15 +0200)]
Implement SuffixMatchTree::getBestMatch() to get the name that matched
Remi Gacogne [Tue, 14 Jun 2022 16:15:15 +0000 (18:15 +0200)]
dnsdist: Bind to the requested src interface without a src address
In some cases we want to bind to a specific interface when contacting
a backend without specifying an exact source address, leaving the
kernel select one for us.
Remi Gacogne [Tue, 14 Jun 2022 16:07:28 +0000 (18:07 +0200)]
dnsdist: Do not try to auto-upgrade DoT and DoH backends
Remi Gacogne [Tue, 14 Jun 2022 08:49:13 +0000 (10:49 +0200)]
Merge pull request #11691 from rgacogne/ddist-1.7.2-changelog-secpoll
dnsdist: ChangeLog and secpoll update for 1.7.2
Remi Gacogne [Tue, 14 Jun 2022 08:19:25 +0000 (10:19 +0200)]
dnsdist: Update the release date for 1.7.2
Fred Morcos [Mon, 13 Jun 2022 13:14:46 +0000 (15:14 +0200)]
Merge pull request #11682 from fredmorcos/recursor-ipv6-from-etc-hosts
Recursor: Load IPv6 entries from `etc-hosts` file
Fred Morcos [Thu, 9 Jun 2022 13:05:19 +0000 (15:05 +0200)]
DNSRecord: Formatting
Fred Morcos [Thu, 9 Jun 2022 13:05:01 +0000 (15:05 +0200)]
DNSRecord: Explicit member initialization
Fred Morcos [Fri, 3 Jun 2022 11:02:26 +0000 (13:02 +0200)]
Add domain map population tests that include search suffixes
Fred Morcos [Fri, 3 Jun 2022 10:48:39 +0000 (12:48 +0200)]
Only add PTR records for the canonical hostname
Fred Morcos [Mon, 23 May 2022 13:06:43 +0000 (15:06 +0200)]
Convert the handling of addresses from etc-hosts file to ComboAddress
This enables almost-seamless IPv6 support and cleans up a few things e.g. avoid using
strings when handling IP addresses.
This commit also refactors the creation of forward and reverse lookup entries.
Fred Morcos [Tue, 31 May 2022 11:37:30 +0000 (13:37 +0200)]
Move domain-map related helper functions for testability and add tests
This also adds tests for loading entries from an etc-hosts-like file.
Fred Morcos [Tue, 31 May 2022 11:35:58 +0000 (13:35 +0200)]
Implement toString() for DNSRecord
Fred Morcos [Tue, 31 May 2022 11:35:35 +0000 (13:35 +0200)]
Another constructor that accepts all params for DNSRecord
Fred Morcos [Tue, 31 May 2022 11:35:21 +0000 (13:35 +0200)]
Default init of DNSRecord fields
Fred Morcos [Tue, 31 May 2022 11:34:10 +0000 (13:34 +0200)]
Implement toString() for SyncRes::AuthDomain
Fred Morcos [Tue, 31 May 2022 11:33:51 +0000 (13:33 +0200)]
Implement operator== for SyncRes::AuthDomain
Fred Morcos [Fri, 20 May 2022 10:41:36 +0000 (12:41 +0200)]
Add IPv4 and IPv6 address reversal to ComboAddress
Fred Morcos [Wed, 18 May 2022 11:51:39 +0000 (13:51 +0200)]
Whitespace & cleanup
Fred Morcos [Wed, 18 May 2022 11:50:55 +0000 (13:50 +0200)]
Recursor: Add .clang-tidy to gitignore
Fred Morcos [Fri, 6 May 2022 09:53:55 +0000 (11:53 +0200)]
Lint fix when iterating over IP parts in reverse
Fred Morcos [Thu, 5 May 2022 15:28:28 +0000 (17:28 +0200)]
Lint fixes when loading etc-hosts file
Fred Morcos [Mon, 9 May 2022 07:58:19 +0000 (09:58 +0200)]
Whitespace
Otto Moerbeek [Fri, 10 Jun 2022 14:35:36 +0000 (16:35 +0200)]
Merge pull request #11692 from omoerbeek/rec-actually-run-tasks
rec: Run tasks from houskeeping thread in a proper way.
Remi Gacogne [Fri, 10 Jun 2022 13:56:34 +0000 (15:56 +0200)]
Merge pull request #11548 from rgacogne/ddist-ebpf-docs
dnsdist: Document eBPF requirements, external program support
Remi Gacogne [Fri, 10 Jun 2022 13:55:19 +0000 (15:55 +0200)]
Merge pull request #11526 from Y7n05h/master
use BPF_MAP_TYPE_LPM_TRIE for range matching
Otto Moerbeek [Fri, 10 Jun 2022 13:39:36 +0000 (15:39 +0200)]
Run tasks from houskeeping thread in a proper way.
Previously, this was only done if log-common-errors was true, due
to argument reversal. In general task *would* be executed, as they
are also run after each query processed by SyncRes (so not after
packet cache hits).
Thanks to @jelu!
Remi Gacogne [Fri, 10 Jun 2022 13:15:26 +0000 (15:15 +0200)]
dnsdist: ChangeLog and secpoll update for 1.7.2
Remi Gacogne [Fri, 10 Jun 2022 09:39:09 +0000 (11:39 +0200)]
Merge pull request #11688 from rgacogne/ddist-downstream-doc-typo
dnsdist: Fix a typo in the Downstream guide
Remi Gacogne [Fri, 10 Jun 2022 08:45:51 +0000 (10:45 +0200)]
dnsdist: Use the correct positions in the LB servers array
Otto Moerbeek [Fri, 10 Jun 2022 08:11:15 +0000 (10:11 +0200)]
Merge pull request #11660 from omoerbeek/rec-sd-journal
rec: Use systemd-journal for structured logging if it is available
Otto Moerbeek [Fri, 10 Jun 2022 08:10:19 +0000 (10:10 +0200)]
Merge pull request #11681 from omoerbeek/rec-sl-subsys
rec: structured logging for various subsystyems
Remi Gacogne [Fri, 10 Jun 2022 07:50:36 +0000 (09:50 +0200)]
dnsdist: Avoid allocating memory in LB policies for small number of servers
The gist of this commit is that we do not need to dynamically allocate
memory in our load-balancing policies when we have a few number of
servers to consider: we can very well use a stack-based array instead.
Otto Moerbeek [Fri, 10 Jun 2022 06:32:23 +0000 (08:32 +0200)]
Beter naming of closure
Otto Moerbeek [Fri, 10 Jun 2022 06:18:09 +0000 (08:18 +0200)]
Process review commens from @fredmorcos, thanks!