]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
16 months agoMerge pull request #12819 from rgacogne/ddist-reuseaddr-udp
Remi Gacogne [Thu, 18 May 2023 11:29:47 +0000 (13:29 +0200)] 
Merge pull request #12819 from rgacogne/ddist-reuseaddr-udp

dnsdist: Stop setting SO_REUSEADDR on outgoing UDP client sockets

16 months agoMerge pull request #12835 from romeroalx/fix-clang-misc
romeroalx [Wed, 17 May 2023 09:41:46 +0000 (11:41 +0200)] 
Merge pull request #12835 from romeroalx/fix-clang-misc

GH actions - misc-dailies.yaml: set clang version for Ubuntu-20

16 months agoMerge pull request #12834 from jpmens/patch-14
Peter van Dijk [Wed, 17 May 2023 08:50:15 +0000 (10:50 +0200)] 
Merge pull request #12834 from jpmens/patch-14

Be more specific in describing config-dir

16 months agoGH actions - misc-dailies: Set clang version for Ubuntu-20 12835/head
Alexis Romero [Wed, 17 May 2023 08:28:29 +0000 (10:28 +0200)] 
GH actions - misc-dailies: Set clang version for Ubuntu-20

16 months agoMerge pull request #12833 from romeroalx/fix-cifuzz-apt-repo
Peter van Dijk [Tue, 16 May 2023 18:10:44 +0000 (20:10 +0200)] 
Merge pull request #12833 from romeroalx/fix-cifuzz-apt-repo

Changing apt mirror for cifuzz base-builder image

16 months agoMerge pull request #12810 from romeroalx/actions-debian-container
Peter van Dijk [Tue, 16 May 2023 18:10:33 +0000 (20:10 +0200)] 
Merge pull request #12810 from romeroalx/actions-debian-container

Run build-and-test-all.yml on a custom Debian 11 container instead of an Ubuntu Runner VM

16 months agoBe more specific in describing config-dir 12834/head
Jan-Piet Mens [Tue, 16 May 2023 18:07:10 +0000 (20:07 +0200)] 
Be more specific in describing config-dir

I think this more clearly describes the option

16 months agoset apt mirror for cifuzz base builder image 12833/head
Alexis Romero [Tue, 16 May 2023 16:59:06 +0000 (18:59 +0200)] 
set apt mirror for cifuzz base builder image

16 months agoRun build-and-test-all.yml on a custom debian container 12810/head
Alexis Romero [Fri, 12 May 2023 09:30:50 +0000 (11:30 +0200)] 
Run build-and-test-all.yml on a custom debian container

16 months agoMerge pull request #12829 from omoerbeek/fix-log-fail
Otto Moerbeek [Tue, 16 May 2023 10:28:47 +0000 (12:28 +0200)] 
Merge pull request #12829 from omoerbeek/fix-log-fail

rec: fix clang-tidy botch wrt spelling of "log-fail"

16 months agoMerge pull request #12830 from omoerbeek/secpoll-ubuntu-mirror
Otto Moerbeek [Tue, 16 May 2023 10:22:12 +0000 (12:22 +0200)] 
Merge pull request #12830 from omoerbeek/secpoll-ubuntu-mirror

secpoll check: use preferred ubuntu mirror

16 months agosecpoll check: use preferred ubuntu mirror 12830/head
Otto Moerbeek [Tue, 16 May 2023 07:33:28 +0000 (09:33 +0200)] 
secpoll check: use preferred ubuntu mirror

16 months agoMerge pull request #12831 from Habbie/apt-no-qq
romeroalx [Tue, 16 May 2023 09:18:13 +0000 (11:18 +0200)] 
Merge pull request #12831 from Habbie/apt-no-qq

Fix error retrieving firefox package from ubuntu repo by removing it.

16 months agoget rid of firefox 12831/head
Peter van Dijk [Tue, 16 May 2023 07:38:36 +0000 (09:38 +0200)] 
get rid of firefox

16 months agomore apt no -qq
Peter van Dijk [Tue, 16 May 2023 07:30:54 +0000 (09:30 +0200)] 
more apt no -qq

16 months agoapt no qq
Peter van Dijk [Tue, 16 May 2023 07:18:00 +0000 (09:18 +0200)] 
apt no qq

16 months agoMerge pull request #12825 from omoerbeek/rec-fix-simpledottest
Otto Moerbeek [Tue, 16 May 2023 06:39:07 +0000 (08:39 +0200)] 
Merge pull request #12825 from omoerbeek/rec-fix-simpledottest

rec: Fix DoT test to no use www.powerdns.com, as it changed

16 months agorec: fix clang-tidy botch wrt spelling of "log-fail" 12829/head
Otto Moerbeek [Tue, 16 May 2023 06:23:51 +0000 (08:23 +0200)] 
rec: fix clang-tidy botch wrt spelling of "log-fail"

Followup to #12790

16 months agoFix DoT test to no use www.powerdns.com, as it changed 12825/head
Otto Moerbeek [Mon, 15 May 2023 13:09:04 +0000 (15:09 +0200)] 
Fix DoT test to no use www.powerdns.com, as it changed

16 months agodnsdist: Really disable REUSEADDR on outgoing UDP client sockets 12819/head
Remi Gacogne [Mon, 15 May 2023 13:32:27 +0000 (15:32 +0200)] 
dnsdist: Really disable REUSEADDR on outgoing UDP client sockets

It turns out that our `Socket::bind()` will _helpfully_ enable this
by default.

16 months agoMerge pull request #12779 from omoerbeek/rec-cname-length-vs-depth
Otto Moerbeek [Mon, 15 May 2023 13:28:38 +0000 (15:28 +0200)] 
Merge pull request #12779 from omoerbeek/rec-cname-length-vs-depth

rec: Distinguish between recursion depth and cname length

