]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
4 months agoPreserve record order in pdnsutil add-record. 15170/head
Miod Vallat [Wed, 19 Feb 2025 11:16:32 +0000 (12:16 +0100)] 
Preserve record order in pdnsutil add-record.

4 months agoAdd simple tests for pdnsutil add-record behaviour.
Miod Vallat [Mon, 17 Feb 2025 14:16:15 +0000 (15:16 +0100)] 
Add simple tests for pdnsutil add-record behaviour.

4 months agoMake sure a backend envvar is always provided to tests.
Miod Vallat [Mon, 17 Feb 2025 14:10:38 +0000 (15:10 +0100)] 
Make sure a backend envvar is always provided to tests.

4 months agoPrevent duplicate records in pdnsutil add-record.
Miod Vallat [Mon, 17 Feb 2025 14:14:30 +0000 (15:14 +0100)] 
Prevent duplicate records in pdnsutil add-record.

When adding records with pdnsutil, the combination of the existing and
to-be-added records will now be dedup'ed.

Fixes: #4727
4 months agoMerge pull request #15133 from miodvallat/numbers_are_secondary
Miod Vallat [Wed, 5 Mar 2025 07:27:34 +0000 (08:27 +0100)] 
Merge pull request #15133 from miodvallat/numbers_are_secondary

[pdnsutil] Do not allow increase-serial on secondary zones

4 months agoMerge pull request #15090 from miodvallat/cache_me_tender
Miod Vallat [Wed, 5 Mar 2025 06:08:43 +0000 (07:08 +0100)] 
Merge pull request #15090 from miodvallat/cache_me_tender

Avoid LMDB exception during recursive lookup

4 months agoMerge pull request #15217 from omoerbeek/logging-tidy
Otto Moerbeek [Tue, 4 Mar 2025 15:03:47 +0000 (16:03 +0100)] 
Merge pull request #15217 from omoerbeek/logging-tidy

Tidy of structured logging related files

4 months agoTidy structured logging related files 15217/head
Otto Moerbeek [Mon, 24 Feb 2025 14:27:49 +0000 (15:27 +0100)] 
Tidy structured logging related files

4 months agoMerge pull request #15169 from omoerbeek/rec-meson-gen-docs
Otto Moerbeek [Tue, 4 Mar 2025 13:18:18 +0000 (14:18 +0100)] 
Merge pull request #15169 from omoerbeek/rec-meson-gen-docs

Use meson to generate docs (html + pdf)

4 months agoMerge pull request #15167 from omoerbeek/rec-proxy-reload
Otto Moerbeek [Tue, 4 Mar 2025 13:17:47 +0000 (14:17 +0100)] 
Merge pull request #15167 from omoerbeek/rec-proxy-reload

rec: reload proxy settings on rec_control reload-acls

4 months agoBetter description of docs related utilities 15169/head
Otto Moerbeek [Tue, 4 Mar 2025 12:41:39 +0000 (13:41 +0100)] 
Better description of docs related utilities

4 months agoAdd test for ProxyProtocol config reload 15167/head
Otto Moerbeek [Tue, 4 Mar 2025 12:33:33 +0000 (13:33 +0100)] 
Add test for ProxyProtocol config reload

4 months agoMerge pull request #15248 from omoerbeek/rec-docs-rpz-refresh
Otto Moerbeek [Tue, 4 Mar 2025 12:00:44 +0000 (13:00 +0100)] 
Merge pull request #15248 from omoerbeek/rec-docs-rpz-refresh

rec docs: elaborate on RPZ refresh parameter

4 months agoMerge pull request #15243 from romeroalx/build-images-ubuntu-24
Alexis Romero [Tue, 4 Mar 2025 11:26:51 +0000 (12:26 +0100)] 
Merge pull request #15243 from romeroalx/build-images-ubuntu-24

GH Actions: upgrade version of Ubuntu runners to 24.04

4 months agorec docs: elaborate on RPZ refresh parameter 15248/head
Otto Moerbeek [Tue, 4 Mar 2025 11:23:41 +0000 (12:23 +0100)] 
rec docs: elaborate on RPZ refresh parameter

4 months agoMerge pull request #14990 from Habbie/drop-el7-debianbuster
Peter van Dijk [Tue, 4 Mar 2025 10:33:11 +0000 (11:33 +0100)] 
Merge pull request #14990 from Habbie/drop-el7-debianbuster

drop el-7, debian-buster, amazonlinux-2

4 months agogh actions - build-and-test-all: use ubuntu24 runners 15243/head
romeroalx [Mon, 3 Mar 2025 20:47:44 +0000 (21:47 +0100)] 
gh actions - build-and-test-all: use ubuntu24 runners

4 months agogh actions: build images and packages using ubuntu-24.04 runners
romeroalx [Mon, 3 Mar 2025 18:51:11 +0000 (19:51 +0100)] 
gh actions: build images and packages using ubuntu-24.04 runners

4 months agoMerge pull request #15238 from miodvallat/poor_lonesome_backend
Peter van Dijk [Mon, 3 Mar 2025 11:02:15 +0000 (12:02 +0100)] 
Merge pull request #15238 from miodvallat/poor_lonesome_backend

Fix list-all-zones in multi-backend configuration involving LMDB

4 months agoMerge pull request #15225 from miodvallat/distdistdistdistdist
Remi Gacogne [Mon, 3 Mar 2025 10:15:10 +0000 (11:15 +0100)] 
Merge pull request #15225 from miodvallat/distdistdistdistdist

Fix syntax of commented out dynblockrules

