]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
5 weeks agodnsdist: Fix invalid log formatters spotted by Otto 16045/head
Remi Gacogne [Mon, 25 Aug 2025 11:08:41 +0000 (13:08 +0200)] 
dnsdist: Fix invalid log formatters spotted by Otto

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 36aeac05daeffcbc41443b47660982f65d73b7da)

5 weeks agodnsdist: Apply Miod and clang-tidy's suggestions
Remi Gacogne [Thu, 21 Aug 2025 13:43:01 +0000 (15:43 +0200)] 
dnsdist: Apply Miod and clang-tidy's suggestions

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit f2bee342a4b53cd4ea4896e280ccafeb9f24db34)

5 weeks agodnsdist: Stop reading on incoming DoH sockets if we are done
Remi Gacogne [Mon, 28 Jul 2025 14:33:46 +0000 (16:33 +0200)] 
dnsdist: Stop reading on incoming DoH sockets if we are done

If the underlying library doesn't want to read, we have nothing
to send at the moment, but we are still waiting for responses,
there is no need to keep polling the socket.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit e0a5a6dc4ab9557442ddbba56d03f6e4fb132bf2)

5 weeks agodnsdist: Fix the accounting of "killed" streams
Remi Gacogne [Mon, 28 Jul 2025 14:31:36 +0000 (16:31 +0200)] 
dnsdist: Fix the accounting of "killed" streams

The way the nghttp2 library works means that we can get notified
that a stream has been closed while we are still in the function
sending the actual response. This is not a "killed" stream, but
just a regular closure.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit b81ed956d2f0b6bc538b34ee7e7ad304be233e7a)

5 weeks agodnsdist: Define `dnsdist::doh::MAX_INCOMING_CONCURRENT_STREAMS`
Remi Gacogne [Fri, 20 Jun 2025 11:44:33 +0000 (13:44 +0200)] 
dnsdist: Define `dnsdist::doh::MAX_INCOMING_CONCURRENT_STREAMS`

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 866c8f3fff753d3b2a03c1da50e8d53056880a46)

5 weeks agodnsdist: Tentative h2o fix for MadeYouReset
Remi Gacogne [Thu, 19 Jun 2025 10:39:11 +0000 (12:39 +0200)] 
dnsdist: Tentative h2o fix for MadeYouReset

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 2406bc461dbac384b07ed7dbb73a87def6354bd6)

5 weeks agodnsdist: Enforce concurrent streams count for pending queries
Remi Gacogne [Thu, 19 Jun 2025 09:18:27 +0000 (11:18 +0200)] 
dnsdist: Enforce concurrent streams count for pending queries

The gist of the `MadeYouRest` attack is that streams can be reset
by the client, and thus no longer count towards the maximum number
of a streams as far as the library is concerned, while the server
is still processing the query and doing actual work.
This pull request introduces a counter for "killed but still being
processed streams" to prevent it.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 0214032c5f09fcfb440e5c5120f1491cb4f0fda4)

5 weeks agoMerge pull request #16032 from rgacogne/ddist20-backport-15881
Remi Gacogne [Mon, 25 Aug 2025 11:07:38 +0000 (13:07 +0200)] 
Merge pull request #16032 from rgacogne/ddist20-backport-15881

dnsdist-2.0.x: Backport 15881 - Support mnemonics for the Opcode selector

5 weeks agoMerge pull request #16031 from rgacogne/ddist20-backport-15817
Remi Gacogne [Mon, 25 Aug 2025 09:44:39 +0000 (11:44 +0200)] 
Merge pull request #16031 from rgacogne/ddist20-backport-15817

dnsdist-2.0.x: Backport 15817: switch Docker images to Debian Trixie

5 weeks agoMerge pull request #16030 from rgacogne/ddist20-backport-15915
Remi Gacogne [Mon, 25 Aug 2025 09:44:29 +0000 (11:44 +0200)] 
Merge pull request #16030 from rgacogne/ddist20-backport-15915

dnsdist-2.0.x: Backport 15915: Properly set up env vars with meson

5 weeks agodns: Get rid of the ugly special case for OpCode 3 16032/head
Remi Gacogne [Thu, 24 Jul 2025 09:11:24 +0000 (11:11 +0200)] 
dns: Get rid of the ugly special case for OpCode 3

As suggested by Miod.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit b6898b5f3787e2528225fd5e22927f2e5ba3cc2b)

