]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
2 years 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.

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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.

2 years 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

2 years 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.

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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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)
```

2 years 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

2 years 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

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

2 years 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

2 years 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

2 years 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>
2 years 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>
2 years 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>
2 years 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

2 years 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

2 years 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

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

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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)

2 years 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

2 years 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

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

2 years 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

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

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

2 years 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

2 years 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

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

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

2 years 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

2 years agorec: warning: variable 'total' set but not used [-Wunused-but-set-variable] 12748/head
Otto Moerbeek [Fri, 14 Apr 2023 08:48:05 +0000 (10:48 +0200)] 
rec: warning: variable 'total' set but not used [-Wunused-but-set-variable]

2 years agoMerge pull request #12770 from neilcook/patch-2
Otto Moerbeek [Mon, 1 May 2023 06:08:19 +0000 (08:08 +0200)] 
Merge pull request #12770 from neilcook/patch-2

Make Additionals documentation more accurate

2 years agoformat
Peter van Dijk [Fri, 28 Apr 2023 12:44:08 +0000 (14:44 +0200)] 
format

2 years agoremove debug print
Peter van Dijk [Fri, 28 Apr 2023 12:43:08 +0000 (14:43 +0200)] 
remove debug print

2 years agofilter duplicate domain entries
Peter van Dijk [Fri, 28 Apr 2023 12:37:22 +0000 (14:37 +0200)] 
filter duplicate domain entries

2 years agomove handle_dups flag to lmdbbackend
Peter van Dijk [Fri, 28 Apr 2023 12:18:15 +0000 (14:18 +0200)] 
move handle_dups flag to lmdbbackend

2 years agolmdb-typed: teach get() to optionally fetch just the oldest entry
Peter van Dijk [Fri, 28 Apr 2023 12:15:11 +0000 (14:15 +0200)] 
lmdb-typed: teach get() to optionally fetch just the oldest entry

2 years agoadd comment
Peter van Dijk [Fri, 28 Apr 2023 11:52:42 +0000 (13:52 +0200)] 
add comment

2 years agolmdb: add interface to get timestamp from LS header
Peter van Dijk [Thu, 6 Apr 2023 12:25:50 +0000 (14:25 +0200)] 
lmdb: add interface to get timestamp from LS header

2 years agolmdb indexops: avoid updating timestamp when there is no change
Peter van Dijk [Thu, 6 Apr 2023 10:19:59 +0000 (12:19 +0200)] 
lmdb indexops: avoid updating timestamp when there is no change

2 years agofix warnings
Peter van Dijk [Fri, 28 Apr 2023 11:50:11 +0000 (13:50 +0200)] 
fix warnings

2 years agoadd missing defaults to doc
Peter van Dijk [Fri, 28 Apr 2023 11:42:52 +0000 (13:42 +0200)] 
add missing defaults to doc

2 years agoadd lmdb-lightning-stream option
Peter van Dijk [Fri, 28 Apr 2023 11:40:27 +0000 (13:40 +0200)] 
add lmdb-lightning-stream option

2 years agorefactor getCatalogMembers
Peter van Dijk [Wed, 26 Apr 2023 17:05:21 +0000 (19:05 +0200)] 
refactor getCatalogMembers

2 years agorefactor getUpdatedMasters
Peter van Dijk [Wed, 26 Apr 2023 14:07:30 +0000 (16:07 +0200)] 
refactor getUpdatedMasters

2 years agorefactor getUnfreshSlaveInfos
Peter van Dijk [Wed, 26 Apr 2023 12:24:01 +0000 (14:24 +0200)] 
refactor getUnfreshSlaveInfos

2 years agomove loop into getAllDomainsFiltered
Peter van Dijk [Wed, 26 Apr 2023 12:06:11 +0000 (14:06 +0200)] 
move loop into getAllDomainsFiltered

2 years agoMake Additionals documentation more accurate 12770/head
Neil Cook [Mon, 24 Apr 2023 15:25:28 +0000 (16:25 +0100)] 
Make Additionals documentation more accurate

2 years agoixfrdist: add a per domain max-soa-refresh option to optionaly cap the refresh interval 12768/head
Charles-Henri Bruyand [Mon, 24 Apr 2023 14:13:35 +0000 (16:13 +0200)] 
ixfrdist: add a per domain max-soa-refresh option to optionaly cap the refresh interval

2 years agoUpdate config.rst 12766/head
phonedph1 [Sat, 22 Apr 2023 00:20:06 +0000 (18:20 -0600)] 
Update config.rst

2 years agoFilter file diffs that are not in the current project
Fred Morcos [Thu, 20 Apr 2023 20:31:54 +0000 (22:31 +0200)] 
Filter file diffs that are not in the current project

2 years agoDelete old clang-tidy workflow
Fred Morcos [Thu, 16 Mar 2023 13:16:36 +0000 (14:16 +0100)] 
Delete old clang-tidy workflow

2 years agoMove clang-tidy-dnsdist to build-and-test-all workflow
Fred Morcos [Thu, 16 Mar 2023 13:16:23 +0000 (14:16 +0100)] 
Move clang-tidy-dnsdist to build-and-test-all workflow

2 years agoMove clang-tidy-rec to build-and-test-all workflow
Fred Morcos [Thu, 16 Mar 2023 13:16:10 +0000 (14:16 +0100)] 
Move clang-tidy-rec to build-and-test-all workflow

2 years agoMove clang-tidy-auth to build-and-test-all workflow
Fred Morcos [Wed, 15 Mar 2023 13:26:28 +0000 (14:26 +0100)] 
Move clang-tidy-auth to build-and-test-all workflow

2 years agoGithub action to run clang-tidy on dnsdist PRs
Fred Morcos [Tue, 14 Mar 2023 11:28:17 +0000 (12:28 +0100)] 
Github action to run clang-tidy on dnsdist PRs

2 years agoGithub action to run clang-tidy on rec PRs
Fred Morcos [Mon, 13 Mar 2023 12:53:20 +0000 (13:53 +0100)] 
Github action to run clang-tidy on rec PRs

2 years agoGithub action to run clang-tidy on auth PRs
Fred Morcos [Tue, 28 Feb 2023 14:49:40 +0000 (15:49 +0100)] 
Github action to run clang-tidy on auth PRs

2 years agoMerge pull request #12764 from fredmorcos/ci-fixes-cleanups 12775/head
Peter van Dijk [Fri, 21 Apr 2023 11:49:20 +0000 (13:49 +0200)] 
Merge pull request #12764 from fredmorcos/ci-fixes-cleanups

Ci fixes and cleanups

2 years agoPin pyasn1 to 0.4.8 because 0.5.0 broke the API with 0.5.0 12764/head
Fred Morcos [Fri, 21 Apr 2023 08:58:14 +0000 (10:58 +0200)] 
Pin pyasn1 to 0.4.8 because 0.5.0 broke the API with 0.5.0

https://github.com/pyasn1/pyasn1/issues/28

On 20230420: https://pypi.org/project/pyasn1/#history

2 years agoMerge pull request #12740 from mind04/auth-nsec-at-delegation
Peter van Dijk [Fri, 21 Apr 2023 08:09:42 +0000 (10:09 +0200)] 
Merge pull request #12740 from mind04/auth-nsec-at-delegation

Pick the right signer name when a NSEC name is also a delegation point

2 years agoMerge pull request #12669 from chbruyand/auth-ifurlup-ips
Peter van Dijk [Fri, 21 Apr 2023 07:44:18 +0000 (09:44 +0200)] 
Merge pull request #12669 from chbruyand/auth-ifurlup-ips

auth: luarecords, enhance ifportup() with lists of sets of addresses like ifurlup()

2 years agoTell the libdecaf cmake build to use clang-12
Fred Morcos [Wed, 5 Apr 2023 16:06:27 +0000 (18:06 +0200)] 
Tell the libdecaf cmake build to use clang-12

2 years agoAdd cmake to auth build deps (needed for libdecaf)
Fred Morcos [Wed, 5 Apr 2023 16:06:13 +0000 (18:06 +0200)] 
Add cmake to auth build deps (needed for libdecaf)

2 years agoCleanup ci_auth/rec_configure pyinvoke tasks
Fred Morcos [Fri, 10 Mar 2023 09:20:11 +0000 (10:20 +0100)] 
Cleanup ci_auth/rec_configure pyinvoke tasks

2 years agoCleanup the ci_docs_upload_master pyinvoke task
Fred Morcos [Tue, 28 Feb 2023 14:49:26 +0000 (15:49 +0100)] 
Cleanup the ci_docs_upload_master pyinvoke task

2 years agoGitignore verify-dnssec-zone/allow-missing
Fred Morcos [Fri, 10 Mar 2023 08:56:41 +0000 (09:56 +0100)] 
Gitignore verify-dnssec-zone/allow-missing

2 years agoMerge pull request #12758 from zeha/tcpreceiver-unused-var
Peter van Dijk [Tue, 18 Apr 2023 07:07:21 +0000 (09:07 +0200)] 
Merge pull request #12758 from zeha/tcpreceiver-unused-var

auth: remove unused var in tcpreceiver.cc

2 years agoMerge pull request #12759 from zeha/lmdb-unused-var
Peter van Dijk [Tue, 18 Apr 2023 07:06:38 +0000 (09:06 +0200)] 
Merge pull request #12759 from zeha/lmdb-unused-var

lmdb-safe: remove leftover debug variable