]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
4 years agodnsdist: Properly resume operations after XFR, add tests 10489/head
Remi Gacogne [Mon, 14 Jun 2021 10:56:50 +0000 (12:56 +0200)] 
dnsdist: Properly resume operations after XFR, add tests

4 years agodnsdist: Add regression tests for the XFR end detection feature
Remi Gacogne [Fri, 11 Jun 2021 15:02:38 +0000 (17:02 +0200)] 
dnsdist: Add regression tests for the XFR end detection feature

4 years agodnsdist: Fix the lack of IDState for XFR responses
Remi Gacogne [Thu, 10 Jun 2021 13:41:06 +0000 (15:41 +0200)] 
dnsdist: Fix the lack of IDState for XFR responses

Since we now detect the end of a XFR and reset the is_XFR flag, we
can't rely on it anymore to skip the insertion of the response into
the ring buffer. Set the type of these responses to AXFR and use that
instead.
A better fix would be to make the IDState available even for XFR
responses, at the cost of doing a copy, and perhaps insert an entry
into the ring buffer for the last message.

4 years agocode cleanup
slowr [Tue, 8 Jun 2021 15:50:24 +0000 (17:50 +0200)] 
code cleanup

4 years agopoc for making dnsdist ixfr-axfr aware
slowr [Fri, 4 Jun 2021 18:46:21 +0000 (20:46 +0200)] 
poc for making dnsdist ixfr-axfr aware

4 years agodnsdist: Proof of concept of how to detect serials in XFR messages
Remi Gacogne [Thu, 3 Jun 2021 12:13:37 +0000 (14:13 +0200)] 
dnsdist: Proof of concept of how to detect serials in XFR messages

4 years agodnsdist: Proof of concept of how to detect serials in XFR messages
Remi Gacogne [Thu, 3 Jun 2021 12:13:37 +0000 (14:13 +0200)] 
dnsdist: Proof of concept of how to detect serials in XFR messages

4 years agoMerge pull request #10455 from Habbie/builder-yum-upgrade
Peter van Dijk [Fri, 28 May 2021 10:30:21 +0000 (12:30 +0200)] 
Merge pull request #10455 from Habbie/builder-yum-upgrade

builder rpmbuild: run yum upgrade first

4 years agobuilder rpmbuild: run yum upgrade first 10455/head
Peter van Dijk [Thu, 27 May 2021 16:04:46 +0000 (18:04 +0200)] 
builder rpmbuild: run yum upgrade first

4 years agoMerge pull request #10434 from pieterlexis/upgrade-local-ipv6
Peter van Dijk [Thu, 27 May 2021 11:19:22 +0000 (13:19 +0200)] 
Merge pull request #10434 from pieterlexis/upgrade-local-ipv6

Fix the upgrade guide for local-ipv6 + other doc fixes

4 years agoFix SQL highlighting in pgsql docs 10434/head
Pieter Lexis [Fri, 21 May 2021 13:36:54 +0000 (15:36 +0200)] 
Fix SQL highlighting in pgsql docs

4 years agoCorrectly update local-ipv6 deprecation info
Pieter Lexis [Fri, 21 May 2021 13:32:41 +0000 (15:32 +0200)] 
Correctly update local-ipv6 deprecation info

4 years agoMerge pull request #10376 from Habbie/auth-4.5.0-alpha1-docs
Peter van Dijk [Thu, 27 May 2021 08:39:18 +0000 (10:39 +0200)] 
Merge pull request #10376 from Habbie/auth-4.5.0-alpha1-docs

changelog and secpoll for auth-4.5.0-alpha1

4 years agoupdate release date; mention new zone cache feature 10376/head
Peter van Dijk [Thu, 27 May 2021 08:26:56 +0000 (10:26 +0200)] 
update release date; mention new zone cache feature

4 years agoMerge pull request #10398 from dmachard/doc-dnsdist-eol
Remi Gacogne [Wed, 26 May 2021 15:41:56 +0000 (17:41 +0200)] 
Merge pull request #10398 from dmachard/doc-dnsdist-eol

 dnsdist: docs new EOL page

4 years agoMerge pull request #10417 from omoerbeek/rec-docs-PolicyEvent.appliedPolicy
Otto Moerbeek [Wed, 26 May 2021 11:21:11 +0000 (13:21 +0200)] 
Merge pull request #10417 from omoerbeek/rec-docs-PolicyEvent.appliedPolicy

rec: Refer to the description in dq.appliedPolicy for PolicyEvent.appliedPolicy

4 years agoMerge pull request #10416 from omoerbeek/redundant-checks-updateCacheFromRecords
Otto Moerbeek [Wed, 26 May 2021 11:20:53 +0000 (13:20 +0200)] 
Merge pull request #10416 from omoerbeek/redundant-checks-updateCacheFromRecords

rec: Remove checks in updateCacheFromRecords that are already done by sanitizeRecords.

4 years agoMerge pull request #10396 from omoerbeek/rec-log-levels
Otto Moerbeek [Wed, 26 May 2021 11:20:27 +0000 (13:20 +0200)] 
Merge pull request #10396 from omoerbeek/rec-log-levels