16 months agoMerge pull request #12818 from rgacogne/cang-tidy-inc-cognitive-complexity
Remi Gacogne [Mon, 15 May 2023 12:23:30 +0000 (14:23 +0200)] 
Merge pull request #12818 from rgacogne/cang-tidy-inc-cognitive-complexity

clang-tidy: Increase the cognitive complexity threshold to 75

16 months agodnsdist: Stop setting SO_REUSEADDR on outgoing UDP client sockets
Remi Gacogne [Mon, 15 May 2023 12:10:55 +0000 (14:10 +0200)] 
dnsdist: Stop setting SO_REUSEADDR on outgoing UDP client sockets

`SO_REUSEADDR` is useful on TCP server sockets to allow binding quickly
after restarting the process without waiting `TIME_WAIT` seconds, or
to allow some port reuse on BSD. It also allows reusing a port more
quickly for TCP client sockets.
For UDP sockets, however, Linux allows two sockets to be bound to the
same address and port, and will distribute all packets to the most
recent socket, which is very unexpected, to say the least.

16 months ago-cppcoreguidelines-avoid-non-const-global-variables 12779/head
Otto Moerbeek [Mon, 15 May 2023 11:40:06 +0000 (13:40 +0200)] 
-cppcoreguidelines-avoid-non-const-global-variables

16 months agoNOLINT(readability-function-cognitive-complexity) markers
Otto Moerbeek [Mon, 15 May 2023 11:38:10 +0000 (13:38 +0200)] 
NOLINT(readability-function-cognitive-complexity) markers

16 months agoAs an experiment, just fix the two reported cases of performance-unnecessary-value...
Otto Moerbeek [Mon, 15 May 2023 11:23:55 +0000 (13:23 +0200)] 
As an experiment, just fix the two reported cases of performance-unnecessary-value-param

16 months agorec: Distinguish between recursion depth and cname length, they are not the same
Otto Moerbeek [Fri, 14 Apr 2023 08:43:23 +0000 (10:43 +0200)] 
rec: Distinguish between recursion depth and cname length, they are not the same

16 months agoMerge pull request #12790 from omoerbeek/rec-lint
Otto Moerbeek [Mon, 15 May 2023 11:34:10 +0000 (13:34 +0200)] 
Merge pull request #12790 from omoerbeek/rec-lint

rec: delint rec-main.cc wrt high complexity

16 months agoMerge pull request #12750 from omoerbeek/rec-log-variable
Otto Moerbeek [Mon, 15 May 2023 11:24:16 +0000 (13:24 +0200)] 
Merge pull request #12750 from omoerbeek/rec-log-variable

rec: Log if the answer was marked variable by SyncRes and if it was stored into  the packet cache (if !quiet)

16 months agoAlso log in the non-structured logging case 12750/head
Otto Moerbeek [Mon, 15 May 2023 09:49:17 +0000 (11:49 +0200)] 
Also log in the non-structured logging case

16 months agoProcess review comments 12790/head
Otto Moerbeek [Mon, 15 May 2023 10:00:58 +0000 (12:00 +0200)] 
Process review comments

16 months agoclang-tidy: Increase the cognitive complexity threshold to 75 12818/head
Remi Gacogne [Mon, 15 May 2023 08:57:53 +0000 (10:57 +0200)] 
clang-tidy: Increase the cognitive complexity threshold to 75

The current level of 50 is too low for a function like
'handleQueuedHealthChecks' which is quite simple.

16 months agoMerge pull request #12780 from zeha/workaround11804
Peter van Dijk [Mon, 15 May 2023 08:56:51 +0000 (10:56 +0200)] 
Merge pull request #12780 from zeha/workaround11804

auth: add setting workaround-11804-max-chunk-records

16 months agoMerge pull request #12813 from rgacogne/ci-disable-clang-tidy-non-const-global-vars
Remi Gacogne [Mon, 15 May 2023 08:56:25 +0000 (10:56 +0200)] 
Merge pull request #12813 from rgacogne/ci-disable-clang-tidy-non-const-global-vars

clang-tidy: Disable cppcoreguidelines-avoid-non-const-global-variables

16 months agoApply changes for doc nits 12780/head
Chris Hofstaedtler [Fri, 12 May 2023 20:37:13 +0000 (22:37 +0200)] 
Apply changes for doc nits

16 months agoclang-tidy: Disable cppcoreguidelines-avoid-non-const-global-variables 12813/head
Remi Gacogne [Fri, 12 May 2023 15:57:02 +0000 (17:57 +0200)] 
clang-tidy: Disable cppcoreguidelines-avoid-non-const-global-variables

While I agree that we should try to avoid non-const global vars
as much as possible, this rule kills the boost testing framework
so we cannot keep it.

16 months agoMerge pull request #12812 from rgacogne/ci-clang-tidy-disable-union-warning
Remi Gacogne [Fri, 12 May 2023 14:35:07 +0000 (16:35 +0200)] 
Merge pull request #12812 from rgacogne/ci-clang-tidy-disable-union-warning

clang-tidy: Disable cppcoreguidelines-special-member-functions

16 months agoMerge pull request #12712 from Habbie/move-keyblock
Peter van Dijk [Fri, 12 May 2023 13:35:56 +0000 (15:35 +0200)] 
Merge pull request #12712 from Habbie/move-keyblock

docs: update GPG keyblock link

16 months agoclang-tidy: Disable cppcoreguidelines-special-member-functions 12812/head
Remi Gacogne [Fri, 12 May 2023 13:29:37 +0000 (15:29 +0200)] 
clang-tidy: Disable cppcoreguidelines-special-member-functions

We will need to re-enable it once https://github.com/PowerDNS/pdns/issues/12809
has been fixed.

16 months agoMerge pull request #12806 from christofchen/12801-SpoofAction
Remi Gacogne [Fri, 12 May 2023 09:10:51 +0000 (11:10 +0200)] 
Merge pull request #12806 from christofchen/12801-SpoofAction