4 months agoMerge pull request #15199 from rgacogne/ddist-ebpf-all
Remi Gacogne [Mon, 3 Mar 2025 09:35:52 +0000 (10:35 +0100)] 
Merge pull request #15199 from rgacogne/ddist-ebpf-all

dnsdist: Use `65535` instead of `255` to block all types via eBPF

5 months agoDo not clear the domain list in getAllDomains. 15238/head
Miod Vallat [Fri, 28 Feb 2025 15:38:39 +0000 (16:38 +0100)] 
Do not clear the domain list in getAllDomains.

Doing this causes incomplete information to be returned in multi-backend
configuration.

5 months agoMerge pull request #15176 from Habbie/lmdb-prefix-lookup
Peter van Dijk [Fri, 28 Feb 2025 12:33:42 +0000 (13:33 +0100)] 
Merge pull request #15176 from Habbie/lmdb-prefix-lookup

lmdb-safe: add prefix() cursor; use it in list/lookup/get

5 months agoexplicit int checks 15176/head
Peter van Dijk [Fri, 28 Feb 2025 11:02:22 +0000 (12:02 +0100)] 
explicit int checks

5 months agoremove redundant check
Peter van Dijk [Fri, 28 Feb 2025 11:01:33 +0000 (12:01 +0100)] 
remove redundant check

5 months agoadjust updateDNSSECOrderNameAndAuth to prefix() lookup
Peter van Dijk [Fri, 28 Feb 2025 10:23:35 +0000 (11:23 +0100)] 
adjust updateDNSSECOrderNameAndAuth to prefix() lookup

5 months agolmdb-safe: add prefix() cursor; use it in list/lookup/get
Peter van Dijk [Wed, 19 Feb 2025 18:28:22 +0000 (19:28 +0100)] 
lmdb-safe: add prefix() cursor; use it in list/lookup/get

5 months agoMerge pull request #15222 from miodvallat/parse_with_more_care
Miod Vallat [Thu, 27 Feb 2025 12:54:36 +0000 (13:54 +0100)] 
Merge pull request #15222 from miodvallat/parse_with_more_care

Damage control in Lua createForward()

5 months agoFix syntax of commented out dynblockrules; reported in #15224 15225/head
Miod Vallat [Thu, 27 Feb 2025 07:09:32 +0000 (08:09 +0100)] 
Fix syntax of commented out dynblockrules; reported in #15224

5 months agoDamage control in Lua createForward() and createForward6(). 15222/head
Miod Vallat [Wed, 26 Feb 2025 13:31:50 +0000 (14:31 +0100)] 
Damage control in Lua createForward() and createForward6().

- make sure all computed results are passed to a ComboAddress
  constructor, which will reject ill-formed data. This wasn't the case
  in createForward, when interpreting part of the requested name as an
  ipv4 address encoded in hexadecimal (e.g. 7f000001), but the actual
  name wasn't.
  This would otherwise end up with a SERVFAIL answer and a Lua stack
  traceback containing messages such as:
    Unable to convert presentation address '4294967292.xx.yy.zz'
  for a name ending with "-4" and six hex digits.

- wrap these functions into a try/catch block in order to cope with
  possible exceptions raised by ComboAddress.
  This wasn't the case in createForward6 when the requested name
  contains at least 8 dots - this doesn't imply each component is a
  valid ipv6 chunk.

5 months agoMerge pull request #15216 from omoerbeek/rec-recthread-cleanup
Otto Moerbeek [Wed, 26 Feb 2025 09:00:56 +0000 (10:00 +0100)] 
Merge pull request #15216 from omoerbeek/rec-recthread-cleanup

rec: store thread id in info object, makes a few methods less error prone

5 months agoApply suggestions from code review 15216/head
Otto Moerbeek [Wed, 26 Feb 2025 06:47:42 +0000 (07:47 +0100)] 
Apply suggestions from code review

Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
5 months agorec: store id in info object, makes a few methods less error prone
Otto Moerbeek [Fri, 14 Feb 2025 13:09:45 +0000 (14:09 +0100)] 
rec: store id in info object, makes a few methods less error prone

5 months agoMerge pull request #15203 from omoerbeek/rec-beck-to-serde-yaml
Otto Moerbeek [Mon, 24 Feb 2025 10:30:54 +0000 (11:30 +0100)] 
Merge pull request #15203 from omoerbeek/rec-beck-to-serde-yaml

rec: switch back to serde_yaml

5 months agoMerge pull request #15187 from Habbie/docs-pr-artifact
Peter van Dijk [Mon, 24 Feb 2025 10:30:42 +0000 (11:30 +0100)] 
Merge pull request #15187 from Habbie/docs-pr-artifact

docs: reinstate artifact generation for PRs

5 months agoMerge pull request #15205 from omoerbeek/dnsdist-back-to-serde-yaml
Otto Moerbeek [Mon, 24 Feb 2025 10:27:10 +0000 (11:27 +0100)] 
Merge pull request #15205 from omoerbeek/dnsdist-back-to-serde-yaml

dnsdist: switch back to serde_yaml

5 months agoMerge pull request #15206 from omoerbeek/rec-catz-test-race
Otto Moerbeek [Mon, 24 Feb 2025 09:34:11 +0000 (10:34 +0100)] 
Merge pull request #15206 from omoerbeek/rec-catz-test-race

rec: workaround a potential (but rare) race in the FWCatz test

5 months agoSwitch back to serde_yaml 15203/head
Otto Moerbeek [Mon, 24 Feb 2025 08:11:32 +0000 (09:11 +0100)] 
Switch back to serde_yaml

Fixes the rec part of #15202