5 weeks agodnsdist: Support mnemonics for the Opcode selector
Remi Gacogne [Mon, 21 Jul 2025 09:56:47 +0000 (11:56 +0200)] 
dnsdist: Support mnemonics for the Opcode selector

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 1a37caf4bcef0ad8362ce5b2bf8f01e90c81986d)

5 weeks agoMerge pull request #16029 from rgacogne/ddist20-backport-15959
Remi Gacogne [Mon, 25 Aug 2025 09:18:59 +0000 (11:18 +0200)] 
Merge pull request #16029 from rgacogne/ddist20-backport-15959

dnsdist-2.0.x: Backport 15959: dnsdist --version: report yaml support

5 weeks agoswitch Docker images to Debian Trixie 16031/head
Peter van Dijk [Thu, 10 Jul 2025 12:05:41 +0000 (14:05 +0200)] 
switch Docker images to Debian Trixie

(cherry picked from commit 4a92c4bbda9c5a0d0b9b30865dff71d70226cfcf)

5 weeks agorec and dnsdist: properly set up env vars 16030/head
Otto Moerbeek [Thu, 24 Jul 2025 13:41:50 +0000 (15:41 +0200)] 
rec and dnsdist: properly set up env vars

env.append() appends to an existing value

Should fix the error in #15896, but the reported location of cargo
still might be wrong.

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
(cherry picked from commit 6d3c2334aa84258eaee409eb7e545eb67121a4a5)

5 weeks agodnsdist --version: report yaml support 16029/head
Peter van Dijk [Mon, 4 Aug 2025 11:56:05 +0000 (13:56 +0200)] 
dnsdist --version: report yaml support

(cherry picked from commit 8ac38640efa2c90f1db59fddcd32cdb6c29d41db)

5 weeks agoMerge pull request #16020 from rgacogne/ddist20-backport-15931
Remi Gacogne [Mon, 25 Aug 2025 07:35:29 +0000 (09:35 +0200)] 
Merge pull request #16020 from rgacogne/ddist20-backport-15931

dnsdist-2.0.x: Backport 15931- Speed up response content matching

6 weeks agoMerge pull request #16019 from rgacogne/ddist20-backport-15935
Remi Gacogne [Fri, 22 Aug 2025 13:46:57 +0000 (15:46 +0200)] 
Merge pull request #16019 from rgacogne/ddist20-backport-15935

dnsdist-2.0.x: Backport 15935 - Clean up incoming TCP connections counters once per minute

6 weeks agoMerge pull request #16018 from rgacogne/ddist20-backport-15904
Remi Gacogne [Fri, 22 Aug 2025 13:26:39 +0000 (15:26 +0200)] 
Merge pull request #16018 from rgacogne/ddist20-backport-15904

dnsdist-2.0.x: Backport 15904 - Fix systemd template unit and restricted network families when building with meson

6 weeks agoMerge pull request #16017 from rgacogne/ddist20-backport-15902
Remi Gacogne [Fri, 22 Aug 2025 13:16:01 +0000 (15:16 +0200)] 
Merge pull request #16017 from rgacogne/ddist20-backport-15902

dnsdist-2.0.x: Backport 15902 - Fix QType rate dynamic block with YAML

6 weeks agoRefactor `DNSName::matches` around `pdns_ilexicographical_compare_three_way` 16020/head
Remi Gacogne [Thu, 21 Aug 2025 14:40:29 +0000 (16:40 +0200)] 
Refactor `DNSName::matches` around `pdns_ilexicographical_compare_three_way`

And rename it to hopefully prevent any confusion regarding when it can be used.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit f78521d7f73d1f176602e33d03fae6e40fa86602)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 weeks agodnsdist: Yet another clang-tidy warning
Remi Gacogne [Tue, 29 Jul 2025 07:45:33 +0000 (09:45 +0200)] 
dnsdist: Yet another clang-tidy warning

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit aa5ca15a59efa4602efc5d78e17514dfe4edab16)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 weeks agodnsname: Fix clang-tidy warnings
Remi Gacogne [Mon, 28 Jul 2025 15:12:14 +0000 (17:12 +0200)] 
dnsname: Fix clang-tidy warnings

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit afbae807a3dbb00b9ac8e20daa8b5bef353a1764)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 weeks agodnsname: Add a comment about what `DNSName::matches` accepts
Remi Gacogne [Mon, 28 Jul 2025 09:29:40 +0000 (11:29 +0200)] 
dnsname: Add a comment about what `DNSName::matches` accepts

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 7394dd09afce13c1cd287c2b63f8d129e8be22af)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 weeks agodnsdist: Fix clang-tidy warnings
Remi Gacogne [Fri, 25 Jul 2025 14:55:18 +0000 (16:55 +0200)] 
dnsdist: Fix clang-tidy warnings

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 93e1cbbc014526ce4f39b54dd084cfa040980dbe)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 weeks agodnsdist: Speed up response content matching
Remi Gacogne [Fri, 25 Jul 2025 14:12:39 +0000 (16:12 +0200)] 
dnsdist: Speed up response content matching