Take into account g_quiet when determing loglevel and change a few loglevels

4 years agodoc formatting/parsing fixes
Peter van Dijk [Wed, 26 May 2021 11:00:03 +0000 (13:00 +0200)] 
doc formatting/parsing fixes

4 years agochangelog and secpoll for auth-4.5.0-alpha1
Peter van Dijk [Mon, 10 May 2021 09:50:59 +0000 (11:50 +0200)] 
changelog and secpoll for auth-4.5.0-alpha1

4 years agoMerge pull request #10440 from omoerbeek/rec-nsec3-iter-default
Otto Moerbeek [Wed, 26 May 2021 08:43:33 +0000 (10:43 +0200)] 
Merge pull request #10440 from omoerbeek/rec-nsec3-iter-default

rec: Change nsec3-max-iterations default to 150

4 years agoMerge pull request #10342 from pieterlexis/svcb-rename-echconfig
Peter van Dijk [Tue, 25 May 2021 19:25:56 +0000 (21:25 +0200)] 
Merge pull request #10342 from pieterlexis/svcb-rename-echconfig

SVCB: rename echconfig to ech and add test vectors from draft

4 years agoMerge pull request #10423 from rgacogne/ddist-tcp-max-connections-stats-race
Remi Gacogne [Tue, 25 May 2021 16:11:28 +0000 (18:11 +0200)] 
Merge pull request #10423 from rgacogne/ddist-tcp-max-connections-stats-race

dnsdist: Add a suppression for a race in TCP stats reported by TSAN

4 years agoMerge pull request #10439 from rgacogne/ddist-snmp-tsan-race
Remi Gacogne [Tue, 25 May 2021 16:11:02 +0000 (18:11 +0200)] 
Merge pull request #10439 from rgacogne/ddist-snmp-tsan-race

dnsdist: Fix a data race reported by TSAN in SNMP metrics

4 years agoChange nsec3-max-iterations default to 150 10440/head
Otto [Tue, 25 May 2021 14:17:40 +0000 (16:17 +0200)] 
Change nsec3-max-iterations default to 150

4 years agoMerge pull request #10433 from Habbie/rec-irrelevant-logging
Otto Moerbeek [Tue, 25 May 2021 13:55:21 +0000 (15:55 +0200)] 
Merge pull request #10433 from Habbie/rec-irrelevant-logging

rec: distinguish the various 'Removing irrelevant record' log lines

4 years agoMerge pull request #10326 from omoerbeek/docs-year
Otto Moerbeek [Tue, 25 May 2021 13:42:10 +0000 (15:42 +0200)] 
Merge pull request #10326 from omoerbeek/docs-year

docs: Determine copyright upper bound year by code

4 years agoMerge pull request #10304 from Habbie/auth-faq-protectsystem
Pieter Lexis [Tue, 25 May 2021 13:40:52 +0000 (15:40 +0200)] 
Merge pull request #10304 from Habbie/auth-faq-protectsystem

auth faq: document a ProtectSystem=full implication

4 years agodnsdist: Fix a data race reported by TSAN in SNMP metrics 10439/head
Remi Gacogne [Tue, 25 May 2021 13:37:59 +0000 (15:37 +0200)] 
dnsdist: Fix a data race reported by TSAN in SNMP metrics

Unless I'm mistaken, the report (below) is a false positive since
`std::atomic<T>::operator T` is equivalent to `load()` and
`std::atomic<T>::operator=` to `store()`, but perhaps I'm missing
something.
Note that I could not reproduce the issue using clang++ 11.1.0's
TSAN, only with the one from g++ 11.1.0.