5 months agoMerge pull request #15082 from miodvallat/dilnpstu
Miod Vallat [Mon, 24 Feb 2025 09:27:27 +0000 (10:27 +0100)] 
Merge pull request #15082 from miodvallat/dilnpstu

More helpful pdnsutil help output

5 months agoFriendlier usage output. 15082/head
Miod Vallat [Thu, 23 Jan 2025 14:28:26 +0000 (15:28 +0100)] 
Friendlier usage output.

1. The commands dictionary is extended with a command group, as well as
   the one-liner synopsis and help message. When the list of these
   one-liners get output, they are now output in sorted order within
   each group.

2. Instead of having the syntax on the leftmost 40 columns and the
   description on the rightmost 40 columns, causing many commands to
   span more than one line total, we now display the syntax on a whole
   line, and the description on the next one, indented by a tab.

   This should hopefully improve readability (especially for complex
   syntax lines).

3. The command synopsis is now passed to the command handler. This
   allows error messages in case of invocation error to be consistent
   with the output of `pdnsutil help`.

4. Tweak and homogeneize command synopsis, and sync the pdnsutil
   documentation accordingly.

Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
5 months agorec: workaround a potential (but rare) race in the FWCatz test 15206/head
Otto Moerbeek [Fri, 21 Feb 2025 11:07:41 +0000 (12:07 +0100)] 
rec: workaround a potential (but rare) race in the FWCatz test

5 months agoMerge pull request #15200 from zeha/recdocssample
Otto Moerbeek [Mon, 24 Feb 2025 08:24:12 +0000 (09:24 +0100)] 
Merge pull request #15200 from zeha/recdocssample

rec: fix auth_zones yaml example

5 months agodnsdist: switch back to serde_yaml 15205/head
Otto Moerbeek [Mon, 24 Feb 2025 08:20:46 +0000 (09:20 +0100)] 
dnsdist: switch back to serde_yaml

Fixes the dnsdist part of #15202

5 months agorec: fix auth_zones yaml example 15200/head
Chris Hofstaedtler [Fri, 21 Feb 2025 14:26:01 +0000 (15:26 +0100)] 
rec: fix auth_zones yaml example

5 months agoMerge pull request #15185 from jsoref/primary-secondary
Miod Vallat [Fri, 21 Feb 2025 13:50:36 +0000 (14:50 +0100)] 
Merge pull request #15185 from jsoref/primary-secondary

docs: Update to primary/secondary

5 months agodnsdist: Use 65535 instead of 255 to block all types via eBPF 15199/head
Remi Gacogne [Fri, 21 Feb 2025 13:38:55 +0000 (14:38 +0100)] 
dnsdist: Use 65535 instead of 255 to block all types via eBPF

Our eBPF filtering code used to treat the `255` (`ANY`) qtype as a
special value meaning to block queries for all types. Unfortunately
it prevented blocking queries for the `ANY` type only, which is a
legitimate use-case.
After this commit `255` is no longer a special value, and `65535`
(a reserved value) is used instead to represent all types.

This is a breaking change that should NOT be backported.

5 months agodocs: Fix docs to match reference to autosecondary 15185/head
Josh Soref [Fri, 21 Feb 2025 13:02:44 +0000 (08:02 -0500)] 
docs: Fix docs to match reference to autosecondary

The docs had been wrong since the feature was renamed in
d3dfd71e2d8cb56113a36d55df57864d16e5f6c2

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
5 months agoMerge pull request #15198 from rgacogne/ddist-coverity-20250221
Remi Gacogne [Fri, 21 Feb 2025 12:59:37 +0000 (13:59 +0100)] 
Merge pull request #15198 from rgacogne/ddist-coverity-20250221

dnsdist: Fix a few warnings from Coverity

5 months agoMerge pull request #15196 from rgacogne/rec-fix-secpoll-tsan
Remi Gacogne [Fri, 21 Feb 2025 11:04:44 +0000 (12:04 +0100)] 
Merge pull request #15196 from rgacogne/rec-fix-secpoll-tsan

rec: Fix a race reported by TSAN around the secpoll status

5 months agodnsdist: Fix a few warnings from Coverity 15198/head
Remi Gacogne [Fri, 21 Feb 2025 10:44:18 +0000 (11:44 +0100)] 
dnsdist: Fix a few warnings from Coverity

Mostly missed optimizations in places where the performance does not
matter much (configuration parsing) and a few false positives
(places where a copy is actually what we want, and Coverity is not
smart enough to understand it).

5 months agorec: Fix clang-tidy's warning 15196/head
Remi Gacogne [Fri, 21 Feb 2025 09:56:23 +0000 (10:56 +0100)] 
rec: Fix clang-tidy's warning

5 months agoMerge pull request #15194 from omoerbeek/rec-zf-file-syntax
Otto Moerbeek [Fri, 21 Feb 2025 09:36:41 +0000 (10:36 +0100)] 
Merge pull request #15194 from omoerbeek/rec-zf-file-syntax

rec: document file extension of zone forward file and do not accept empty list of forwards

5 months agoMerge pull request #15193 from omoerbeek/rec-top-million
Otto Moerbeek [Fri, 21 Feb 2025 09:36:21 +0000 (10:36 +0100)] 
Merge pull request #15193 from omoerbeek/rec-top-million

rec: update umbrella top million URLs

5 months agoMerge pull request #15192 from omoerbeek/include-fixes
Otto Moerbeek [Fri, 21 Feb 2025 09:35:52 +0000 (10:35 +0100)] 
Merge pull request #15192 from omoerbeek/include-fixes

Add two missing includes