This commit introduces a new method to compare a `DNSName`
against a view of raw, wire-format bytes, skipping the
allocation and copy that is usually required to get a
second `DNSName` object to compare against.
This signifitcantly reduces the amount of time matching
a DNS response received from a backend against the content
we expect to find.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 67eb73850f3141c44963d95ef815fe6a0586d2a8)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 weeks agodnsdist-2.0.x: Backport pdns_ilexicographical_compare_three_way
Remi Gacogne [Fri, 22 Aug 2025 13:11:40 +0000 (15:11 +0200)] 
dnsdist-2.0.x: Backport pdns_ilexicographical_compare_three_way

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 weeks agodnsdist: Fix error in comment spotted by Otto (seconds -> minutes) 16019/head
Remi Gacogne [Thu, 21 Aug 2025 13:49:43 +0000 (15:49 +0200)] 
dnsdist: Fix error in comment spotted by Otto (seconds -> minutes)

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit e5a0cc4475cb668824d7d5a45086665f038f3b16)

6 weeks agodnsdist: Fix clang-tidy warnings
Remi Gacogne [Tue, 29 Jul 2025 07:55:38 +0000 (09:55 +0200)] 
dnsdist: Fix clang-tidy warnings

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit d80362d7d2f1d50d0cd449b62ef7fdea4354eed3)

6 weeks agodnsdist: Clean up incoming TCP connections counters once per minute
Remi Gacogne [Mon, 28 Jul 2025 14:50:12 +0000 (16:50 +0200)] 
dnsdist: Clean up incoming TCP connections counters once per minute

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit df406c37e23974d4fa1575dcf54ef53ef8276fa6)

6 weeks agodnsdist: Fix restricted network families when building with meson 16018/head
Remi Gacogne [Thu, 24 Jul 2025 09:42:03 +0000 (11:42 +0200)] 
dnsdist: Fix restricted network families when building with meson

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 84da8caf2bb5e0c74f706b7248d9abf379485180)

6 weeks agodnsdist: Fix systemd template unit when building with meson
Remi Gacogne [Thu, 24 Jul 2025 09:41:38 +0000 (11:41 +0200)] 
dnsdist: Fix systemd template unit when building with meson

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit b8b86d5644f46b2f07cd7f633cbfd98395ec8ec6)

6 weeks agoMerge pull request #16003 from rgacogne/ddist20-quiche-0.24.5
Remi Gacogne [Thu, 21 Aug 2025 11:20:21 +0000 (13:20 +0200)] 
Merge pull request #16003 from rgacogne/ddist20-quiche-0.24.5

dnsdist-2.0.x: Backport 16002 - Update Cloudflare's Quiche to 0.24.5 in our packages

6 weeks agodnsdist: Update Cloudflare's Quiche to 0.24.5 in our packages 16003/head
Remi Gacogne [Thu, 21 Aug 2025 08:12:11 +0000 (10:12 +0200)] 
dnsdist: Update Cloudflare's Quiche to 0.24.5 in our packages

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit e9af7f9c2f9e2b8969fc6be7bc35d0de2decdb77)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 months agoMerge pull request #15925 from rgacogne/ddist20-backport-15916
Remi Gacogne [Mon, 28 Jul 2025 07:34:23 +0000 (09:34 +0200)] 
Merge pull request #15925 from rgacogne/ddist20-backport-15916

dnsdist-2.0.x: backport 15916 - Update rings' atomic counter without holding the lock

2 months agoMerge pull request #15926 from rgacogne/ddist20-backport-15917
Remi Gacogne [Mon, 28 Jul 2025 07:33:34 +0000 (09:33 +0200)] 
Merge pull request #15926 from rgacogne/ddist20-backport-15917

dnsdist-2.0.x: Backport 15917 - Return early when a rule chain is empty

2 months agoMerge pull request #15927 from rgacogne/ddist20-backport-15918
Remi Gacogne [Mon, 28 Jul 2025 07:33:25 +0000 (09:33 +0200)] 
Merge pull request #15927 from rgacogne/ddist20-backport-15918