SpoofAction: copy the QClass from the request, fixes #12801 + regression test

16 months agoauth: add setting workaround-11804
Chris Hofstaedtler [Wed, 26 Apr 2023 13:52:25 +0000 (15:52 +0200)] 
auth: add setting workaround-11804

Workaround for https://github.com/PowerDNS/pdns/issues/11804. Defaults to no,
implying the previously hard-coded value of 100.

16 months agofix #12801 + regression test 12806/head
Christof Chen [Thu, 11 May 2023 18:00:01 +0000 (20:00 +0200)] 
fix #12801 + regression test

16 months agoMerge pull request #12628 from kpfleming/debian-source-artifacts
Peter van Dijk [Thu, 11 May 2023 12:30:08 +0000 (14:30 +0200)] 
Merge pull request #12628 from kpfleming/debian-source-artifacts

builder-support: Prepare to make Debian-style source artifacts

16 months agoMerge pull request #12800 from rgacogne/ddist-health-wrong-id-wrong-message
Remi Gacogne [Thu, 11 May 2023 12:00:06 +0000 (14:00 +0200)] 
Merge pull request #12800 from rgacogne/ddist-health-wrong-id-wrong-message

dnsdist: Print the received, invalid health-check response ID

16 months agoMerge pull request #12799 from rgacogne/ddist-race-backend-health-check-mode
Remi Gacogne [Thu, 11 May 2023 10:36:33 +0000 (12:36 +0200)] 
Merge pull request #12799 from rgacogne/ddist-race-backend-health-check-mode

dnsdist: Suppress a race warning when setting a backend health-check mode

16 months agodnsdist: Print the received, invalid health-check response ID 12800/head
Remi Gacogne [Thu, 11 May 2023 08:15:44 +0000 (10:15 +0200)] 
dnsdist: Print the received, invalid health-check response ID

16 months agodnsdist: Suppress a race warning when setting a backend health-check mode 12799/head
Remi Gacogne [Wed, 10 May 2023 12:47:44 +0000 (14:47 +0200)] 
dnsdist: Suppress a race warning when setting a backend health-check mode