5 months agorec: Fix a race reported by TSAN around the secpoll status
Remi Gacogne [Fri, 21 Feb 2025 09:09:13 +0000 (10:09 +0100)] 
rec: Fix a race reported by TSAN around the secpoll status

We used to store the security polling status in a regular integer,
and the status can be updated from the `rec/web+stat` thread while
being read from a Rust-based web-server thread, which is correctly
reported by TSAN as a data race:
```
  WARNING: ThreadSanitizer: data race (pid=2006)
    Write of size 4 at 0x55f19579db54 by thread T5:
      #0 doSecPoll(long*, std::shared_ptr<Logr::Logger> const&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/secpoll-recursor.cc:84:23 (pdns_recursor+0x814e3c)
      #1 SyncRes::doResolveAt(std::unordered_map<DNSName, std::pair<std::vector<ComboAddress, std::allocator<ComboAddress> >, bool>, std::hash<DNSName>, std::equal_to<DNSName>, std::allocator<std::pair<DNSName const, std::pair<std::vector<ComboAddress, std::allocator<ComboAddress> >, bool> > > >&, DNSName, bool, DNSName const&, QType, std::vector<DNSRecord, std::allocator<DNSRecord> >&, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::set<SyncRes::GetBestNSAnswer, std::less<SyncRes::GetBestNSAnswer>, std::allocator<SyncRes::GetBestNSAnswer> >&, SyncRes::Context&, SyncRes::StopAtDelegation*, std::map<DNSName, std::vector<ComboAddress, std::allocator<ComboAddress> >, std::less<DNSName>, std::allocator<std::pair<DNSName const, std::vector<ComboAddress, std::allocator<ComboAddress> > > > >*) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/syncres.cc:6040:25 (pdns_recursor+0x84be60)
      #2 SyncRes::doResolveNoQNameMinimization(DNSName const&, QType, std::vector<DNSRecord, std::allocator<DNSRecord> >&, unsigned int, std::set<SyncRes::GetBestNSAnswer, std::less<SyncRes::GetBestNSAnswer>, std::allocator<SyncRes::GetBestNSAnswer> >&, SyncRes::Context&, bool*, SyncRes::StopAtDelegation*) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/syncres.cc:2099:11 (pdns_recursor+0x838903)
      #3 SyncRes::doResolve(DNSName const&, QType, std::vector<DNSRecord, std::allocator<DNSRecord> >&, unsigned int, std::set<SyncRes::GetBestNSAnswer, std::less<SyncRes::GetBestNSAnswer>, std::allocator<SyncRes::GetBestNSAnswer> >&, SyncRes::Context&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/syncres.cc:1835:13 (pdns_recursor+0x825337)
      #4 SyncRes::beginResolve(DNSName const&, QType, QClass, std::vector<DNSRecord, std::allocator<DNSRecord> >&, unsigned int) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/syncres.cc:797:13 (pdns_recursor+0x828974)
      #5 doSecPoll(long*, std::shared_ptr<Logr::Logger> const&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/secpoll-recursor.cc:55:22 (pdns_recursor+0x814039)
      #6 houseKeepingWork(std::shared_ptr<Logr::Logger> const&)::$_18::operator()() const /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2651:9 (pdns_recursor+0x68abb3)
      #7 void std::__invoke_impl<void, houseKeepingWork(std::shared_ptr<Logr::Logger> const&)::$_18&>(std::__invoke_other, houseKeepingWork(std::shared_ptr<Logr::Logger> const&)::$_18&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61:14 (pdns_recursor+0x68abb3)
      #8 std::enable_if<is_invocable_r_v<void, houseKeepingWork(std::shared_ptr<Logr::Logger> const&)::$_18&>, void>::type std::__invoke_r<void, houseKeepingWork(std::shared_ptr<Logr::Logger> const&)::$_18&>(houseKeepingWork(std::shared_ptr<Logr::Logger> const&)::$_18&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:111:2 (pdns_recursor+0x68abb3)
      #9 std::_Function_handler<void (), houseKeepingWork(std::shared_ptr<Logr::Logger> const&)::$_18>::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:290:9 (pdns_recursor+0x68abb3)
      #10 std::function<void ()>::operator()() const /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (pdns_recursor+0x688561)
      #11 PeriodicTask::runIfDue(timeval&, std::function<void ()> const&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2490:7 (pdns_recursor+0x688561)
      #12 houseKeepingWork(std::shared_ptr<Logr::Logger> const&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2649:17 (pdns_recursor+0x688561)
      #13 houseKeeping(void*) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2715:5 (pdns_recursor+0x688561)
      #14 MTasker<std::shared_ptr<PacketID>, std::vector<unsigned char, noinit_adaptor<std::allocator<unsigned char> > >, PacketIDCompare>::makeThread(void (*)(void*), void*)::'lambda'()::operator()() const /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/./mtasker.hh:397:5 (pdns_recursor+0x5f04b5)
      #15 void std::__invoke_impl<void, MTasker<std::shared_ptr<PacketID>, std::vector<unsigned char, noinit_adaptor<std::allocator<unsigned char> > >, PacketIDCompare>::makeThread(void (*)(void*), void*)::'lambda'()&>(std::__invoke_other, MTasker<std::shared_ptr<PacketID>, std::vector<unsigned char, noinit_adaptor<std::allocator<unsigned char> > >, PacketIDCompare>::makeThread(void (*)(void*), void*)::'lambda'()&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61:14 (pdns_recursor+0x5f0191)
      #16 std::enable_if<is_invocable_r_v<void, MTasker<std::shared_ptr<PacketID>, std::vector<unsigned char, noinit_adaptor<std::allocator<unsigned char> > >, PacketIDCompare>::makeThread(void (*)(void*), void*)::'lambda'()&>, void>::type std::__invoke_r<void, MTasker<std::shared_ptr<PacketID>, std::vector<unsigned char, noinit_adaptor<std::allocator<unsigned char> > >, PacketIDCompare>::makeThread(void (*)(void*), void*)::'lambda'()&>(MTasker<std::shared_ptr<PacketID>, std::vector<unsigned char, noinit_adaptor<std::allocator<unsigned char> > >, PacketIDCompare>::makeThread(void (*)(void*), void*)::'lambda'()&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:111:2 (pdns_recursor+0x5f0191)
      #17 std::_Function_handler<void (), MTasker<std::shared_ptr<PacketID>, std::vector<unsigned char, noinit_adaptor<std::allocator<unsigned char> > >, PacketIDCompare>::makeThread(void (*)(void*), void*)::'lambda'()>::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:290:9 (pdns_recursor+0x5f0191)
      #18 std::function<void ()>::operator()() const /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (pdns_recursor+0x591fdf)
      #19 threadWrapper(boost::context::detail::transfer_t) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/mtasker_context.cc:163:7 (pdns_recursor+0x591fdf)
      #20 MTasker<std::shared_ptr<PacketID>, std::vector<unsigned char, noinit_adaptor<std::allocator<unsigned char> > >, PacketIDCompare>::schedule(timeval const&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/./mtasker.hh:426:7 (pdns_recursor+0x6ade0b)
      #21 recLoop() /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2764:29 (pdns_recursor+0x666577)
      #22 recursorThread() /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2959:5 (pdns_recursor+0x666577)
      #23 recLoop() /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2773:24 (pdns_recursor+0x66664d)
      #24 recursorThread() /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2959:5 (pdns_recursor+0x66664d)
      #25 recLoop() /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2806:26 (pdns_recursor+0x668385)
      #26 recursorThread() /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2959:5 (pdns_recursor+0x668385)
      #27 RecThreadInfo::start(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<unsigned int, std::set<int, std::less<int>, std::allocator<int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::set<int, std::less<int>, std::allocator<int> > > > > const&, std::shared_ptr<Logr::Logger> const&)::$_0::operator()() const /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:241:5 (pdns_recursor+0x69caf7)
      #28 void std::__invoke_impl<void, RecThreadInfo::start(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<unsigned int, std::set<int, std::less<int>, std::allocator<int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::set<int, std::less<int>, std::allocator<int> > > > > const&, std::shared_ptr<Logr::Logger> const&)::$_0>(std::__invoke_other, RecThreadInfo::start(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<unsigned int, std::set<int, std::less<int>, std::allocator<int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::set<int, std::less<int>, std::allocator<int> > > > > const&, std::shared_ptr<Logr::Logger> const&)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61:14 (pdns_recursor+0x69caf7)
      #29 std::__invoke_result<RecThreadInfo::start(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<unsigned int, std::set<int, std::less<int>, std::allocator<int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::set<int, std::less<int>, std::allocator<int> > > > > const&, std::shared_ptr<Logr::Logger> const&)::$_0>::type std::__invoke<RecThreadInfo::start(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<unsigned int, std::set<int, std::less<int>, std::allocator<int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::set<int, std::less<int>, std::allocator<int> > > > > const&, std::shared_ptr<Logr::Logger> const&)::$_0>(RecThreadInfo::start(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<unsigned int, std::set<int, std::less<int>, std::allocator<int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::set<int, std::less<int>, std::allocator<int> > > > > const&, std::shared_ptr<Logr::Logger> const&)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:96:14 (pdns_recursor+0x69caf7)
      #30 void std::thread::_Invoker<std::tuple<RecThreadInfo::start(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<unsigned int, std::set<int, std::less<int>, std::allocator<int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::set<int, std::less<int>, std::allocator<int> > > > > const&, std::shared_ptr<Logr::Logger> const&)::$_0> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_thread.h:252:13 (pdns_recursor+0x69caf7)
      #31 std::thread::_Invoker<std::tuple<RecThreadInfo::start(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<unsigned int, std::set<int, std::less<int>, std::allocator<int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::set<int, std::less<int>, std::allocator<int> > > > > const&, std::shared_ptr<Logr::Logger> const&)::$_0> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_thread.h:259:11 (pdns_recursor+0x69caf7)
      #32 std::thread::_State_impl<std::thread::_Invoker<std::tuple<RecThreadInfo::start(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<unsigned int, std::set<int, std::less<int>, std::allocator<int> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::set<int, std::less<int>, std::allocator<int> > > > > const&, std::shared_ptr<Logr::Logger> const&)::$_0> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_thread.h:210:13 (pdns_recursor+0x69caf7)
      #33 <null> <null> (libstdc++.so.6+0xd44a2)

    Previous read of size 4 at 0x55f19579db54 by thread T6:
      #0 getAllStatsMap[abi:cxx11](StatComponent) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec_channel_rec.cc:231:101 (pdns_recursor+0x760f2e)
      #1 productServerStatisticsFetch(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/ws-recursor.cc:55:16 (pdns_recursor+0x8fcd70)
      #2 apiServerStatistics(HttpRequest*, HttpResponse*) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/ws-api.cc:189:3 (pdns_recursor+0x8f5f71)
      #3 void std::__invoke_impl<void, void (*&)(HttpRequest*, HttpResponse*), HttpRequest*, HttpResponse*>(std::__invoke_other, void (*&)(HttpRequest*, HttpResponse*), HttpRequest*&&, HttpResponse*&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:61:14 (pdns_recursor+0x918cc8)
      #4 std::enable_if<is_invocable_r_v<void, void (*&)(HttpRequest*, HttpResponse*), HttpRequest*, HttpResponse*>, void>::type std::__invoke_r<void, void (*&)(HttpRequest*, HttpResponse*), HttpRequest*, HttpResponse*>(void (*&)(HttpRequest*, HttpResponse*), HttpRequest*&&, HttpResponse*&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/invoke.h:111:2 (pdns_recursor+0x918cc8)
      #5 std::_Function_handler<void (HttpRequest*, HttpResponse*), void (*)(HttpRequest*, HttpResponse*)>::_M_invoke(std::_Any_data const&, HttpRequest*&&, HttpResponse*&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:290:9 (pdns_recursor+0x918cc8)
      #6 std::function<void (HttpRequest*, HttpResponse*)>::operator()(HttpRequest*, HttpResponse*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/std_function.h:591:9 (pdns_recursor+0x8ff173)
      #7 rustWrapper(std::function<void (HttpRequest*, HttpResponse*)> const&, pdns::rust::web::rec::Request const&, pdns::rust::web::rec::Response&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/ws-recursor.cc:1067:5 (pdns_recursor+0x8ff173)
      #8 pdns::rust::web::rec::apiServerStatistics(pdns::rust::web::rec::Request const&, pdns::rust::web::rec::Response&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/ws-recursor.cc:1102:1 (pdns_recursor+0x907b80)
      #9 pdns$rust$web$rec$cxxbridge1$apiServerStatistics <null> (pdns_recursor+0x9984b2)

    Location is global 'g_security_status' of size 4 at 0x55f19579db54 (pdns_recursor+0x000004479b54)

    Thread T5 'rec/web+stat' (tid=2012, running) created by main thread at:
      #0 pthread_create <null> (pdns_recursor+0x1fe42d)
      #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd4578)
      #2 RecThreadInfo::runThreads(std::shared_ptr<Logr::Logger> const&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:355:10 (pdns_recursor+0x663382)
      #3 serviceMain(std::shared_ptr<Logr::Logger> const&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2402:9 (pdns_recursor+0x67fdaf)
      #4 main /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:3316:11 (pdns_recursor+0x678755)

    Thread T6 (tid=2013, running) created by main thread at:
      #0 pthread_create <null> (pdns_recursor+0x1fe42d)
      #1 std::sys::pal::unix::thread::Thread::new::he1793c71df66b318 /rustc/e71f9a9a98b0faf423844bf0ba7438f29dc27d58/library/std/src/sys/pal/unix/thread.rs:84:19 (pdns_recursor+0xc1ef11)
      #2 RecThreadInfo::runThreads(std::shared_ptr<Logr::Logger> const&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:358:7 (pdns_recursor+0x663417)
      #3 serviceMain(std::shared_ptr<Logr::Logger> const&) /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:2402:9 (pdns_recursor+0x67fdaf)
      #4 main /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/rec-main.cc:3316:11 (pdns_recursor+0x678755)

  SUMMARY: ThreadSanitizer: data race /__w/pdns/pdns/pdns/recursordist/pdns-recursor-0.0.0-git1/secpoll-recursor.cc:84:23 in doSecPoll(long*, std::shared_ptr<Logr::Logger> const&)
```
This commit switches to an atomic type to store the security polling
status and clarify that the security polling message is not actually
shared outside of the security polling function.
It appears that the security polling status was the last metric stored
in a `uint32_t` type so we can get rid of some now unused code in the
process.