dnsdist-2.0.x: Backport 15918 - Update a cache's atomic counter without holding the lock

2 months agoMerge pull request #15920 from rgacogne/ddist20-upgrade-quiche
Remi Gacogne [Mon, 28 Jul 2025 07:32:22 +0000 (09:32 +0200)] 
Merge pull request #15920 from rgacogne/ddist20-upgrade-quiche

dnsdist-2.0.x: Upgrade Cloudflare's Quiche to 0.24.4

2 months agodnsdist: Update rings' atomic counter without holding the lock 15925/head
Remi Gacogne [Tue, 22 Jul 2025 09:18:38 +0000 (11:18 +0200)] 
dnsdist: Update rings' atomic counter without holding the lock

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit f30e5ca0993defc6bacd5584d5ce19d32900d71d)

2 months agodnsdist: Update a cache's atomic counter without holding the lock 15927/head
Remi Gacogne [Thu, 24 Jul 2025 14:02:39 +0000 (16:02 +0200)] 
dnsdist: Update a cache's atomic counter without holding the lock

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit e579d8f2977f17efcf5f7f158500a9df53c2370d)

2 months agodnsdist: Return early when a rule chain is empty 15926/head
Remi Gacogne [Tue, 22 Jul 2025 09:19:19 +0000 (11:19 +0200)] 
dnsdist: Return early when a rule chain is empty

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 1ae16e707a6cb1c80d611b72e9e4599707332645)

2 months agodnsdist: Apply Miod's suggestions (thanks!) 16017/head
Remi Gacogne [Thu, 24 Jul 2025 09:17:04 +0000 (11:17 +0200)] 
dnsdist: Apply Miod's suggestions (thanks!)

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 3b6b96bdd38d6ef380140aa95702d9ab7e706b67)

2 months agodnsdist: Fix QType rate dynamic block with YAML
Remi Gacogne [Thu, 24 Jul 2025 08:57:28 +0000 (10:57 +0200)] 
dnsdist: Fix QType rate dynamic block with YAML

The YAML configuration for the the "QType rate" dynamic block was
totally broken, trying to configure a rcode rate rule instead of a
qtype rate one.
Thanks to HellSpawn for reporting this the issue!

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit eb01c11a5418da08d5e11acdd519e2816e937835)

2 months agodnsdist: Upgrade Cloudflare's Quiche to 0.24.4 15920/head
Remi Gacogne [Thu, 24 Jul 2025 14:49:52 +0000 (16:49 +0200)] 
dnsdist: Upgrade Cloudflare's Quiche to 0.24.4

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 months agoMerge pull request #15879 from rgacogne/ddist20-backport-15871 dnsdist-2.0.0
Remi Gacogne [Mon, 21 Jul 2025 09:54:44 +0000 (11:54 +0200)] 
Merge pull request #15879 from rgacogne/ddist20-backport-15871

dnsdist-2.0.x: Backport 15871 - Use an unordered map for pools

2 months agoMerge pull request #15880 from rgacogne/ddist20-backport-15872
Remi Gacogne [Mon, 21 Jul 2025 09:53:04 +0000 (11:53 +0200)] 
Merge pull request #15880 from rgacogne/ddist20-backport-15872

dnsdist-2.0.x: Backport 15872 - Only parse EDNS Z once

2 months agoMerge pull request #15878 from rgacogne/ddist20-backport-15870
Remi Gacogne [Mon, 21 Jul 2025 09:52:49 +0000 (11:52 +0200)] 
Merge pull request #15878 from rgacogne/ddist20-backport-15870

dnsdist-2.0.x: Avoid constructing a DNSResponse object when not really needed

2 months agoMerge pull request #15877 from rgacogne/ddist20-backport-15869
Remi Gacogne [Mon, 21 Jul 2025 09:47:32 +0000 (11:47 +0200)] 
Merge pull request #15877 from rgacogne/ddist20-backport-15869

dnsdist-2.0.x: Backport 15869 - Small speedup for getEDNSUDPPayloadSizeAndZ()

2 months agoMerge pull request #15876 from rgacogne/ddist20-backport-15868
Remi Gacogne [Mon, 21 Jul 2025 09:47:08 +0000 (11:47 +0200)] 
Merge pull request #15876 from rgacogne/ddist20-backport-15868

dnsdist-2.0.x: Backport 15868 - Improve the scalability of the MAC address cache