```
==================
WARNING: ThreadSanitizer: data race (pid=11157)
  Atomic read of size 8 at 0x7b7400002580 by thread T2:
    #0 __tsan_atomic64_load <null> (dnsdist+0x7a6eb0)
    #1 std::atomic<double>::load(std::memory_order) const /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/atomic:250:2 (dnsdist+0x83c4da)
    #2 pdns::stat_t_trait<double>::operator double() const /opt/project/pdns/dnsdistdist/./stat_t.hh:67:60 (dnsdist+0xd05b2e)
    #3 backendStatTable_handler(netsnmp_mib_handler_s*, netsnmp_handler_registration_s*, netsnmp_agent_request_info_s*, netsnmp_request_info_s*) /opt/project/pdns/dnsdistdist/dnsdist-snmp.cc:356:54 (dnsdist+0xeceab8)
    #4 netsnmp_call_next_handler <null> (libnetsnmpagent.so.30+0x2a0cc)
    #5 SNMPAgent::handleSNMPQueryCB(int, boost::any&) /opt/project/pdns/dnsdistdist/snmp-agent.cc:96:13 (dnsdist+0xfb2417)
    #6 boost::detail::function::void_function_invoker2<void (*)(int, boost::any&), void, int, boost::any&>::invoke(boost::detail::function::function_buffer&, int, boost::any&) /usr/include/boost/function/function_template.hpp:118:11 (dnsdist+0x8956e8)
    #7 boost::function2<void, int, boost::any&>::operator()(int, boost::any&) const /usr/include/boost/function/function_template.hpp:768:14 (dnsdist+0xf9f13c)
    #8 EpollFDMultiplexer::run(timeval*, int) /opt/project/pdns/dnsdistdist/epollmplexer.cc:176:7 (dnsdist+0xfd1feb)
    #9 SNMPAgent::worker() /opt/project/pdns/dnsdistdist/snmp-agent.cc:141:24 (dnsdist+0xfb273f)
    #10 void std::__invoke_impl<void, void (SNMPAgent::*)(), SNMPAgent*>(std::__invoke_memfun_deref, void (SNMPAgent::*&&)(), SNMPAgent*&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:73:14 (dnsdist+0xf36079)
    #11 std::__invoke_result<void (SNMPAgent::*)(), SNMPAgent*>::type std::__invoke<void (SNMPAgent::*)(), SNMPAgent*>(void (SNMPAgent::*&&)(), SNMPAgent*&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (dnsdist+0xf35f71)
    #12 decltype(std::__invoke(_S_declval<0ul>(), _S_declval<1ul>())) std::thread::_Invoker<std::tuple<void (SNMPAgent::*)(), SNMPAgent*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/thread:244:13 (dnsdist+0xf35f1e)
    #13 std::thread::_Invoker<std::tuple<void (SNMPAgent::*)(), SNMPAgent*> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/thread:253:11 (dnsdist+0xf35ec5)
    #14 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (SNMPAgent::*)(), SNMPAgent*> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/thread:196:13 (dnsdist+0xf35c29)
    #15 <null> <null> (libstdc++.so.6+0xbbb2e)

  Previous write of size 8 at 0x7b7400002580 by thread T18:
    [failed to restore the stack]

  Location is heap block of size 2304 at 0x7b7400001e00 allocated by main thread:
    #0 operator new(unsigned long, std::align_val_t) <null> (dnsdist+0x7e8c57)
    #1 __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/8/../../../../include/c++/8/ext/new_allocator.h:108:31 (dnsdist+0xe6b4e2)
    #2 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/8/../../../../include/c++/8/bits/alloc_traits.h:436:20 (dnsdist+0xe6b430)
    #3 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/8/../../../../include/c++/8/bits/allocated_ptr.h:97:21 (dnsdist+0xe6b1d0)
    #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<DownstreamState, std::allocator<DownstreamState>, ComboAddress&, ComboAddress&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&, bool>(DownstreamState*&, std::_Sp_alloc_shared_tag<std::allocator<DownstreamState> >, ComboAddress&, ComboAddress&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/shared_ptr_base.h:675:19 (dnsdist+0xe6fb0a)
    #5 std::__shared_ptr<DownstreamState, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<DownstreamState>, ComboAddress&, ComboAddress&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&, bool>(std::_Sp_alloc_shared_tag<std::allocator<DownstreamState> >, ComboAddress&, ComboAddress&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/shared_ptr_base.h:1342:14 (dnsdist+0xe6fa7a)
    #6 std::shared_ptr<DownstreamState>::shared_ptr<std::allocator<DownstreamState>, ComboAddress&, ComboAddress&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&, bool>(std::_Sp_alloc_shared_tag<std::allocator<DownstreamState> >, ComboAddress&, ComboAddress&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/shared_ptr.h:359:4 (dnsdist+0xe6f99d)
    #7 std::shared_ptr<DownstreamState> std::allocate_shared<DownstreamState, std::allocator<DownstreamState>, ComboAddress&, ComboAddress&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&, bool>(std::allocator<DownstreamState> const&, ComboAddress&, ComboAddress&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/shared_ptr.h:705:14 (dnsdist+0xe6f8e0)
    #8 std::shared_ptr<DownstreamState> std::make_shared<DownstreamState, ComboAddress&, ComboAddress&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&, bool>(ComboAddress&, ComboAddress&, unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/shared_ptr.h:721:14 (dnsdist+0xe6a726)
    #9 setupLuaConfig(LuaContext&, bool, bool)::$_2::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 /opt/project/pdns/dnsdistdist/dnsdist-lua.cc:356:11 (dnsdist+0xdf9166)
    #10 _ZN10LuaContext6BinderIRZL14setupLuaConfigRS_bbE3$_2RKN5boost7variantINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJSt13unordered_mapISB_NS5_IbJSB_St6vectorISt4pairIiSB_ESaISF_EESt8functionIFSt5tupleIJ7DNSNamettEERKSK_ttP9dnsheaderEEEEESt4hashISB_ESt8equal_toISB_ESaISE_IKSB_SS_EEEEEEEclIJRKNS4_8optionalIiEEEEEDTcldtdefpT8functiondtdefpT5paramspclsr3stdE7forwardIT_Efp_EEEDpOS1A_ /opt/project/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:1846:20 (dnsdist+0xdf89af)
    #11 _ZN10LuaContext6BinderIRNS0_IRZL14setupLuaConfigRS_bbE3$_2RKN5boost7variantINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJSt13unordered_mapISB_NS5_IbJSB_St6vectorISt4pairIiSB_ESaISF_EESt8functionIFSt5tupleIJ7DNSNamettEERKSK_ttP9dnsheaderEEEEESt4hashISB_ESt8equal_toISB_ESaISE_IKSB_SS_EEEEEEEERKNS4_8optionalIiEEEclIJEEEDTcldtdefpT8functiondtdefpT5paramspclsr3stdE7forwardIT_Efp_EEEDpOS1C_ /opt/project/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:1846:20 (dnsdist+0xdf8917)
    #12 std::shared_ptr<DownstreamState> LuaContext::readIntoFunction<std::shared_ptr<DownstreamState>, LuaContext::Binder<LuaContext::Binder<setupLuaConfig(LuaContext&, bool, bool)::$_2&, 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*)> > > > > > const&>&, boost::optional<int> const&>&>(lua_State*, LuaContext::tag<std::shared_ptr<DownstreamState> >, LuaContext::Binder<LuaContext::Binder<setupLuaConfig(LuaContext&, bool, bool)::$_2&, 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*)> > > > > > const&>&, boost::optional<int> const&>&, int) /opt/project/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:1766:16 (dnsdist+0xdf88be)
    #13 std::enable_if<IsOptional<boost::optional<int> >::value, std::shared_ptr<DownstreamState> >::type LuaContext::readIntoFunction<std::shared_ptr<DownstreamState>, LuaContext::Binder<setupLuaConfig(LuaContext&, bool, bool)::$_2&, 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*)> > > > > > const&>&, boost::optional<int> >(lua_State*, LuaContext::tag<std::shared_ptr<DownstreamState> >, LuaContext::Binder<setupLuaConfig(LuaContext&, bool, bool)::$_2&, 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*)> > > > > > const&>&, int, LuaContext::tag<boost::optional<int> >) /opt/project/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:1774:20 (dnsdist+0xdf8624)
    #14 std::enable_if<!(IsOptional<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*)> > > > > > >::value), std::shared_ptr<DownstreamState> >::type LuaContext::readIntoFunction<std::shared_ptr<DownstreamState>, setupLuaConfig(LuaContext&, bool, bool)::$_2&, 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> >(lua_State*, LuaContext::tag<std::shared_ptr<DownstreamState> >, setupLuaConfig(LuaContext&, bool, bool)::$_2&, int, LuaContext::tag<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*)> > > > > > >, LuaContext::tag<boost::optional<int> >) /opt/project/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:1796:16 (dnsdist+0xdf848d)
    #15 std::enable_if<(!(std::integral_constant<bool, false>::value)) && (!(std::is_void<bool>::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>::callback2<setupLuaConfig(LuaContext&, bool, bool)::$_2&>(lua_State*, bool&&, int) /opt/project/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2429:31 (dnsdist+0xdf83c2)
    #16 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)::$_2>(lua_State*, setupLuaConfig(LuaContext&, bool, bool)::$_2*, int) /opt/project/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2398:20 (dnsdist+0xdf8169)
    #17 std::enable_if<boost::has_trivial_destructor<setupLuaConfig(LuaContext&, bool, bool)::$_2>::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)::$_2>(lua_State*, setupLuaConfig(LuaContext&, bool, bool)::$_2)::'lambda'(lua_State*)::operator()(lua_State*) const /opt/project/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2327:20 (dnsdist+0xdf80c9)
    #18 std::enable_if<boost::has_trivial_destructor<setupLuaConfig(LuaContext&, bool, bool)::$_2>::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)::$_2>(lua_State*, setupLuaConfig(LuaContext&, bool, bool)::$_2)::'lambda'(lua_State*)::__invoke(lua_State*) /opt/project/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:2323:31 (dnsdist+0xdf8055)
    #19 _init <null> (libluajit-5.1.so.2+0x9dd6)
    #20 std::tuple<> LuaContext::call<std::tuple<> >(lua_State*, LuaContext::PushedObject) /opt/project/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:1413:29 (dnsdist+0xc9ae67)
    #21 LuaContext::executeCode(std::istream&) /opt/project/pdns/dnsdistdist/./ext/luawrapper/include/LuaContext.hpp:267:9 (dnsdist+0xe6077a)
    #22 setupLua(LuaContext&, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /opt/project/pdns/dnsdistdist/dnsdist-lua.cc:2599:10 (dnsdist+0xdf4ff3)
    #23 main /opt/project/pdns/dnsdistdist/dnsdist.cc:2235:17 (dnsdist+0xf282ea)

  Thread T2 'dnsdist/SNMP' (tid=11160, running) created by main thread at:
    #0 pthread_create <null> (dnsdist+0x75f2d5)
    #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xbbdb4)
    #2 SNMPAgent::run() /opt/project/pdns/dnsdistdist/./snmp-agent.hh:36:14 (dnsdist+0xf3087c)
    #3 main /opt/project/pdns/dnsdistdist/dnsdist.cc:2373:20 (dnsdist+0xf28f32)

  Thread T18 'dnsdist/healthC' (tid=11176, running) created by main thread at:
    #0 pthread_create <null> (dnsdist+0x75f2d5)
    #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xbbdb4)
    #2 main /opt/project/pdns/dnsdistdist/dnsdist.cc:2463:12 (dnsdist+0xf29769)

SUMMARY: ThreadSanitizer: data race (/opt/dnsdist-with-tsan/bin/dnsdist+0x7a6eb0) in __tsan_atomic64_load
```