5 months agorec: document file extension of zone forward file and do not accept empty list of... 15194/head
Otto Moerbeek [Tue, 11 Feb 2025 14:42:54 +0000 (15:42 +0100)] 
rec: document file extension of zone forward file and do not accept empty list of forwards

The YAML code already disallows an empty forwarders list. The added
case mainly covers the case when an old-style forward file is parsed
as if it's YAML. This now generated an error:

Feb 21 09:57:39 msg="Fatal error" error="empty list of forwarders for domain '- zone: example.com\"on line 1 of tmp/f.conf" subsystem="config" level="0" prio="Critical" tid="0" ts="1740128259.137" exception="PDNSException"

This hopefully makes admins realize rec is trying to parse YAML
content, but is expecting old-style as the file does not end in
in .yml.

5 months agorec: update umbrella top million URLs 15193/head
Otto Moerbeek [Fri, 21 Feb 2025 08:38:12 +0000 (09:38 +0100)] 
rec: update umbrella top million URLs

After suggestion by @mnordhoff in IRC

5 months agoAdd two missing includes 15192/head
Otto Moerbeek [Fri, 21 Feb 2025 08:34:15 +0000 (09:34 +0100)] 
Add two missing includes

Fixes #15179

5 months agoMerge pull request #15190 from jsoref/dnssec-migration
Miod Vallat [Fri, 21 Feb 2025 07:18:01 +0000 (08:18 +0100)] 
Merge pull request #15190 from jsoref/dnssec-migration