2 months agoMerge pull request #15875 from rgacogne/ddist20-backport-15861
Remi Gacogne [Mon, 21 Jul 2025 09:43:57 +0000 (11:43 +0200)] 
Merge pull request #15875 from rgacogne/ddist20-backport-15861

dnsdist-2.0.x: Backport 15861 - Fix out-of-tree builds with autotools

2 months agodnsdist: Only parse EDNS Z once 15880/head
Remi Gacogne [Thu, 17 Jul 2025 15:11:11 +0000 (17:11 +0200)] 
dnsdist: Only parse EDNS Z once

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit d071f0027e663206fedaa433496c4e3bd49718ee)

2 months agodnsdist: Use an unordered map for pools 15879/head
Remi Gacogne [Fri, 18 Jul 2025 10:06:29 +0000 (12:06 +0200)] 
dnsdist: Use an unordered map for pools

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 516c3156553f874e31926671c2afed0b53b3ef19)

2 months agodnsdist: Avoid constructing a DNSResponse object when not really needed 15878/head
Remi Gacogne [Tue, 15 Jul 2025 14:27:31 +0000 (16:27 +0200)] 
dnsdist: Avoid constructing a DNSResponse object when not really needed

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 4843b77823b100d652d9116165da4b4913a48ad3)

2 months agodnsparser: Add a comment explaining that the OPT RR has to be in additional 15877/head
Remi Gacogne [Fri, 18 Jul 2025 15:05:37 +0000 (17:05 +0200)] 
dnsparser: Add a comment explaining that the OPT RR has to be in additional

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 336a601b2bd2d6475eca39a6ad1489a02354cdca)

2 months agodnsdist: Small speedup for getEDNSUDPPayloadSizeAndZ()
Remi Gacogne [Fri, 18 Jul 2025 10:07:12 +0000 (12:07 +0200)] 
dnsdist: Small speedup for getEDNSUDPPayloadSizeAndZ()

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 4e7c4d06db5f6421bc33ccf7d7e72b36fe4e68db)

2 months agodnsdist: Improve the scalability of the MAC address cache 15876/head
Remi Gacogne [Fri, 18 Jul 2025 10:06:48 +0000 (12:06 +0200)] 
dnsdist: Improve the scalability of the MAC address cache

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 574075d9a9204d44f41982fd78bb5b90a2bcfb89)

2 months agodnsdist: Fix out-of-tree builds with autotools 15875/head
Remi Gacogne [Thu, 17 Jul 2025 10:16:31 +0000 (12:16 +0200)] 
dnsdist: Fix out-of-tree builds with autotools

Stolen from Habbie, many thanks!

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 412e0da107a9c6e8df4f6ad7958f6705d5e975fc)

2 months agoMerge pull request #15842 from rgacogne/ddist20-backport-15823 dnsdist-2.0.0-rc2
Remi Gacogne [Thu, 17 Jul 2025 07:40:34 +0000 (09:40 +0200)] 
Merge pull request #15842 from rgacogne/ddist20-backport-15823

dnsdist-2.0.x: Backport 15823 - Bring back listening on multiple web server addresses

2 months agoMerge pull request #15841 from rgacogne/ddist20-backport-15822
Remi Gacogne [Thu, 17 Jul 2025 07:40:21 +0000 (09:40 +0200)] 
Merge pull request #15841 from rgacogne/ddist20-backport-15822

dnsdist-2.0.x: Backport 15822 - Allow registering NMG objects from YAML

2 months agodnsdist: Document that negative entries in netmask lists are supported 15841/head
Remi Gacogne [Wed, 16 Jul 2025 15:55:58 +0000 (17:55 +0200)] 
dnsdist: Document that negative entries in netmask lists are supported

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit aa18df7da0df93890100f2c82e79ed5eeee78e6b)

2 months agodnsdist: Apply Otto's suggestion
Remi Gacogne [Wed, 16 Jul 2025 15:55:44 +0000 (17:55 +0200)] 
dnsdist: Apply Otto's suggestion

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 08d790466b2e465700f193b503ff0a76a3a0680e)

2 months agodnsdist: Allow registering NMG objects from YAML
Remi Gacogne [Thu, 10 Jul 2025 15:11:08 +0000 (17:11 +0200)] 
dnsdist: Allow registering NMG objects from YAML

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit f158a09f2d82c305a8297cd36713decb2cadb8f0)