There is an actual race when one thread, likely the console, changes
the health-check mode of a given backend just when the health-check
thread is determining whether it should send a health-check probe.
We are fine with getting a wrong value in the health-check thread,
as long as we eventually get the new one, so let's not worry about it
and add a TSAN suppression.
The TSAN report was:
```
WARNING: ThreadSanitizer: data race (pid=5301)
  Read of size 1 at 0x7b78000002ae by thread T11:
    #0 DownstreamState::healthCheckRequired(std::optional<long>) /__w/pdns/pdns/pdns/dnsdistdist/dnsdist-backend.cc:555:16 (dnsdist+0x18f003)
    #1 healthChecksThread() /__w/pdns/pdns/pdns/dnsdistdist/dnsdist.cc:2046:17 (dnsdist+0x811ea9)
    #2 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:60:14 (dnsdist+0x1dfe39)
    #3 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:95:14 (dnsdist+0x1dfe39)
    #4 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:264:13 (dnsdist+0x1dfe39)
    #5 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:271:11 (dnsdist+0x1dfe39)
    #6 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:215:13 (dnsdist+0x1dfe39)
    #7 <null> <null> (libstdc++.so.6+0xceecf)

  Previous write of size 1 at 0x7b78000002ae by thread T21 (mutexes: write M189):
    #0 std::enable_if<IsOptional<DownstreamState>::value, setupLuaBindings(LuaContext&, bool)::$_15>::type LuaContext::readIntoFunction<void, LuaContext::Binder<void LuaContext::registerFunctionImpl<setupLuaBindings(LuaContext&, bool)::$_15, void, DownstreamState, boost::optional<bool> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, setupLuaBindings(LuaContext&, bool)::$_15, LuaContext::tag<DownstreamState>, LuaContext::tag<void (boost::optional<bool>)>)::'lambda'(std::shared_ptr<DownstreamState> const&, boost::optional<bool>)&, std::shared_ptr<DownstreamState> const&>&, boost::optional<bool> >(lua_State*, LuaContext::tag<setupLuaBindings(LuaContext&, bool)::$_15>, void&&, int, LuaContext::tag<DownstreamState>, LuaContext::tag<boost::optional<bool> >) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp (dnsdist+0x4b6ab2)
    #1 std::enable_if<!(IsOptional<DownstreamState>::value), setupLuaBindings(LuaContext&, bool)::$_15>::type LuaContext::readIntoFunction<void, void LuaContext::registerFunctionImpl<setupLuaBindings(LuaContext&, bool)::$_15, void, DownstreamState, boost::optional<bool> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, setupLuaBindings(LuaContext&, bool)::$_15, LuaContext::tag<DownstreamState>, LuaContext::tag<void (boost::optional<bool>)>)::'lambda'(std::shared_ptr<DownstreamState> const&, boost::optional<bool>)&, std::shared_ptr<DownstreamState>, boost::optional<bool> >(lua_State*, LuaContext::tag<setupLuaBindings(LuaContext&, bool)::$_15>, void&&, int, LuaContext::tag<DownstreamState>, LuaContext::tag<boost::optional<bool> >) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:1803:16 (dnsdist+0x4b6ab2)
    #2 std::enable_if<(std::integral_constant<bool, true>::value) && (!(std::is_void<setupLuaBindings(LuaContext&, bool)::$_15>::value)), LuaContext::PushedObject>::type LuaContext::Pusher<void (std::shared_ptr<DownstreamState>, boost::optional<bool>), void>::callback2<void LuaContext::registerFunctionImpl<setupLuaBindings(LuaContext&, bool)::$_15, void, DownstreamState, boost::optional<bool> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, setupLuaBindings(LuaContext&, bool)::$_15, LuaContext::tag<DownstreamState>, LuaContext::tag<void (boost::optional<bool>)>)::'lambda'(std::shared_ptr<DownstreamState> const&, boost::optional<bool>)&>(lua_State*, setupLuaBindings(LuaContext&, bool)::$_15&&, int) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2443:9 (dnsdist+0x4b6ab2)
    #3 LuaContext::PushedObject LuaContext::Pusher<void (std::shared_ptr<DownstreamState>, boost::optional<bool>), void>::callback<void LuaContext::registerFunctionImpl<setupLuaBindings(LuaContext&, bool)::$_15, void, DownstreamState, boost::optional<bool> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, setupLuaBindings(LuaContext&, bool)::$_15, LuaContext::tag<DownstreamState>, LuaContext::tag<void (boost::optional<bool>)>)::'lambda'(std::shared_ptr<DownstreamState> const&, boost::optional<bool>)>(lua_State*, setupLuaBindings(LuaContext&, bool)::$_15*, int) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2405:20 (dnsdist+0x4b6ab2)
    #4 std::enable_if<boost::has_trivial_destructor<setupLuaBindings(LuaContext&, bool)::$_15>::value, LuaContext::PushedObject>::type LuaContext::Pusher<void (std::shared_ptr<DownstreamState>, boost::optional<bool>), void>::push<void LuaContext::registerFunctionImpl<setupLuaBindings(LuaContext&, bool)::$_15, void, DownstreamState, boost::optional<bool> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, setupLuaBindings(LuaContext&, bool)::$_15, LuaContext::tag<DownstreamState>, LuaContext::tag<void (boost::optional<bool>)>)::'lambda'(std::shared_ptr<DownstreamState> const&, boost::optional<bool>)>(lua_State*, setupLuaBindings(LuaContext&, bool)::$_15)::'lambda'(lua_State*)::operator()(lua_State*) const /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2334:20 (dnsdist+0x4b6ab2)
    #5 std::enable_if<boost::has_trivial_destructor<setupLuaBindings(LuaContext&, bool)::$_15>::value, LuaContext::PushedObject>::type LuaContext::Pusher<void (std::shared_ptr<DownstreamState>, boost::optional<bool>), void>::push<void LuaContext::registerFunctionImpl<setupLuaBindings(LuaContext&, bool)::$_15, void, DownstreamState, boost::optional<bool> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, setupLuaBindings(LuaContext&, bool)::$_15, LuaContext::tag<DownstreamState>, LuaContext::tag<void (boost::optional<bool>)>)::'lambda'(std::shared_ptr<DownstreamState> const&, boost::optional<bool>)>(lua_State*, setupLuaBindings(LuaContext&, bool)::$_15)::'lambda'(lua_State*)::__invoke(lua_State*) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2330:31 (dnsdist+0x4b6ab2)
    #6 <null> <null> (libluajit-5.1.so.2+0xa5e6)
    #7 boost::optional<boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<DownstreamState>, ClientState*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, double> > > > > LuaContext::call<boost::optional<boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<DownstreamState>, ClientState*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, double> > > > > >(lua_State*, LuaContext::PushedObject) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:1413:29 (dnsdist+0x1c2b4b)
    #8 boost::optional<boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<DownstreamState>, ClientState*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, double> > > > > LuaContext::executeCode<boost::optional<boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<DownstreamState>, ClientState*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, double> > > > > >(char const*) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:324:16 (dnsdist+0x1c2b4b)
    #9 boost::optional<boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<DownstreamState>, ClientState*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, double> > > > > LuaContext::executeCode<boost::optional<boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<DownstreamState>, ClientState*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, double> > > > > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:301:16 (dnsdist+0x1bf450)
    #10 controlClientThread(ConsoleConnection&&) /__w/pdns/pdns/pdns/dnsdistdist/dnsdist-console.cc:897:27 (dnsdist+0x1bf450)
    #11 boost::optional<boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<DownstreamState>, ClientState*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, double> > > > > LuaContext::executeCode<boost::optional<boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<DownstreamState>, ClientState*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, double> > > > > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:301:16 (dnsdist+0x1bf450)
    #12 controlClientThread(ConsoleConnection&&) /__w/pdns/pdns/pdns/dnsdistdist/dnsdist-console.cc:897:27 (dnsdist+0x1bf450)
    #13 void std::__invoke_impl<void, void (*)(ConsoleConnection&&), ConsoleConnection>(std::__invoke_other, void (*&&)(ConsoleConnection&&), ConsoleConnection&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:60:14 (dnsdist+0x1c76f3)
    #14 std::__invoke_result<void (*)(ConsoleConnection&&), ConsoleConnection>::type std::__invoke<void (*)(ConsoleConnection&&), ConsoleConnection>(void (*&&)(ConsoleConnection&&), ConsoleConnection&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:95:14 (dnsdist+0x1c76f3)
    #15 void std::thread::_Invoker<std::tuple<void (*)(ConsoleConnection&&), ConsoleConnection> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:264:13 (dnsdist+0x1c76f3)
    #16 std::thread::_Invoker<std::tuple<void (*)(ConsoleConnection&&), ConsoleConnection> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:271:11 (dnsdist+0x1c76f3)
    #17 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(ConsoleConnection&&), ConsoleConnection> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:215:13 (dnsdist+0x1c76f3)
    #18 <null> <null> (libstdc++.so.6+0xceecf)

  As if synchronized via sleep:
    #0 healthChecksThread() /__w/pdns/pdns/pdns/dnsdistdist/dnsdist.cc:2034:5 (dnsdist+0xc77e8)
    #1 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:60:14 (dnsdist+0x811b8e)
    #2 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:95:14 (dnsdist+0x811b8e)
    #3 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:264:13 (dnsdist+0x811b8e)
    #4 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:271:11 (dnsdist+0x811b8e)
    #5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:215:13 (dnsdist+0x811b8e)
    #6 <null> <null> (dnsdist+0x1dfe39)
    #7 operator new(unsigned long, std::align_val_t) <null> (libstdc++.so.6+0xceecf)

  Location is heap block of size 2880 at 0x7b7800000000 allocated by main thread:
    #0 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<DownstreamState, std::allocator<DownstreamState>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/ext/new_allocator.h:112:31 (dnsdist+0x13f29c)
    #1 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<DownstreamState, std::allocator<DownstreamState>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<DownstreamState, std::allocator<DownstreamState>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/alloc_traits.h:460:20 (dnsdist+0x13f29c)
    #2 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<DownstreamState, std::allocator<DownstreamState>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<DownstreamState, std::allocator<DownstreamState>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<DownstreamState, std::allocator<DownstreamState>, (__gnu_cxx::_Lock_policy)2> >&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/allocated_ptr.h:97:21 (dnsdist+0x13f29c)
    #3 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<DownstreamState, std::allocator<DownstreamState>, DownstreamState::Config, std::shared_ptr<TLSCtx>, bool>(DownstreamState*&, std::_Sp_alloc_shared_tag<std::allocator<DownstreamState> >, DownstreamState::Config&&, std::shared_ptr<TLSCtx>&&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:680:19 (dnsdist+0x13f29c)
    #4 std::__shared_ptr<DownstreamState, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<DownstreamState>, DownstreamState::Config, std::shared_ptr<TLSCtx>, bool>(std::_Sp_alloc_shared_tag<std::allocator<DownstreamState> >, DownstreamState::Config&&, std::shared_ptr<TLSCtx>&&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr_base.h:1371:14 (dnsdist+0x13f29c)
    #5 std::shared_ptr<DownstreamState>::shared_ptr<std::allocator<DownstreamState>, DownstreamState::Config, std::shared_ptr<TLSCtx>, bool>(std::_Sp_alloc_shared_tag<std::allocator<DownstreamState> >, DownstreamState::Config&&, std::shared_ptr<TLSCtx>&&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:408:4 (dnsdist+0x1db3be)
    #6 std::shared_ptr<DownstreamState> std::allocate_shared<DownstreamState, std::allocator<DownstreamState>, DownstreamState::Config, std::shared_ptr<TLSCtx>, bool>(std::allocator<DownstreamState> const&, DownstreamState::Config&&, std::shared_ptr<TLSCtx>&&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:859:14 (dnsdist+0x1db3be)
    #7 std::shared_ptr<DownstreamState> std::make_shared<DownstreamState, DownstreamState::Config, std::shared_ptr<TLSCtx>, bool>(DownstreamState::Config&&, std::shared_ptr<TLSCtx>&&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/shared_ptr.h:875:14 (dnsdist+0x1db3be)
    #8 setupLuaConfig(LuaContext&, bool, bool)::$_3::operator()(boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::variant<bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::function<std::tuple<DNSName, unsigned short, unsigned short> (DNSName const&, unsigned short, unsigned short, dnsheader*)> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, boost::variant<bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::function<std::tuple<DNSName, unsigned short, unsigned short> (DNSName const&, unsigned short, unsigned short, dnsheader*)> > > > > >, boost::optional<int>) const /__w/pdns/pdns/pdns/dnsdistdist/dnsdist-lua.cc:619:37 (dnsdist+0x1db3be)
    #9 tor<char> > > > >, std::function<std::tuple<DNSName, unsigned short, unsigned short> (DNSName const&, unsigned short, unsigned short, dnsheader*)> > > > > >, boost::optional<int>), void>::callback2<setupLuaConfig(LuaContext&, bool, bool)::$_3&>(lua_State*, setupLuaConfig(LuaContext&, bool, bool)::$_3&, int) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2436:31 (dnsdist+0x69065d)
    #10 LuaContext::PushedObject LuaContext::Pusher<std::shared_ptr<DownstreamState> (boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::variant<bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::function<std::tuple<DNSName, unsigned short, unsigned short> (DNSName const&, unsigned short, unsigned short, dnsheader*)> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, boost::variant<bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::function<std::tuple<DNSName, unsigned short, unsigned short> (DNSName const&, unsigned short, unsigned short, dnsheader*)> > > > > >, boost::optional<int>), void>::callback<setupLuaConfig(LuaContext&, bool, bool)::$_3>(lua_State*, setupLuaConfig(LuaContext&, bool, bool)::$_3*, int) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2405:20 (dnsdist+0x69065d)
    #11 std::enable_if<boost::has_trivial_destructor<setupLuaConfig(LuaContext&, bool, bool)::$_3>::value, LuaContext::PushedObject>::type LuaContext::Pusher<std::shared_ptr<DownstreamState> (boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::variant<bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::function<std::tuple<DNSName, unsigned short, unsigned short> (DNSName const&, unsigned short, unsigned short, dnsheader*)> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, boost::variant<bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::function<std::tuple<DNSName, unsigned short, unsigned short> (DNSName const&, unsigned short, unsigned short, dnsheader*)> > > > > >, boost::optional<int>), void>::push<setupLuaConfig(LuaContext&, bool, bool)::$_3>(lua_State*, setupLuaConfig(LuaContext&, bool, bool)::$_3)::'lambda'(lua_State*)::operator()(lua_State*) const /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2334:20 (dnsdist+0x69065d)
    #12 std::enable_if<boost::has_trivial_destructor<setupLuaConfig(LuaContext&, bool, bool)::$_3>::value, LuaContext::PushedObject>::type LuaContext::Pusher<std::shared_ptr<DownstreamState> (boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::variant<bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::function<std::tuple<DNSName, unsigned short, unsigned short> (DNSName const&, unsigned short, unsigned short, dnsheader*)> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<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, boost::variant<bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::function<std::tuple<DNSName, unsigned short, unsigned short> (DNSName const&, unsigned short, unsigned short, dnsheader*)> > > > > >, boost::optional<int>), void>::push<setupLuaConfig(LuaContext&, bool, bool)::$_3>(lua_State*, setupLuaConfig(LuaContext&, bool, bool)::$_3)::'lambda'(lua_State*)::__invoke(lua_State*) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2330:31 (dnsdist+0x69065d)
    #13 <null> <null> (dnsdist+0x687942)
    #14 <null> <null> (libluajit-5.1.so.2+0xa5e6)
    #15 std::tuple<> LuaContext::call<std::tuple<> >(lua_State*, LuaContext::PushedObject) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:1413:29 (dnsdist+0x577e85)
    #16 LuaContext::executeCode(std::istream&) /__w/pdns/pdns/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:267:9 (dnsdist+0x685db6)
    #17 setupLua(LuaContext&, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /__w/pdns/pdns/pdns/dnsdistdist/dnsdist-lua.cc:3025:10 (dnsdist+0x67b759)
    #18 main /__w/pdns/pdns/pdns/dnsdistdist/dnsdist.cc:2668:17 (dnsdist+0x809d2c)

  Mutex M189 (0x55801da4cdf0) created at:
    #0 pthread_mutex_lock <null> (dnsdist+0xe74f8)
    #1 __gthread_mutex_lock(pthread_mutex_t*) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10/bits/gthr-default.h:749:12 (dnsdist+0x80c177)
    #2 std::mutex::lock() /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_mutex.h:100:17 (dnsdist+0x80c177)
    #3 std::lock_guard<std::mutex>::lock_guard(std::mutex&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_mutex.h:159:19 (dnsdist+0x80c177)
    #4 LockGuardedHolder<LuaContext>::LockGuardedHolder(LuaContext&, std::mutex&) /__w/pdns/pdns/pdns/dnsdistdist/./lock.hh:209:60 (dnsdist+0x80c177)
    #5 LockGuarded<LuaContext>::lock() /__w/pdns/pdns/pdns/dnsdistdist/./lock.hh:289:12 (dnsdist+0x80c177)
    #6 main /__w/pdns/pdns/pdns/dnsdistdist/dnsdist.cc:2668:34 (dnsdist+0x809d0c)

  Thread T11 'dnsdist/healthC' (tid=5313, running) created by main thread at:
    #0 pthread_create <null> (dnsdist+0xca21d)
    #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xcf144)
    #2 main /__w/pdns/pdns/pdns/dnsdistdist/dnsdist.cc:2938:12 (dnsdist+0x80b06e)

  Thread T21 'dnsdist/conscli' (tid=5325, finished) created by thread T5 at:
    #0 pthread_create <null> (dnsdist+0xca21d)
    #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xcf144)
    #2 void std::__invoke_impl<void, void (*)(int, ComboAddress), int, ComboAddress>(std::__invoke_other, void (*&&)(int, ComboAddress), int&&, ComboAddress&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:60:14 (dnsdist+0x6c0435)
    #3 std::__invoke_result<void (*)(int, ComboAddress), int, ComboAddress>::type std::__invoke<void (*)(int, ComboAddress), int, ComboAddress>(void (*&&)(int, ComboAddress), int&&, ComboAddress&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:95:14 (dnsdist+0x6c0435)
    #4 void std::thread::_Invoker<std::tuple<void (*)(int, ComboAddress), int, ComboAddress> >::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:264:13 (dnsdist+0x6c0435)
    #5 std::thread::_Invoker<std::tuple<void (*)(int, ComboAddress), int, ComboAddress> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:271:11 (dnsdist+0x6c0435)
    #6 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(int, ComboAddress), int, ComboAddress> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/thread:215:13 (dnsdist+0x6c0435)
    #7 <null> <null> (libstdc++.so.6+0xceecf)
```