docs: DNSSEC migration

5 months agoMerge pull request #15191 from jsoref/doc-pdnsutil
Miod Vallat [Fri, 21 Feb 2025 06:05:00 +0000 (07:05 +0100)] 
Merge pull request #15191 from jsoref/doc-pdnsutil

docs: link to doc:pdnsutil

5 months agoMerge pull request #15189 from jsoref/lua-if-first-run
Miod Vallat [Fri, 21 Feb 2025 06:03:39 +0000 (07:03 +0100)] 
Merge pull request #15189 from jsoref/lua-if-first-run

docs: lua warn about first run checks

5 months agoMerge pull request #15188 from jsoref/lua-link-to-ifurlup-options
Miod Vallat [Fri, 21 Feb 2025 06:01:20 +0000 (07:01 +0100)] 
Merge pull request #15188 from jsoref/lua-link-to-ifurlup-options

docs: lua link to ifurlup-options

5 months agodocs: link to doc:pdnsutil 15191/head
Josh Soref [Thu, 20 Feb 2025 22:01:40 +0000 (17:01 -0500)] 
docs: link to doc:pdnsutil

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
5 months agodocs: dnssec migration use rst mark up 15190/head
Josh Soref [Thu, 20 Feb 2025 21:24:24 +0000 (16:24 -0500)] 
docs: dnssec migration use rst mark up

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
5 months agodocs: dnssec migration use rst mark up and change wording
Josh Soref [Thu, 20 Feb 2025 21:23:45 +0000 (16:23 -0500)] 
docs: dnssec migration use rst mark up and change wording

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
5 months agodocs: lua warn about first run checks 15189/head
Josh Soref [Thu, 20 Feb 2025 20:58:50 +0000 (15:58 -0500)] 
docs: lua warn about first run checks

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
5 months agodocs: lua link to ifurlup-options 15188/head
Josh Soref [Thu, 20 Feb 2025 20:55:01 +0000 (15:55 -0500)] 
docs: lua link to ifurlup-options

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
5 months agodocs: reinstate artifact generation for PRs 15187/head
Peter van Dijk [Thu, 20 Feb 2025 18:46:49 +0000 (19:46 +0100)] 
docs: reinstate artifact generation for PRs