2 months agoMerge pull request #15837 from rgacogne/ddist20-backport-15829
Remi Gacogne [Wed, 16 Jul 2025 15:45:31 +0000 (17:45 +0200)] 
Merge pull request #15837 from rgacogne/ddist20-backport-15829

dnsdist-2.0.x: Backport 15829 - dnsdist-rust-lib: honor RUSTC_TARGET_ARCH

2 months agoMerge pull request #15838 from rgacogne/ddist20-backport-15819
Remi Gacogne [Wed, 16 Jul 2025 15:45:21 +0000 (17:45 +0200)] 
Merge pull request #15838 from rgacogne/ddist20-backport-15819

dnsdist-2.0.x: Backport 15819 - Handle named rcodes in the YAML configuration

2 months agoMerge pull request #15839 from rgacogne/ddist20-backport-15815
Remi Gacogne [Wed, 16 Jul 2025 15:45:10 +0000 (17:45 +0200)] 
Merge pull request #15839 from rgacogne/ddist20-backport-15815

dnsdist-2.0.x: Backport 15815 - Properly process the YAML source parameter for backends

2 months agoMerge pull request #15840 from rgacogne/ddist20-backport-15813
Remi Gacogne [Wed, 16 Jul 2025 15:45:01 +0000 (17:45 +0200)] 
Merge pull request #15840 from rgacogne/ddist20-backport-15813

dnsdist-2.0.x: Backport 15813 - Properly link with `libdl` when building with `autotools`

2 months agoMerge pull request #15843 from rgacogne/ddist20-backport-15833
Remi Gacogne [Wed, 16 Jul 2025 15:44:53 +0000 (17:44 +0200)] 
Merge pull request #15843 from rgacogne/ddist20-backport-15833

dnsdist-2.0.x: Backport 15833 - Fix narrowing conversion on 32-bit systems by using uint64_t instead of size_t

2 months agoFix narrowing conversion on 32-bit systems by using uint64_t instead of size_t 15843/head
Darwin4053 [Mon, 14 Jul 2025 12:06:42 +0000 (17:36 +0530)] 
Fix narrowing conversion on 32-bit systems by using uint64_t instead of size_t

(cherry picked from commit 83ac5035c5676ee9bd75b79ecfb7778f0e9d599a)

2 months agodnsdist: Fix a clang-tidy warning 15842/head
Remi Gacogne [Fri, 11 Jul 2025 10:05:28 +0000 (12:05 +0200)] 
dnsdist: Fix a clang-tidy warning

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit a5b8fe9689a4fa5ca4974f2fb17336d7327b54f2)

2 months agodnsdist: Bring back listening on multiple web server addresses
Remi Gacogne [Fri, 11 Jul 2025 08:47:26 +0000 (10:47 +0200)] 
dnsdist: Bring back listening on multiple web server addresses

This was broken during the refactoring of the configuration between
1.9.x and 2.0.x.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 11f9083073119595c655988a3981ab5f1ccc2e40)

2 months agodnsdist: Properly link with `libdl` when building with `autotools` 15840/head
Remi Gacogne [Thu, 10 Jul 2025 07:55:13 +0000 (09:55 +0200)] 
dnsdist: Properly link with `libdl` when building with `autotools`

Depending on the system we might actually need to link with `libdl`
when our Rust library is used, and the mechanism to do that was not
properly set up when building with `autotools` (we were adding `LIBDL`
to the the libraries we need but the variable was not properly filled).
Unfortunately the systems we are exercising in our CI do not need to
explicitly link with `libdl` so we did not notice.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 83416a76b6df3af560514caea8c45e750f1fd24b)

2 months agodnsdist: Properly process the YAML source parameter for backends 15839/head
Remi Gacogne [Thu, 10 Jul 2025 08:53:19 +0000 (10:53 +0200)] 
dnsdist: Properly process the YAML source parameter for backends

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 451a06cd0065fbd1364347cece5335bf921402af)

2 months agodns: Fix another clang-tidy warning 15838/head
Remi Gacogne [Fri, 11 Jul 2025 12:13:55 +0000 (14:13 +0200)] 
dns: Fix another clang-tidy warning

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 1ba566f50364a09d7ffa7391f4928fa8019157d1)

2 months agodns: Add short descriptions for extended rcodes as well
Remi Gacogne [Fri, 11 Jul 2025 09:27:38 +0000 (11:27 +0200)] 
dns: Add short descriptions for extended rcodes as well

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 4a1a3e3ed7ea4b5b9d42657c74b90b821dc95421)