16 months agoName housekeeping0 better
Otto Moerbeek [Wed, 10 May 2023 11:08:08 +0000 (13:08 +0200)] 
Name housekeeping0 better

16 months agoMerge pull request #12792 from fredmorcos/fix-clang-tidy-commit
Fred Morcos [Wed, 10 May 2023 08:32:40 +0000 (10:32 +0200)] 
Merge pull request #12792 from fredmorcos/fix-clang-tidy-commit

Fix the `clang-tidy` jobs failing

16 months agoMerge pull request #12794 from rgacogne/ddist-ossl3-ticket-leak
Remi Gacogne [Tue, 9 May 2023 14:07:37 +0000 (16:07 +0200)] 
Merge pull request #12794 from rgacogne/ddist-ossl3-ticket-leak

libssl: Fix a memory leak when processing TLS tickets w/ OpenSSL 3.x

16 months agoFix indentation 12792/head
Fred Morcos [Tue, 9 May 2023 13:47:43 +0000 (15:47 +0200)] 
Fix indentation

16 months agolibssl: Fix a memory leak when processing TLS tickets w/ OpenSSL 3.x 12794/head
Remi Gacogne [Tue, 9 May 2023 13:15:06 +0000 (15:15 +0200)] 
libssl: Fix a memory leak when processing TLS tickets w/ OpenSSL 3.x