5 months agodocs: Update to primary/secondary
Josh Soref [Thu, 20 Feb 2025 16:44:09 +0000 (11:44 -0500)] 
docs: Update to primary/secondary

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
5 months agoMerge pull request #15180 from miodvallat/consistent_logs
Miod Vallat [Thu, 20 Feb 2025 11:01:09 +0000 (12:01 +0100)] 
Merge pull request #15180 from miodvallat/consistent_logs

Consistent spelling of "Lua record" in logs

5 months agoMore LUA -> Lua when applicable. 15180/head
Miod Vallat [Thu, 20 Feb 2025 08:49:31 +0000 (09:49 +0100)] 
More LUA -> Lua when applicable.

5 months agoMerge pull request #15177 from jsoref/lua-records-mark-up
Miod Vallat [Thu, 20 Feb 2025 06:50:04 +0000 (07:50 +0100)] 
Merge pull request #15177 from jsoref/lua-records-mark-up

Mark up www and ip addresses

5 months agoConsistent spelling of "Lua record" in logs.
Miod Vallat [Thu, 20 Feb 2025 06:39:26 +0000 (07:39 +0100)] 
Consistent spelling of "Lua record" in logs.

5 months agoMerge pull request #15178 from jsoref/tsig-mark-up
Miod Vallat [Thu, 20 Feb 2025 06:34:26 +0000 (07:34 +0100)] 
Merge pull request #15178 from jsoref/tsig-mark-up

Mark up tsig tables/algorithms/lengths

5 months agoMark up www and ip addresses 15177/head
Josh Soref [Wed, 19 Feb 2025 20:53:05 +0000 (15:53 -0500)] 
Mark up www and ip addresses

5 months agoMark up tsig tables/algorithms/lengths 15178/head
Josh Soref [Wed, 19 Feb 2025 21:35:35 +0000 (16:35 -0500)] 
Mark up tsig tables/algorithms/lengths

5 months agoMerge pull request #15165 from rgacogne/update-quiche
Remi Gacogne [Wed, 19 Feb 2025 15:43:11 +0000 (16:43 +0100)] 
Merge pull request #15165 from rgacogne/update-quiche

dnsdist: Update Quiche to 0.23.2 in our packages

5 months agoMerge pull request #15164 from rgacogne/update-rust
Remi Gacogne [Wed, 19 Feb 2025 15:42:58 +0000 (16:42 +0100)] 
Merge pull request #15164 from rgacogne/update-rust

Update Rust to 1.84.1 for our packages

5 months agoMerge pull request #15175 from miodvallat/lmdb_abort_with_style
Miod Vallat [Wed, 19 Feb 2025 10:02:04 +0000 (11:02 +0100)] 
Merge pull request #15175 from miodvallat/lmdb_abort_with_style

Improve LMDBBackend reliability

5 months agolmdb: be sure to abort pending transactions in the correct order. 15175/head
Miod Vallat [Wed, 19 Feb 2025 08:54:43 +0000 (09:54 +0100)] 
lmdb: be sure to abort pending transactions in the correct order.

If the LMDBBackend destructor is invoked while there are still pending
transactions, these need to be aborted, but in the reverse order of
their creation (i.e. abort the innermost transaction first).

The default destructor would abort them in a class field
declaration-dependent order, which may not match the actual cinematic.

We now remember which transaction is the innermost one, so that we can
abort them in the expected order.

This gets rid of "double free or corruption (top)" aborts with glibc,
and Address Sanitizer errors.

5 months agoUpdate .github/actions/spell-check/excludes.txt
Otto Moerbeek [Tue, 18 Feb 2025 15:42:27 +0000 (16:42 +0100)] 
Update .github/actions/spell-check/excludes.txt

Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
5 months agoIgnore docs/depfile.py for spell checking
Otto Moerbeek [Tue, 18 Feb 2025 14:50:48 +0000 (15:50 +0100)] 
Ignore docs/depfile.py for spell checking