4 years agoMerge pull request #10432 from mind04/pdns-zonecache auth-4.5.0-alpha1
Peter van Dijk [Tue, 25 May 2021 10:05:31 +0000 (12:05 +0200)] 
Merge pull request #10432 from mind04/pdns-zonecache

auth: zone-cache improvements

4 years agoMerge pull request #10430 from mind04/pdns-wording
Peter van Dijk [Fri, 21 May 2021 17:00:46 +0000 (19:00 +0200)] 
Merge pull request #10430 from mind04/pdns-wording

auth: use primary and secondary for pdnsutil and pdns_control commands

4 years agorec: distinguish the various 'Removing irrelevant record' log lines 10433/head
Peter van Dijk [Fri, 21 May 2021 13:45:54 +0000 (15:45 +0200)] 
rec: distinguish the various 'Removing irrelevant record' log lines

4 years agoauth: replace or insert newly created zones in the zone cache 10432/head
Kees Monshouwer [Thu, 20 May 2021 14:17:13 +0000 (16:17 +0200)] 
auth: replace or insert newly created zones in the zone cache

4 years agoauth: add new autosecondary domains to the zone cache
Kees Monshouwer [Thu, 20 May 2021 13:17:40 +0000 (15:17 +0200)] 
auth: add new autosecondary domains to the zone cache