16 months agoMerge pull request #12683 from Habbie/remove-ubuntu-bionic
Peter van Dijk [Tue, 9 May 2023 12:42:27 +0000 (14:42 +0200)] 
Merge pull request #12683 from Habbie/remove-ubuntu-bionic

builder: remove ubuntu bionic target

16 months agoFix check for recursor clang-tidy output
Fred Morcos [Tue, 9 May 2023 10:31:23 +0000 (12:31 +0200)] 
Fix check for recursor clang-tidy output

Co-authored-by: Remi Gacogne <github@coredump.fr>
16 months agoHandle the case where none of the products produce any warnings
Fred Morcos [Tue, 9 May 2023 10:02:51 +0000 (12:02 +0200)] 
Handle the case where none of the products produce any warnings

Co-authored-by: Remi Gacogne <github@coredump.fr>
16 months agoConsistent formatting
Fred Morcos [Tue, 9 May 2023 09:31:27 +0000 (11:31 +0200)] 
Consistent formatting

Co-authored-by: Remi Gacogne <github@coredump.fr>
16 months agoswitch builder docs target to ubuntu jammy 12683/head
Peter van Dijk [Fri, 24 Mar 2023 10:12:18 +0000 (11:12 +0100)] 
switch builder docs target to ubuntu jammy