2 months agodns: Fix a clang-tidy warning
Remi Gacogne [Fri, 11 Jul 2025 09:26:28 +0000 (11:26 +0200)] 
dns: Fix a clang-tidy warning

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 24570745905593be704ceaa990ecaa442d842d95)

2 months agodnsdist: The ability to use RCode names in YAML will be backported to 2.0
Remi Gacogne [Fri, 11 Jul 2025 08:05:34 +0000 (10:05 +0200)] 
dnsdist: The ability to use RCode names in YAML will be backported to 2.0

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit f593ec1327e74c6916502c4d2ad9039e1342d7ee)

2 months agodns: Add unit tests for the RCode/ERCode/Opcode helpers
Remi Gacogne [Fri, 11 Jul 2025 08:05:04 +0000 (10:05 +0200)] 
dns: Add unit tests for the RCode/ERCode/Opcode helpers

(cherry picked from commit d147b9dbd5df717c4dd299d05037b6e7a78b1061)

2 months agodns: Add short description for the Not Zone rcode
Remi Gacogne [Fri, 11 Jul 2025 08:04:20 +0000 (10:04 +0200)] 
dns: Add short description for the Not Zone rcode

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 3e114916d5efd1cd35f8f1e25f7bba02f647a1d7)

2 months agodns: Rewrite `RCode::from_short` with `std::find` and `std::distance`
Remi Gacogne [Fri, 11 Jul 2025 08:03:18 +0000 (10:03 +0200)] 
dns: Rewrite `RCode::from_short` with `std::find` and `std::distance`

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 978fca63b078da822c15d1a9bdee9bd0bb4a7349)

2 months agodnsdist: Fix a typo in the upgrade guide
Remi Gacogne [Thu, 10 Jul 2025 14:03:17 +0000 (16:03 +0200)] 
dnsdist: Fix a typo in the upgrade guide

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit e5db082886b36f30d9780439249c656ad0738605)

2 months agodnsdist: Document changed YAML parameters
Remi Gacogne [Thu, 10 Jul 2025 13:47:58 +0000 (15:47 +0200)] 
dnsdist: Document changed YAML parameters

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 852772af5e54aa2c5aeb17a4565c57a5251aba40)

2 months agodnsdist: Handle named rcodes in all YAML configuration items
Remi Gacogne [Thu, 10 Jul 2025 13:31:54 +0000 (15:31 +0200)] 
dnsdist: Handle named rcodes in all YAML configuration items

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit d442fb9443d7b89afd95f3f56e85d62931217841)

2 months agodnsdist: Handle named rcodes in the dynamic block YAML configuration
Remi Gacogne [Thu, 10 Jul 2025 10:05:02 +0000 (12:05 +0200)] 
dnsdist: Handle named rcodes in the dynamic block YAML configuration

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit f84cc5ad3e19c73cc45b393d0934d9c4579bde10)

2 months agodnsdist: Add a Dynamic block rcode rate test using YAML
Remi Gacogne [Thu, 10 Jul 2025 08:35:29 +0000 (10:35 +0200)] 
dnsdist: Add a Dynamic block rcode rate test using YAML

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 24691dd78daa343d17280dc8b44b54770430affc)

2 months agodnsdist-rust-lib: honor RUSTC_TARGET_ARCH 15837/head
Chris Hofstaedtler [Sat, 12 Jul 2025 13:28:40 +0000 (15:28 +0200)] 
dnsdist-rust-lib: honor RUSTC_TARGET_ARCH

Like for pdns-recursor and also like in the meson build.

Necessary as Debian's cargo always puts the output files into target/<arch>/...

(cherry picked from commit d6515621f452557e45e4498d508c6b6c60e7660a)

2 months agoMerge pull request #15805 from rgacogne/ddist20-backport-15639
Remi Gacogne [Tue, 8 Jul 2025 10:17:00 +0000 (12:17 +0200)] 
Merge pull request #15805 from rgacogne/ddist20-backport-15639

dnsdist-2.0.x: Backport 15639 - Add el-10 target

2 months agobuilder: avoid duplicate installation of meson/quiche/rust 15805/head
Peter van Dijk [Fri, 6 Jun 2025 13:23:23 +0000 (15:23 +0200)] 
builder: avoid duplicate installation of meson/quiche/rust

(cherry picked from commit adc4a45244c64cfcd52d03b8a392224c3851e1ff)