4 years agoauth: update pdnsutil help message 10430/head
Kees Monshouwer [Wed, 19 May 2021 19:04:52 +0000 (21:04 +0200)] 
auth: update pdnsutil help message

4 years agoauth: use primary/seconday in pddns_control and s/zone/domain
Kees Monshouwer [Tue, 18 May 2021 19:19:13 +0000 (21:19 +0200)] 
auth: use primary/seconday in pddns_control and s/zone/domain

4 years agoauth: use primary/seconday in pdnsutil
Kees Monshouwer [Tue, 18 May 2021 19:02:49 +0000 (21:02 +0200)] 
auth: use primary/seconday in pdnsutil

4 years agoMerge pull request #10399 from mind04/pdns-recheck
Peter van Dijk [Thu, 20 May 2021 12:35:09 +0000 (14:35 +0200)] 
Merge pull request #10399 from mind04/pdns-recheck

auth: make sure we recheck failed SOA lookups for notifies

4 years agoMerge pull request #10429 from rgacogne/loop-warnings
Remi Gacogne [Thu, 20 May 2021 05:15:56 +0000 (07:15 +0200)] 
Merge pull request #10429 from rgacogne/loop-warnings

Fix 'temporary used in loop' warnings reported by g++ 11.1.0

4 years agoMerge branch 'PowerDNS:master' into doc-dnsdist-eol 10398/head
Denis MACHARD [Wed, 19 May 2021 18:07:01 +0000 (20:07 +0200)] 
Merge branch 'PowerDNS:master' into doc-dnsdist-eol

4 years agoauth: Fix a 'temporary used in loop' warning reported by g++ 11.1.0 10429/head
Remi Gacogne [Wed, 19 May 2021 17:44:12 +0000 (19:44 +0200)] 
auth: Fix a 'temporary used in loop' warning reported by g++ 11.1.0

```
common_startup.cc: In function â€˜void mainthread()’:
common_startup.cc:617:24: warning: loop variable â€˜algotype’ of type â€˜const string&’ {aka â€˜const std::__cxx11::basic_string<char>&’} binds to a temporary constructed from type â€˜const char* const’ [-Wrange-loop-construct]
  617 |     for (const string& algotype : {"ksk", "zsk"}) {
      |                        ^~~~~~~~
common_startup.cc:617:24: note: use non-reference type â€˜const string’ {aka â€˜const std::__cxx11::basic_string<char>’} to make the copy explicit or â€˜const char* const&’ to prevent copying
```

4 years agotest-dnsname_cc.cc: Fix a 'temporary used in loop' warning reported by g++ 11.1.0
Remi Gacogne [Wed, 19 May 2021 17:23:24 +0000 (19:23 +0200)] 
test-dnsname_cc.cc: Fix a 'temporary used in loop' warning reported by g++ 11.1.0

