]>
git.ipfire.org Git - thirdparty/pdns.git/log
Remi Gacogne [Mon, 3 May 2021 08:22:08 +0000 (10:22 +0200)]
dnsdist: Fix missing locks in DNSCrypt certificates management
In theory these functions should already be protected by the Lua
lock but better safe than sorry.
Found while working on the migration to LockGuarded.
Otto Moerbeek [Fri, 30 Apr 2021 15:23:37 +0000 (17:23 +0200)]
Merge pull request #10344 from omoerbeek/boostm4-clang11.1
auto.m4: clang 11.1 is a thing
Otto Moerbeek [Fri, 30 Apr 2021 15:19:23 +0000 (17:19 +0200)]
Merge pull request #10343 from omoerbeek/dnsdist-test-warnings
dnsdist: fix test warnings
Otto [Fri, 30 Apr 2021 13:58:26 +0000 (15:58 +0200)]
Fix a few signed vs unsigned warnings as seen on OpenBSD
Otto [Fri, 30 Apr 2021 13:45:44 +0000 (15:45 +0200)]
clang 11.1 is a thing
Remi Gacogne [Fri, 30 Apr 2021 10:42:26 +0000 (12:42 +0200)]
Merge pull request #10336 from rgacogne/cpp17-string-view
Get rid of our string_view selection process, C++17 has all we need
Pieter Lexis [Fri, 30 Apr 2021 10:32:05 +0000 (12:32 +0200)]
Merge pull request #10339 from phonedph1/patch-28
rec: Update hooks.rst
Remi Gacogne [Thu, 29 Apr 2021 16:39:12 +0000 (18:39 +0200)]
Remove the now empty views.hh header
phonedph1 [Thu, 29 Apr 2021 02:17:56 +0000 (20:17 -0600)]
Update hooks.rst
Otto Moerbeek [Wed, 28 Apr 2021 09:39:15 +0000 (11:39 +0200)]
Merge pull request #10337 from omoerbeek/rec-prep-4.5.0-rc1
rec: Prep for rec-4.5.0-rc1
Peter van Dijk [Mon, 26 Apr 2021 14:15:06 +0000 (16:15 +0200)]
Merge pull request #10259 from Habbie/spgsql-drop-refcursor-support
auth gpgsql: add stored procedure test, drop refcursor support
Otto [Mon, 26 Apr 2021 09:35:36 +0000 (11:35 +0200)]
Prep for rec-4.5.0-rc1
Otto Moerbeek [Mon, 26 Apr 2021 09:13:37 +0000 (11:13 +0200)]
Merge pull request #10329 from Habbie/boost-container-exceptions
boost 1.76 containers: use standard exceptions
Remi Gacogne [Mon, 26 Apr 2021 08:14:07 +0000 (10:14 +0200)]
Get rid of our string_view selection process, C++17 has all we need
Peter van Dijk [Fri, 23 Apr 2021 13:40:43 +0000 (15:40 +0200)]
boost 1.76 containers: use standard exceptions
Remi Gacogne [Thu, 22 Apr 2021 08:06:38 +0000 (10:06 +0200)]
Merge pull request #10323 from rgacogne/ddist-tsan-snmp
dnsdist: Make the backend queryLoad and dropRate values atomic
Remi Gacogne [Wed, 21 Apr 2021 13:17:22 +0000 (15:17 +0200)]
Merge pull request #10310 from rgacogne/fix-simple-match
auth: Prevent dereferencing std::string::end() in SimpleMatch
Remi Gacogne [Wed, 21 Apr 2021 12:20:52 +0000 (14:20 +0200)]
dnsdist: Make the backend queryLoad and dropRate values atomic
So that there is no race when these vaues are read by the SNMP or
web threads and updated by the health check thread at the same time.
Reported by Thread Sanitizer:
WARNING: ThreadSanitizer: data race (pid=11167)
Write of size 8 at 0x7b7400002558 by thread T18:
#0 healthChecksThread() /opt/project/pdns/dnsdistdist/dnsdist.cc:1712:22 (dnsdist+0xf2a4a2)
#1 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60:14 (dnsdist+0xf40ea2)
#2 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (dnsdist+0xf40e0d)
#3 decltype(std::__invoke(_S_declval<0ul>())) std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/thread:244:13 (dnsdist+0xf40dd5)
#4 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/thread:253:11 (dnsdist+0xf40d95)
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/thread:196:13 (dnsdist+0xf40c29)
#6 <null> <null> (libstdc++.so.6+0xbbb2e)
Previous read of size 8 at 0x7b7400002558 by thread T2:
#0 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:62 (dnsdist+0xeccf98)
#1 netsnmp_call_next_handler <null> (libnetsnmpagent.so.30+0x2a0cc)
#2 SNMPAgent::handleSNMPQueryCB(int, boost::any&) /opt/project/pdns/dnsdistdist/snmp-agent.cc:96:13 (dnsdist+0xfb0847)
#3 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+0x8937d8)
#4 boost::function2<void, int, boost::any&>::operator()(int, boost::any&) const /usr/include/boost/function/function_template.hpp:768:14 (dnsdist+0xf9d56c)
#5 EpollFDMultiplexer::run(timeval*, int) /opt/project/pdns/dnsdistdist/epollmplexer.cc:176:7 (dnsdist+0xfd041b)
#6 SNMPAgent::worker() /opt/project/pdns/dnsdistdist/snmp-agent.cc:141:24 (dnsdist+0xfb0b6f)
#7 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+0xf344c9)
#8 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+0xf343c1)
#9 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+0xf3436e)
#10 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+0xf34315)
#11 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+0xf34079)
#12 <null> <null> (libstdc++.so.6+0xbbb2e)
Otto Moerbeek [Wed, 21 Apr 2021 10:31:47 +0000 (12:31 +0200)]
Merge pull request #10312 from omoerbeek/rec-pc-sizing
rec: Improve packet cache sizing.
Otto Moerbeek [Wed, 21 Apr 2021 09:01:56 +0000 (11:01 +0200)]
typo
Co-authored-by: Remi Gacogne <github@coredump.fr>
Remi Gacogne [Wed, 21 Apr 2021 08:24:32 +0000 (10:24 +0200)]
Merge pull request #10311 from rgacogne/ddist-newserver-sockets-doc
dnsdist: Better documentation of newServer's 'sockets' parameter
Otto Moerbeek [Tue, 20 Apr 2021 18:52:24 +0000 (20:52 +0200)]
Merge pull request #10322 from rubenk/typos
Fix two typos in lua scripting docs
Ruben Kerkhof [Tue, 20 Apr 2021 17:39:07 +0000 (19:39 +0200)]
Fix two typos in lua scripting docs
Otto Moerbeek [Tue, 20 Apr 2021 14:58:44 +0000 (16:58 +0200)]
Merge pull request #10318 from mnordhoff/toclients
rec: Fix typo in edns-padding-tag help
Matt Nordhoff [Tue, 20 Apr 2021 13:41:42 +0000 (13:41 +0000)]
rec: Fix typo in edns-padding-tag help
Otto Moerbeek [Tue, 20 Apr 2021 13:02:42 +0000 (15:02 +0200)]
Merge pull request #10317 from omoerbeek/rec-export-hosts
rec: Do not put results of DS query for auth or forward domains in negcache.
Otto [Tue, 20 Apr 2021 11:52:38 +0000 (13:52 +0200)]
Also check query type
Otto [Tue, 20 Apr 2021 11:32:26 +0000 (13:32 +0200)]
Add test case
Otto [Tue, 6 Apr 2021 11:20:36 +0000 (13:20 +0200)]
Do not put results of DS query for auth or forward domains in negcache.
Should fix #10189.
Remi Gacogne [Tue, 20 Apr 2021 08:31:53 +0000 (10:31 +0200)]
Merge pull request #10309 from rgacogne/ddist-16rc1-changelog
dnsdist: Add ChangeLog and secpoll for 1.6.0-rc1
Remi Gacogne [Mon, 19 Apr 2021 15:19:42 +0000 (17:19 +0200)]
Merge pull request #10303 from rgacogne/rec-proxy-protocol-ecs
rec: Use the correct ECS address when proxy-protocol is enabled
Otto [Mon, 19 Apr 2021 14:44:43 +0000 (16:44 +0200)]
Improve packet cache sizing.
Since queries incoming over TCP are now also using the packet
cache, there is now also one packet cache instance per distributor
thread. Each cache instance has a size of max-packetcache-entries
divided by (threads + distributor-threads).
Remi Gacogne [Mon, 19 Apr 2021 14:16:16 +0000 (16:16 +0200)]
dnsdist: Better documentation of newServer's 'sockets' parameter
Courtesy of Neil Cook (thanks!).
Remi Gacogne [Mon, 19 Apr 2021 12:14:45 +0000 (14:14 +0200)]
dnsdist: Add missing #10171 to the ChangeLog
Remi Gacogne [Mon, 19 Apr 2021 12:06:26 +0000 (14:06 +0200)]
rec: Fix the proxy protocol regression tests
Remi Gacogne [Mon, 19 Apr 2021 11:59:53 +0000 (13:59 +0200)]
dnsdist: Add ChangeLog and secpoll for 1.6.0-rc1
Peter van Dijk [Mon, 19 Apr 2021 10:51:03 +0000 (12:51 +0200)]
Merge pull request #10286 from Habbie/rpz-zz-zz
rpz dumper: stop generating double zz labels on networks that start with zeroes
Remi Gacogne [Mon, 19 Apr 2021 10:28:55 +0000 (12:28 +0200)]
auth: Small cleanup in SimpleMatch
Remi Gacogne [Mon, 19 Apr 2021 10:18:50 +0000 (12:18 +0200)]
auth: Prevent dereferencing std::string::end() in SimpleMatch
SimpleMatch is called with user-supplied strings in the API and the
bind backend. We might get away with it in most cases because
std::strings are null-terminated, but it's still undefined behaviour
as there is no guarantee that end() will point to the terminator.
Reported by cppcheck 2.4.1:
```
misc.hh:501:16: warning: Either the condition 'mi==d_mask.end()' is redundant or there is possible dereference of an invalid iterator: mi. [derefInvalidIteratorRedundantCheck]
while(*mi == '*') ++mi;
^
misc.hh:502:16: note: Assuming that condition 'mi==d_mask.end()' is not redundant
if (mi == d_mask.end()) return true;
^
misc.hh:501:16: note: Dereference of an invalid iterator
while(*mi == '*') ++mi;
```
Remi Gacogne [Mon, 19 Apr 2021 09:15:43 +0000 (11:15 +0200)]
rec: Replace deprecated edns-subnet-whitelist with edns-subnet-allow-list
Remi Gacogne [Mon, 19 Apr 2021 09:13:47 +0000 (11:13 +0200)]
rec: Add regression tests for Proxy Protocol / ECS interaction
Remi Gacogne [Mon, 19 Apr 2021 08:09:40 +0000 (10:09 +0200)]
rec: Use the correct ECS address when proxy-protocol is enabled
Otto Moerbeek [Fri, 16 Apr 2021 14:16:13 +0000 (16:16 +0200)]
Merge pull request #10298 from phonedph1/patch-26
rec: print the covering NSEC
Remi Gacogne [Fri, 16 Apr 2021 13:52:27 +0000 (15:52 +0200)]
Merge pull request #10274 from rgacogne/ddist-tsan-fixes
dnsdist: Fix some issues reported by Thread Sanitizer
Peter van Dijk [Fri, 16 Apr 2021 13:52:20 +0000 (15:52 +0200)]
Merge pull request #10301 from Habbie/rec-docs-faq-bufsize-bis
two more comments from Otto on recursor FAQ entry about bufsizes
Otto Moerbeek [Fri, 16 Apr 2021 09:52:18 +0000 (11:52 +0200)]
Merge pull request #10300 from omoerbeek/rec-docs-thruth
Rec: recursor is actually a pretty complex piece of code
Peter van Dijk [Fri, 16 Apr 2021 09:15:14 +0000 (11:15 +0200)]
two more comments from Otto on this text
Peter van Dijk [Fri, 16 Apr 2021 09:04:38 +0000 (11:04 +0200)]
Merge pull request #10296 from Habbie/rec-docs-faq-bufsize
start off recursor FAQ with some talk about EDNS bufsizes
Otto Moerbeek [Fri, 16 Apr 2021 08:50:51 +0000 (10:50 +0200)]
escape *
Otto Moerbeek [Fri, 16 Apr 2021 08:30:04 +0000 (10:30 +0200)]
Merge pull request #10299 from phonedph1/patch-27
rec: update setting for aggressive-nsec-cache-size
Otto [Fri, 16 Apr 2021 08:28:11 +0000 (10:28 +0200)]
Avoid lines counts and be more honest: rec is a big and complex piece
of code.
Remi Gacogne [Thu, 15 Apr 2021 10:21:00 +0000 (12:21 +0200)]
dnsdist: Fix a typo in the TSAN suppressions file
Remi Gacogne [Wed, 7 Apr 2021 11:48:38 +0000 (13:48 +0200)]
dnsdist: Add a TSAN-enabled build on CircleCI
Remi Gacogne [Wed, 7 Apr 2021 10:14:00 +0000 (12:14 +0200)]
dnsdist: Add a TSAN suppressions list
Remi Gacogne [Wed, 7 Apr 2021 10:11:46 +0000 (12:11 +0200)]
dnsdist: Make IDState.age atomic when TSAN is enabled
Remi Gacogne [Wed, 7 Apr 2021 10:11:10 +0000 (12:11 +0200)]
dnsdist: Prevent a race when updating the TeeAction metrics
Remi Gacogne [Wed, 7 Apr 2021 10:10:15 +0000 (12:10 +0200)]
dnsdist: Fix race conditions in QPSAction, QPSPoolAction
Remi Gacogne [Wed, 7 Apr 2021 10:08:59 +0000 (12:08 +0200)]
dnsdist: Prevent a race when reloading TLS certificates
Remi Gacogne [Wed, 7 Apr 2021 10:07:56 +0000 (12:07 +0200)]
dnsdist: Prevent a race in the DelayPipe tests
phonedph1 [Thu, 15 Apr 2021 20:31:30 +0000 (14:31 -0600)]
rec: update setting for aggressive-nsec-cache-size
phonedph1 [Thu, 15 Apr 2021 17:38:35 +0000 (11:38 -0600)]
Update validate.cc
phonedph1 [Thu, 15 Apr 2021 16:57:15 +0000 (10:57 -0600)]
rec: print the covering NSEC
It would be nice to log not only that a name is covered, but what entry actually covers it. This is useful in debugging crazy setups.
Peter van Dijk [Thu, 15 Apr 2021 15:33:58 +0000 (17:33 +0200)]
mention dig +qr
Otto Moerbeek [Thu, 15 Apr 2021 13:05:44 +0000 (15:05 +0200)]
Merge pull request #10295 from omoerbeek/changelog-revert
Revert previous change to changelog, they should not be changed.
Peter van Dijk [Thu, 15 Apr 2021 12:34:34 +0000 (14:34 +0200)]
add numbers to diagram
Peter van Dijk [Thu, 15 Apr 2021 12:31:08 +0000 (14:31 +0200)]
add diagram
Peter van Dijk [Thu, 15 Apr 2021 12:29:35 +0000 (14:29 +0200)]
more spellcheck
Peter van Dijk [Thu, 15 Apr 2021 12:29:12 +0000 (14:29 +0200)]
spellcheck
Peter van Dijk [Thu, 15 Apr 2021 12:28:59 +0000 (14:28 +0200)]
replace IP
Peter van Dijk [Thu, 15 Apr 2021 12:27:01 +0000 (14:27 +0200)]
explain why 512 is enough
Peter van Dijk [Thu, 15 Apr 2021 12:21:44 +0000 (14:21 +0200)]
start off recursor FAQ with some talk about EDNS bufsizes
Peter van Dijk [Thu, 15 Apr 2021 11:52:36 +0000 (13:52 +0200)]
formatting nit
Otto [Thu, 15 Apr 2021 06:48:56 +0000 (08:48 +0200)]
Revert previous change to changelog, they should not be changed.
Otto Moerbeek [Thu, 15 Apr 2021 06:39:09 +0000 (08:39 +0200)]
Merge pull request #10287 from xiaolong-666/master
rec: remove delegation only (issue #7544)
xiaolong [Tue, 13 Apr 2021 02:47:20 +0000 (10:47 +0800)]
Remove `delegation-only` from the recursor #7544
Peter van Dijk [Wed, 14 Apr 2021 16:46:27 +0000 (18:46 +0200)]
the code is not glibc specific
Peter van Dijk [Wed, 14 Apr 2021 16:28:20 +0000 (18:28 +0200)]
comments from code review
Peter van Dijk [Wed, 14 Apr 2021 16:26:09 +0000 (18:26 +0200)]
auto, reinterpret_cast
Co-authored-by: Remi Gacogne <rgacogne+github@valombre.net>
Otto Moerbeek [Wed, 14 Apr 2021 08:04:29 +0000 (10:04 +0200)]
Merge pull request #10285 from omoerbeek/rec-prep-4.5.0-beta2
rec: Prep for rec-4.5.0-beta2
Peter van Dijk [Tue, 13 Apr 2021 19:06:33 +0000 (21:06 +0200)]
add tests
Co-authored-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Peter van Dijk [Mon, 12 Apr 2021 10:24:17 +0000 (12:24 +0200)]
rpz dumper: stop generating double zz labels on networks that start with zeroes
(partial rewrite; adds tests)
Otto Moerbeek [Tue, 13 Apr 2021 14:27:44 +0000 (16:27 +0200)]
Merge pull request #10291 from omoerbeek/rec-rpz-seed-error
Exception loading the RPZ seedfile is not fatal.
Peter van Dijk [Tue, 13 Apr 2021 13:46:59 +0000 (15:46 +0200)]
Merge pull request #10148 from Habbie/centos-8-stream-builds
builder, gh actions: add centos-8-stream build
Otto Moerbeek [Tue, 13 Apr 2021 13:19:00 +0000 (15:19 +0200)]
Merge pull request #10288 from omoerbeek/rec-deprecate-settings
rec: Stop using potentially offensive names internally and warn about deprecated settings.
Otto [Tue, 13 Apr 2021 13:16:09 +0000 (15:16 +0200)]
Exception loading the RPZ seedfile is not fatal.
Catch PDNSException and clear on failure.
Peter van Dijk [Fri, 9 Apr 2021 12:25:07 +0000 (14:25 +0200)]
narrower wildcard for matching centos stream
Peter van Dijk [Fri, 5 Mar 2021 10:34:20 +0000 (11:34 +0100)]
gh actions: add centos-8-stream build
Peter van Dijk [Fri, 5 Mar 2021 09:31:24 +0000 (10:31 +0100)]
builder: add centos 8 stream support
Otto Moerbeek [Tue, 13 Apr 2021 10:33:25 +0000 (12:33 +0200)]
Merge pull request #10276 from omoerbeek/rec-qm-aaaa-only
rec: First check the cache for NS name to address contents for both v4 and v6
Otto [Tue, 13 Apr 2021 09:20:57 +0000 (11:20 +0200)]
Fix comments and a redundant test from review.
Otto [Tue, 13 Apr 2021 09:03:47 +0000 (11:03 +0200)]
typos
Otto [Tue, 13 Apr 2021 08:47:38 +0000 (10:47 +0200)]
Stop using potentially offensive names internally and warn about
deprecated settings.
Otto [Mon, 12 Apr 2021 07:48:59 +0000 (09:48 +0200)]
Prep for rec-4.5.0-beta2
Otto Moerbeek [Fri, 9 Apr 2021 13:04:04 +0000 (15:04 +0200)]
Merge pull request #10245 from omoerbeek/qclass
Make QClass a class, including toString() method
Peter van Dijk [Fri, 9 Apr 2021 12:35:49 +0000 (14:35 +0200)]
Merge pull request #10281 from Habbie/dnsdist-getpool-docs
dnsdist docs: remove addPool; clarify that getPool creates pools
Peter van Dijk [Fri, 9 Apr 2021 12:05:16 +0000 (14:05 +0200)]
Merge pull request #10271 from Habbie/dnspcap-alignment
fix read alignment in dnspcap
Peter van Dijk [Fri, 9 Apr 2021 11:23:24 +0000 (13:23 +0200)]
Merge pull request #10234 from Habbie/qtype-names-csync
qtypes: check type registration; add CSYNC
Peter van Dijk [Fri, 9 Apr 2021 11:17:50 +0000 (13:17 +0200)]
Merge pull request #10171 from Habbie/lua-array-next
lua: don't destroy keys during table iteration
Peter van Dijk [Fri, 9 Apr 2021 10:45:30 +0000 (12:45 +0200)]
dnsdist docs: mention the default pool in a few places
Peter van Dijk [Fri, 9 Apr 2021 10:37:17 +0000 (12:37 +0200)]
dnsdist docs: remove addPool; clarify that getPool creates pools