2 months agobuilder: add el-10 target, based on rockylinux:10 for now
Remi Gacogne [Tue, 8 Jul 2025 09:38:56 +0000 (11:38 +0200)] 
builder: add el-10 target, based on rockylinux:10 for now

cherry-picked from 32a5ef17f4aa04822b79aafd2c783c19433955a5

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 months agoMerge pull request #15787 from rgacogne/ddist20-remove-more-workflows dnsdist-2.0.0-rc1
Remi Gacogne [Mon, 7 Jul 2025 13:04:22 +0000 (15:04 +0200)] 
Merge pull request #15787 from rgacogne/ddist20-remove-more-workflows

dnsdist-2.0.x: Remove more useless workflows

2 months agoMerge pull request #15784 from rgacogne/ddist20-backport-15747
Remi Gacogne [Mon, 7 Jul 2025 13:04:06 +0000 (15:04 +0200)] 
Merge pull request #15784 from rgacogne/ddist20-backport-15747

dnsdist-2.0.x: Backport 15747 - Add a Lua binding to get objects declared in YAML

2 months agodnsdist-2.0.x: Remove more useless workflows 15787/head
Remi Gacogne [Thu, 3 Jul 2025 15:26:32 +0000 (17:26 +0200)] 
dnsdist-2.0.x: Remove more useless workflows

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 months agodnsdist: Add an explicit return type to getObjectFromYAMLConfiguration 15784/head
Remi Gacogne [Tue, 1 Jul 2025 08:01:06 +0000 (10:01 +0200)] 
dnsdist: Add an explicit return type to getObjectFromYAMLConfiguration

As suggested by Otto.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 9263b481855ffc6e3324f2d342ce66b57e4ac0fa)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 months agodnsdist: Add a regression test for `getObjectFromYAMLConfiguration`
Remi Gacogne [Mon, 30 Jun 2025 11:37:20 +0000 (13:37 +0200)] 
dnsdist: Add a regression test for `getObjectFromYAMLConfiguration`

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit 80f292fc5d96ab59afea63aaf8323267081b9114)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 months agodnsdist: Add a Lua binding to get objects declared in YAML
Remi Gacogne [Mon, 30 Jun 2025 10:23:56 +0000 (12:23 +0200)] 
dnsdist: Add a Lua binding to get objects declared in YAML

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit d98d50b1939016d03a522cb6a79834088949e913)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
3 months agoMerge pull request #15780 from rgacogne/ddist20-backport-15751
Remi Gacogne [Thu, 3 Jul 2025 12:05:05 +0000 (14:05 +0200)] 
Merge pull request #15780 from rgacogne/ddist20-backport-15751

dnsdist-2.0.x: Backport to 15751 - Error on unsupported backend protocols from YAML

3 months agoMerge pull request #15779 from rgacogne/ddist20-backport-15750
Remi Gacogne [Thu, 3 Jul 2025 12:04:53 +0000 (14:04 +0200)] 
Merge pull request #15779 from rgacogne/ddist20-backport-15750

dnsdist-2.0.x: Backport 15750 - Fix logging and XSK YAML settings being ignored

3 months agoMerge pull request #15778 from rgacogne/ddist20-backport-15739
Remi Gacogne [Thu, 3 Jul 2025 12:04:39 +0000 (14:04 +0200)] 
Merge pull request #15778 from rgacogne/ddist20-backport-15739

dnsdist-2.0.x: Backport 15739 - lmdb-safe: Fix a small race in `getMDBEnv`

3 months agoMerge pull request #15777 from rgacogne/ddist20-backport-15738
Remi Gacogne [Thu, 3 Jul 2025 12:04:27 +0000 (14:04 +0200)] 
Merge pull request #15777 from rgacogne/ddist20-backport-15738

dnsdist-2.0.x: Backport 15738 - Prevent users from opening the same LMDB twice

3 months agoMerge pull request #15776 from rgacogne/ddist20-backport-15735
Remi Gacogne [Thu, 3 Jul 2025 12:04:13 +0000 (14:04 +0200)] 
Merge pull request #15776 from rgacogne/ddist20-backport-15735

dnsdist-2.0.x: Backport 15735 - lmdb-safe: Improve the scalability of transaction maps

3 months agoMerge pull request #15775 from rgacogne/ddist20-backport-15718
Remi Gacogne [Thu, 3 Jul 2025 12:04:00 +0000 (14:04 +0200)] 
Merge pull request #15775 from rgacogne/ddist20-backport-15718

dnsdist-2.0.x: Backport 15718 - Return nil for non-existing Lua objects