```
test-dnsname_cc.cc: In member function â€˜void test_dnsname_cc::test_compare_canonical::test_method()’:
test-dnsname_cc.cc:684:26: warning: loop variable â€˜b’ of type â€˜const string&’ {aka â€˜const std::__cxx11::basic_string<char>&’} binds to a temporary constructed from type â€˜const char* const’ [-Wrange-loop-construct]
  684 |   for(const std::string& b : {"bert.com.", "alpha.nl.", "articles.xxx.",
      |                          ^
test-dnsname_cc.cc:684:26: note: use non-reference type â€˜const string’ {aka â€˜const std::__cxx11::basic_string<char>’} to make the copy explicit or â€˜const char* const&’ to prevent copying
```

4 years agoMerge pull request #10421 from mind04/pdns-list-zones
Peter van Dijk [Wed, 19 May 2021 16:38:35 +0000 (18:38 +0200)] 
Merge pull request #10421 from mind04/pdns-list-zones

auth: add an option to in/exclude disabled zones in the pdnsutil list-all-zone and list-keys output.

4 years agoMerge pull request #10260 from mind04/pdns-nsec3param
Peter van Dijk [Wed, 19 May 2021 15:59:51 +0000 (17:59 +0200)] 
Merge pull request #10260 from mind04/pdns-nsec3param

auth: lower max-nsec3-iterations to 100

4 years agoauth: pdnsutil, use cmds.at() 10421/head
Kees Monshouwer [Wed, 19 May 2021 15:02:25 +0000 (17:02 +0200)] 
auth: pdnsutil, use cmds.at()

4 years agoauth: optionally include disabled or empty zones in the pdnsutil list-all-zone and...
Kees Monshouwer [Thu, 4 Mar 2021 15:27:53 +0000 (16:27 +0100)] 
auth: optionally include disabled or empty zones in the pdnsutil list-all-zone and list-keys output

4 years agoauth: lower max-nsec3-iterations to 100 10260/head
Kees Monshouwer [Thu, 1 Apr 2021 18:03:28 +0000 (20:03 +0200)] 
auth: lower max-nsec3-iterations to 100

4 years agoMerge pull request #10424 from mind04/pdns-domain2zone
Peter van Dijk [Wed, 19 May 2021 14:06:29 +0000 (16:06 +0200)] 
Merge pull request #10424 from mind04/pdns-domain2zone

auth: replace domain-metadata-cache-ttl by zone-metadata-cache-ttl

4 years agoauth: change domain to zone round 1 10424/head
Kees Monshouwer [Tue, 18 May 2021 16:55:44 +0000 (18:55 +0200)] 
auth: change domain to zone round 1

4 years agoauth: replace domain-metadata-cache-ttl by zone-metadata-cache-ttl
Kees Monshouwer [Tue, 18 May 2021 16:44:20 +0000 (18:44 +0200)] 
auth: replace domain-metadata-cache-ttl by zone-metadata-cache-ttl

4 years agoMerge pull request #9464 from zeha/zonecache
Peter van Dijk [Wed, 19 May 2021 10:52:54 +0000 (12:52 +0200)] 
Merge pull request #9464 from zeha/zonecache

auth: cache list of all domains

4 years agotest zone-cache in gsqlite3 master and slave, with low TTL for more intensive testing 9464/head
Peter van Dijk [Wed, 19 May 2021 09:15:21 +0000 (11:15 +0200)] 
test zone-cache in gsqlite3 master and slave, with low TTL for more intensive testing

4 years agoMerge pull request #10349 from omoerbeek/rec-tcpiohandler
Otto Moerbeek [Wed, 19 May 2021 08:35:53 +0000 (10:35 +0200)] 
Merge pull request #10349 from omoerbeek/rec-tcpiohandler

rec: move to tcpiohandler for outgoing TCP

4 years agoMerge pull request #10420 from omoerbeek/rec-nod-no-qm
Otto Moerbeek [Wed, 19 May 2021 08:34:49 +0000 (10:34 +0200)] 
Merge pull request #10420 from omoerbeek/rec-nod-no-qm

rec: For the NOD lookup case, we don't want QName Minimization.

4 years agoMerge pull request #10381 from rgacogne/ddist-better-padding
Remi Gacogne [Wed, 19 May 2021 07:21:31 +0000 (09:21 +0200)] 
Merge pull request #10381 from rgacogne/ddist-better-padding

dnsdist: Reorganize the IDState and Rings fields

4 years agoRename domaincache to zonecache, also ttl to refreshinterval
Chris Hofstaedtler [Tue, 18 May 2021 19:18:56 +0000 (21:18 +0200)] 
Rename domaincache to zonecache, also ttl to refreshinterval

4 years agoMerge pull request #10282 from omoerbeek/qtype-tostring dnsdist-1.7.0-alpha0
Otto Moerbeek [Tue, 18 May 2021 16:57:15 +0000 (18:57 +0200)] 
Merge pull request #10282 from omoerbeek/qtype-tostring

Rename QType.getName() to QType.toString()

4 years agoRename QType.getName() to QType.toString() 10282/head
Otto [Fri, 9 Apr 2021 12:46:26 +0000 (14:46 +0200)] 
Rename QType.getName() to QType.toString()

4 years agoMerge pull request #10401 from mind04/consistent
Peter van Dijk [Tue, 18 May 2021 15:41:04 +0000 (17:41 +0200)] 
Merge pull request #10401 from mind04/consistent