16 months agoremove ubuntu bionic target, as 18.04 will EOL soon
Peter van Dijk [Fri, 24 Mar 2023 09:40:28 +0000 (10:40 +0100)] 
remove ubuntu bionic target, as 18.04 will EOL soon

16 months agoDon't fail when there are no warnings produced by clang-tidy
Fred Morcos [Mon, 8 May 2023 12:30:48 +0000 (14:30 +0200)] 
Don't fail when there are no warnings produced by clang-tidy

16 months agoQuote the output vars
Fred Morcos [Mon, 8 May 2023 12:24:39 +0000 (14:24 +0200)] 
Quote the output vars

16 months agoAdd // NOLINT(readability-function-cognitive-complexity)
Otto Moerbeek [Mon, 8 May 2023 12:01:40 +0000 (14:01 +0200)] 
Add // NOLINT(readability-function-cognitive-complexity)
Once readability-function-cognitive-complexity.IgnoreMacros works
in CI, these annotations can be removed. It currenlty does not work
as clang-12 does not support it.

16 months agomark getenv() NOLINT
Otto Moerbeek [Mon, 8 May 2023 09:58:54 +0000 (11:58 +0200)] 
mark getenv() NOLINT

Locally (using clangd) no warning is reported...

16 months agoSome general clang-tidy cleanup
Otto Moerbeek [Mon, 8 May 2023 09:07:10 +0000 (11:07 +0200)] 
Some general clang-tidy cleanup

16 months agoSplit recursorThread() to reduce complexity
Otto Moerbeek [Mon, 8 May 2023 08:58:29 +0000 (10:58 +0200)] 
Split recursorThread() to reduce complexity

16 months agoReformat
Otto Moerbeek [Mon, 8 May 2023 08:21:04 +0000 (10:21 +0200)] 
Reformat

16 months agosplit main() to reduce complexity
Otto Moerbeek [Mon, 8 May 2023 08:20:06 +0000 (10:20 +0200)] 
split main() to reduce complexity

16 months agoSplit serviceMain() to reduce cognitive complexity
Otto Moerbeek [Mon, 8 May 2023 07:51:19 +0000 (09:51 +0200)] 
Split serviceMain() to reduce cognitive complexity

16 months agoserviceMain: fix all lints except complexity
Otto Moerbeek [Mon, 8 May 2023 06:58:45 +0000 (08:58 +0200)] 
serviceMain: fix all lints except complexity

16 months agoMerge pull request #12788 from rgacogne/clang-tidy-increase-code-complexity-threshold
Remi Gacogne [Fri, 5 May 2023 12:34:04 +0000 (14:34 +0200)] 
Merge pull request #12788 from rgacogne/clang-tidy-increase-code-complexity-threshold

clang-tidy: Increase the code complexity threshold to 50 for now

16 months agoclang-tidy: Lower the code complexity threshold to 50 12788/head
Remi Gacogne [Fri, 5 May 2023 09:08:48 +0000 (11:08 +0200)] 
clang-tidy: Lower the code complexity threshold to 50

Let's see how it goes.

16 months agoclang-tidy: Increase the code complexity threshold to 100 for now
Remi Gacogne [Thu, 4 May 2023 14:38:53 +0000 (16:38 +0200)] 
clang-tidy: Increase the code complexity threshold to 100 for now

16 months agoMerge pull request #12786 from rgacogne/ci-separate-failure-tidy
Remi Gacogne [Thu, 4 May 2023 12:16:12 +0000 (14:16 +0200)] 
Merge pull request #12786 from rgacogne/ci-separate-failure-tidy

ci: Add a separate check for clang-tidy failure

16 months agoMerge pull request #12787 from Habbie/auth-4.8.0-beta1-secpoll-serial
Peter van Dijk [Thu, 4 May 2023 11:20:14 +0000 (13:20 +0200)] 
Merge pull request #12787 from Habbie/auth-4.8.0-beta1-secpoll-serial

bump secpoll serial, adjust release date

16 months agobump secpoll serial, adjust release date 12787/head
Peter van Dijk [Thu, 4 May 2023 10:07:20 +0000 (12:07 +0200)] 
bump secpoll serial, adjust release date

16 months agoci: Add a separate check for clang-tidy failure 12786/head
Remi Gacogne [Thu, 4 May 2023 08:32:09 +0000 (10:32 +0200)] 
ci: Add a separate check for clang-tidy failure

This way the tests are still run even if clang-tidy reported a
warning, instead of stopping everything.

16 months agoMerge pull request #12781 from Habbie/auth-4.8.0-beta1-docs
Peter van Dijk [Thu, 4 May 2023 09:53:56 +0000 (11:53 +0200)] 
Merge pull request #12781 from Habbie/auth-4.8.0-beta1-docs

auth-4.8.0-beta1: secpoll&docs

16 months agoMerge pull request #12748 from omoerbeek/rec-ws-total-unused
Otto Moerbeek [Wed, 3 May 2023 12:51:10 +0000 (14:51 +0200)] 
Merge pull request #12748 from omoerbeek/rec-ws-total-unused

rec: warning: variable 'total' set but not used