5 months agoFix dependencies for docs, using a Sphinx extension to generate a dep file, as sugges...
Otto Moerbeek [Tue, 18 Feb 2025 13:20:16 +0000 (14:20 +0100)] 
Fix dependencies for docs, using a Sphinx extension to generate a dep file, as suggested by @eli-schwart in https://github.com/PowerDNS/pdns/pull/15169#discussion_r1959138532

Actually, the depfile (sphinx.d) is removed by ninja after generating
it as shown by a trace.  I do not know why, but touching an .rst
file has the correct behaviour. So I suspect it is an optimization.

5 months agoMerge pull request #15156 from rgacogne/ddist-handle-dnstap-msg-order
Remi Gacogne [Mon, 17 Feb 2025 16:10:58 +0000 (17:10 +0100)] 
Merge pull request #15156 from rgacogne/ddist-handle-dnstap-msg-order

dnsdist: Handle response dnstap messages arriving before the query ones

5 months agoAdd all '*.rst' files in docs as a dependency.
Otto Moerbeek [Mon, 17 Feb 2025 15:28:43 +0000 (16:28 +0100)] 
Add all '*.rst' files in docs as a dependency.

The Meson docs are not a fan of this method, but maintaining that
list by hand is too much work and error prone. This does mean that
adding existing .rst file to the docs will not be picked up by the
dependency checking until you re-setup your build dir.

5 months agoOnly run python if found
Otto Moerbeek [Mon, 17 Feb 2025 15:06:42 +0000 (16:06 +0100)] 
Only run python if found

5 months agoAnd also do html-docs, tarball and pdf for auth
Otto Moerbeek [Mon, 17 Feb 2025 14:47:46 +0000 (15:47 +0100)] 
And also do html-docs, tarball and pdf for auth

5 months agodnsdist docs (html-docs, tarball and pdf)
Otto Moerbeek [Mon, 17 Feb 2025 14:29:31 +0000 (15:29 +0100)] 
dnsdist docs (html-docs, tarball and pdf)

5 months agoGenerate tarball and pdf and introduce all-docs target
Otto Moerbeek [Mon, 17 Feb 2025 13:59:31 +0000 (14:59 +0100)] 
Generate tarball and pdf and introduce all-docs target

5 months agorec: generate html-docs using meson compile html-docs
Otto Moerbeek [Mon, 17 Feb 2025 11:46:47 +0000 (12:46 +0100)] 
rec: generate html-docs using meson compile html-docs

5 months agodnsdist: Put the dnstap messages back to the queue in the correct order 15156/head
Remi Gacogne [Mon, 17 Feb 2025 10:29:49 +0000 (11:29 +0100)] 
dnsdist: Put the dnstap messages back to the queue in the correct order

As noticed by Miod, the previous solution was not removing all messages
from the queue, possibly putting back old messages behind newer ones.

5 months agoMerge pull request #15168 from omoerbeek/rec-coverity-20250217
Otto Moerbeek [Mon, 17 Feb 2025 10:26:15 +0000 (11:26 +0100)] 
Merge pull request #15168 from omoerbeek/rec-coverity-20250217

rec: coverity 20250217

5 months agoMerge pull request #15163 from rgacogne/dnsdist-meson-dist
Remi Gacogne [Mon, 17 Feb 2025 09:27:17 +0000 (10:27 +0100)] 
Merge pull request #15163 from rgacogne/dnsdist-meson-dist

dnsdist: Generate tarballs via `meson dist`

5 months agoFix typos found by Miod in gen-version 15163/head
Remi Gacogne [Mon, 17 Feb 2025 08:39:29 +0000 (09:39 +0100)] 
Fix typos found by Miod in gen-version

5 months agoThis should eliminate a dozen or so Coverity warnigs 15168/head
Otto Moerbeek [Mon, 17 Feb 2025 08:15:34 +0000 (09:15 +0100)] 
This should eliminate a dozen or so Coverity warnigs

For example:

1591605 Data race condition

5. missing_lock: Accessing g_lowercaseOutgoing without holding lock LockGuarded<std::shared_ptr<std::unordered_map<DNSName, SyncRes::AuthDomain, std::hash<DNSName>, std::equal_to<DNSName>, std::allocator<std::pair<DNSName const, SyncRes::AuthDomain> > > > >.d_mutex. Elsewhere, g_lowercaseOutgoing is written to with LockGuarded.d_mutex held 1 out of 1 times.

5 months agoCoverity 1591604 Use of auto that causes a copy
Otto Moerbeek [Mon, 17 Feb 2025 08:05:16 +0000 (09:05 +0100)] 
Coverity 1591604 Use of auto that causes a copy

5 months agoMerge pull request #15166 from rgacogne/ddist-unused-warnings
Remi Gacogne [Sat, 15 Feb 2025 12:31:57 +0000 (13:31 +0100)] 
Merge pull request #15166 from rgacogne/ddist-unused-warnings

dnsdist: Fix several unused parameter warnings without DoH support

5 months agoRust moved to XZ compression 15164/head
Remi Gacogne [Fri, 14 Feb 2025 15:51:37 +0000 (16:51 +0100)] 
Rust moved to XZ compression

5 months agodnsdist: Fix several unused parameter warnings without DoH support 15166/head
Remi Gacogne [Fri, 14 Feb 2025 15:42:37 +0000 (16:42 +0100)] 
dnsdist: Fix several unused parameter warnings without DoH support

5 months agodnsdist: Update Quiche to 0.23.2 in our packages 15165/head
Remi Gacogne [Fri, 14 Feb 2025 15:40:10 +0000 (16:40 +0100)] 
dnsdist: Update Quiche to 0.23.2 in our packages