auth: change the consistent-backends default to 'yes'

4 years agodnsdist: Add a suppression for a race in TCP stats reported by TSAN 10423/head
Remi Gacogne [Tue, 18 May 2021 15:30:36 +0000 (17:30 +0200)] 
dnsdist: Add a suppression for a race in TCP stats reported by TSAN

We might indeed be off by a few connections in the "maximum connections
seen" counter, but we don't care that much.

4 years agoFor the NOD lookup case, we don't want QName Minimization. 10420/head
Otto [Tue, 18 May 2021 13:40:44 +0000 (15:40 +0200)] 
For the NOD lookup case, we don't want QName Minimization.

4 years agoueberbackend: include disabled domains in cache
Chris Hofstaedtler [Tue, 18 May 2021 12:11:59 +0000 (14:11 +0200)] 
ueberbackend: include disabled domains in cache

4 years agoAdd (domain-)cache-ttl to gsqlite3-master CI
Chris Hofstaedtler [Tue, 18 May 2021 12:10:38 +0000 (14:10 +0200)] 
Add (domain-)cache-ttl to gsqlite3-master CI

4 years agoauth: change the consistent-backends default to 'yes' 10401/head
Kees Monshouwer [Wed, 12 May 2021 23:18:41 +0000 (01:18 +0200)] 
auth: change the consistent-backends default to 'yes'

4 years agoTreat vanished domains like they were never in the cache
Chris Hofstaedtler [Tue, 18 May 2021 07:56:21 +0000 (09:56 +0200)] 
Treat vanished domains like they were never in the cache

4 years agoRefer to the description in dq.appliedPolicy for PolicyEvent.appliedPolicy. 10417/head
Otto [Mon, 17 May 2021 14:45:31 +0000 (16:45 +0200)] 
Refer to the description in dq.appliedPolicy for PolicyEvent.appliedPolicy.

Improving consistency.

4 years agoRemove checks in updateCacheFromRecords that are already done by santizeRecords. 10416/head
Otto [Mon, 17 May 2021 13:35:05 +0000 (15:35 +0200)] 
Remove checks in updateCacheFromRecords that are already done by santizeRecords.

Fixes #10415 (at least the most obvious cases).

4 years agoMerge branch 'PowerDNS:master' into doc-dnsdist-eol
Denis MACHARD [Mon, 17 May 2021 12:45:25 +0000 (14:45 +0200)] 
Merge branch 'PowerDNS:master' into doc-dnsdist-eol

4 years agoCreate eol.rst
Alex1234 [Mon, 17 May 2021 11:08:08 +0000 (13:08 +0200)] 
Create eol.rst

Changed Aril -> May 2021, and added november 2021 as the 1.5 date

4 years agoMerge pull request #10400 from mind04/headers
Peter van Dijk [Mon, 17 May 2021 09:56:56 +0000 (11:56 +0200)] 
Merge pull request #10400 from mind04/headers

add missing includes (Fedora 34, gcc 11.1 / clang 12)

4 years agogetAuth: abort if backend returned wrong SOA for cached domain
Chris Hofstaedtler [Sat, 15 May 2021 22:10:59 +0000 (00:10 +0200)] 
getAuth: abort if backend returned wrong SOA for cached domain

4 years agogetAuth: avoid throwing when no SOA is returned for cached domain
Chris Hofstaedtler [Sat, 15 May 2021 22:10:42 +0000 (00:10 +0200)] 
getAuth: avoid throwing when no SOA is returned for cached domain

4 years agoauth-domaincache: use info-zone-query for inserted zone id
Chris Hofstaedtler [Mon, 10 May 2021 08:28:35 +0000 (10:28 +0200)] 
auth-domaincache: use info-zone-query for inserted zone id

Also apply "RETURNING id" optimization for postgresql.

4 years agolmdbbackend/createDomain: reuse RW transaction
Chris Hofstaedtler [Mon, 10 May 2021 15:29:42 +0000 (17:29 +0200)] 
lmdbbackend/createDomain: reuse RW transaction

4 years agoauth-domaincache: apply suggested comment improvement
Chris Hofstaedtler [Wed, 12 May 2021 09:37:28 +0000 (11:37 +0200)] 
auth-domaincache: apply suggested comment improvement

4 years agoApply clang-format
Chris Hofstaedtler [Mon, 10 May 2021 08:31:12 +0000 (10:31 +0200)] 
Apply clang-format

4 years agoauth-domaincache: add "new" headers
Chris Hofstaedtler [Mon, 10 May 2021 08:27:55 +0000 (10:27 +0200)] 
auth-domaincache: add "new" headers

4 years agosetReplacePending: avoid lock
Chris Hofstaedtler [Mon, 10 May 2021 08:16:10 +0000 (10:16 +0200)] 
setReplacePending: avoid lock

4 years agotest-auth-domaincache_cc: check zoneId value explicitly
Chris Hofstaedtler [Mon, 10 May 2021 08:15:33 +0000 (10:15 +0200)] 
test-auth-domaincache_cc: check zoneId value explicitly