16 months agoMerge pull request #12739 from omoerbeek/rec-lwres-uninited-len
Otto Moerbeek [Wed, 3 May 2023 12:50:18 +0000 (14:50 +0200)] 
Merge pull request #12739 from omoerbeek/rec-lwres-uninited-len

rec: Fix uninited var causing wrong `bytes` field reported in protobuf log in rare cases

16 months agoMerge pull request #12782 from omoerbeek/dsdist-api-test-timeout
Otto Moerbeek [Wed, 3 May 2023 12:36:55 +0000 (14:36 +0200)] 
Merge pull request #12782 from omoerbeek/dsdist-api-test-timeout

dnsdist: github runners can be *very* slow wrt I/O, use a more generous timeout in tests

16 months agoInit len earlier, as suggested by rgacogne 12739/head
Otto Moerbeek [Wed, 3 May 2023 12:11:20 +0000 (14:11 +0200)] 
Init len earlier, as suggested by rgacogne

16 months agoMerge pull request #12737 from nbakker/patch-1
Remi Gacogne [Wed, 3 May 2023 12:00:27 +0000 (14:00 +0200)] 
Merge pull request #12737 from nbakker/patch-1

Some webserver parameters were removed with 1.8.0

16 months agogithub runners can be *very* slow wrt I/O, use a more generous timeout in tests 12782/head
Otto Moerbeek [Wed, 3 May 2023 11:32:18 +0000 (13:32 +0200)] 
github runners can be *very* slow wrt I/O, use a more generous timeout in tests

This issue seems to be more prominent when using a TSAN enabled dnsdist.

16 months agoauth-4.8.0-beta1: secpoll&docs 12781/head
Peter van Dijk [Wed, 3 May 2023 10:19:47 +0000 (12:19 +0200)] 
auth-4.8.0-beta1: secpoll&docs

16 months agoMerge pull request #12765 from fredmorcos/clang-tidy-prs
Fred Morcos [Wed, 3 May 2023 09:22:39 +0000 (11:22 +0200)] 
Merge pull request #12765 from fredmorcos/clang-tidy-prs

Run `clang-tidy` on auth, rec and dnsdist when opening PRs

16 months agoMerge pull request #12690 from rgacogne/ddist-statnode-docs auth-4.8.0-beta1
Remi Gacogne [Wed, 3 May 2023 08:47:30 +0000 (10:47 +0200)] 
Merge pull request #12690 from rgacogne/ddist-statnode-docs

dnsdist: Fix the documentation of the `StatNode` object

16 months agoMerge pull request #12729 from Habbie/lmdb-ls-dup-domain
Peter van Dijk [Wed, 3 May 2023 08:44:08 +0000 (10:44 +0200)] 
Merge pull request #12729 from Habbie/lmdb-ls-dup-domain

auth LMDB: handle duplicate domain existence consistently

16 months agoMerge pull request #12768 from chbruyand/ixfrdist-max-soa-refresh
Peter van Dijk [Wed, 3 May 2023 08:41:16 +0000 (10:41 +0200)] 
Merge pull request #12768 from chbruyand/ixfrdist-max-soa-refresh

ixfrdist: add a per domain max-soa-refresh option

16 months agoMerge pull request #12636 from Habbie/lmdb-comments
Peter van Dijk [Wed, 3 May 2023 08:39:13 +0000 (10:39 +0200)] 
Merge pull request #12636 from Habbie/lmdb-comments

auth lmdb: handle lack of support for RRset comments better

16 months agoMerge pull request #12738 from paddg/patch-12
Remi Gacogne [Wed, 3 May 2023 07:59:50 +0000 (09:59 +0200)] 
Merge pull request #12738 from paddg/patch-12

Undo an accidentally change (disableZeroScope -> disableZeroScoping)

16 months agogetCatalogMembers: bubble up full return false 12729/head
Peter van Dijk [Tue, 2 May 2023 13:25:05 +0000 (15:25 +0200)] 
getCatalogMembers: bubble up full return false

16 months agoDocument the process to disable specific clang-tidy lints 12765/head
Fred Morcos [Tue, 2 May 2023 13:17:56 +0000 (15:17 +0200)] 
Document the process to disable specific clang-tidy lints

16 months agoImprove clang-format documentation
Fred Morcos [Tue, 2 May 2023 13:17:51 +0000 (15:17 +0200)] 
Improve clang-format documentation

16 months agoIgnore macros when calculating cognitive complexity of functions
Fred Morcos [Tue, 2 May 2023 12:41:17 +0000 (14:41 +0200)] 
Ignore macros when calculating cognitive complexity of functions

16 months agomove assignment outside of condition
Peter van Dijk [Tue, 2 May 2023 12:16:44 +0000 (14:16 +0200)] 
move assignment outside of condition

16 months agoadd comments
Peter van Dijk [Tue, 2 May 2023 12:13:16 +0000 (14:13 +0200)] 
add comments

16 months agosimplify oldestts checking, optimise hot path for non-LS users
Peter van Dijk [Tue, 2 May 2023 12:02:33 +0000 (14:02 +0200)] 
simplify oldestts checking, optimise hot path for non-LS users

16 months agomove transaction opening outside of both if branches
Peter van Dijk [Tue, 2 May 2023 11:09:15 +0000 (13:09 +0200)] 
move transaction opening outside of both if branches

16 months agosimplify dup check
Peter van Dijk [Tue, 2 May 2023 11:04:58 +0000 (13:04 +0200)] 
simplify dup check

16 months agodrop unused const
Peter van Dijk [Tue, 2 May 2023 11:04:49 +0000 (13:04 +0200)] 
drop unused const

16 months agoMerge pull request #12766 from phonedph1/patch-37
Otto Moerbeek [Mon, 1 May 2023 08:37:08 +0000 (10:37 +0200)] 
Merge pull request #12766 from phonedph1/patch-37

dnsdist: Update config.rst