4 years agoTidy up style nits
Chris Hofstaedtler [Mon, 10 May 2021 08:12:59 +0000 (10:12 +0200)] 
Tidy up style nits

4 years agodomaincache: preserve domains added while replace data collection was running
Chris Hofstaedtler [Mon, 29 Mar 2021 13:49:39 +0000 (15:49 +0200)] 
domaincache: preserve domains added while replace data collection was running

4 years agoReformat
Chris Hofstaedtler [Mon, 15 Mar 2021 09:05:27 +0000 (10:05 +0100)] 
Reformat

4 years agoRemove unused d_ops
Chris Hofstaedtler [Sun, 14 Mar 2021 21:57:23 +0000 (22:57 +0100)] 
Remove unused d_ops

4 years agoAdd separate auth domain cache test
Chris Hofstaedtler [Mon, 8 Feb 2021 12:51:04 +0000 (13:51 +0100)] 
Add separate auth domain cache test

4 years agoAuthDomainCache: init d_ttl
Chris Hofstaedtler [Mon, 8 Feb 2021 12:34:09 +0000 (13:34 +0100)] 
AuthDomainCache: init d_ttl

4 years agoAuthDomainCache: use std::move
Chris Hofstaedtler [Mon, 8 Feb 2021 12:33:58 +0000 (13:33 +0100)] 
AuthDomainCache: use std::move

4 years agoMove extern AuthDomainCache into auth-domaincache.hh
Chris Hofstaedtler [Mon, 8 Feb 2021 12:33:47 +0000 (13:33 +0100)] 
Move extern AuthDomainCache into auth-domaincache.hh

4 years agoEnable domain cache on gsql tests
Chris Hofstaedtler [Thu, 29 Oct 2020 11:59:02 +0000 (12:59 +0100)] 
Enable domain cache on gsql tests

4 years agoAvoid abort if database server goes away
Chris Hofstaedtler [Thu, 29 Oct 2020 11:54:43 +0000 (12:54 +0100)] 
Avoid abort if database server goes away

4 years agoauth: add a cache of existing domains
Chris Hofstaedtler [Mon, 19 Oct 2020 14:21:17 +0000 (16:21 +0200)] 
auth: add a cache of existing domains

4 years agoadd missing includes (Fedora 34, gcc 11.1 / clang 12) 10400/head
Kees Monshouwer [Tue, 11 May 2021 08:27:01 +0000 (10:27 +0200)] 
add missing includes (Fedora 34, gcc 11.1 / clang 12)

4 years agoEOL page
dmachard [Wed, 12 May 2021 18:58:12 +0000 (20:58 +0200)] 
EOL page

4 years agoMerge pull request #10397 from aj-gh/fixdoc-refreshonttlperc
Otto Moerbeek [Wed, 12 May 2021 14:24:01 +0000 (16:24 +0200)] 
Merge pull request #10397 from aj-gh/fixdoc-refreshonttlperc

Fix docs: refresh-on-ttl-perc was added in 4.5.0

4 years agoFix docs: refresh-on-ttl-perc was added in 4.5.0 10397/head
Andreas Jakum [Wed, 12 May 2021 13:52:07 +0000 (15:52 +0200)] 
Fix docs: refresh-on-ttl-perc was added in 4.5.0

4 years agoMerge pull request #10392 from Habbie/gpgsql-select-returning
Peter van Dijk [Wed, 12 May 2021 11:45:50 +0000 (13:45 +0200)] 
Merge pull request #10392 from Habbie/gpgsql-select-returning

auth gpgsql: use SELECT .. RETURNING to get inserted row ID

4 years agoMerge pull request #10394 from mnordhoff/rec-upgrade
Otto Moerbeek [Wed, 12 May 2021 10:48:29 +0000 (12:48 +0200)] 
Merge pull request #10394 from mnordhoff/rec-upgrade

Combine duplicate sections in Recursor upgrade guide

4 years agoTake into account q_quiet when determing loglevel and change a few 10396/head
Otto [Wed, 12 May 2021 10:46:44 +0000 (12:46 +0200)] 
Take into account q_quiet when determing loglevel and change a few
loglevels.

4 years agopdnsutil add-zone-key: better error formatting 10392/head
Peter van Dijk [Wed, 12 May 2021 10:26:55 +0000 (12:26 +0200)] 
pdnsutil add-zone-key: better error formatting

4 years agoauth gpgsql: use SELECT .. RETURNING to get inserted row ID, fixes #7175
Peter van Dijk [Wed, 12 May 2021 10:26:36 +0000 (12:26 +0200)] 
auth gpgsql: use SELECT .. RETURNING to get inserted row ID, fixes #7175

4 years agoCombine duplicate sections in Recursor upgrade guide. 10394/head
Matt Nordhoff [Wed, 12 May 2021 08:07:01 +0000 (08:07 +0000)] 
Combine duplicate sections in Recursor upgrade guide.

Also use more consistent capitalization and wording.