]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
3 years agoCI: skip auth and rec 11284/head
Peter van Dijk [Wed, 2 Feb 2022 10:21:48 +0000 (11:21 +0100)] 
CI: skip auth and rec

3 years agoMerge pull request #10743 from rgacogne/ddist16-duplicate-id-on-tcp-conn
Remi Gacogne [Wed, 22 Sep 2021 07:55:23 +0000 (09:55 +0200)] 
Merge pull request #10743 from rgacogne/ddist16-duplicate-id-on-tcp-conn

dnsdist-1.6.x: Don't increase the outstanding counter on a duplicated ID over TCP

3 years agoMerge pull request #10746 from rgacogne/ddist16-modernize-ax_check_sign
Remi Gacogne [Wed, 22 Sep 2021 07:54:34 +0000 (09:54 +0200)] 
Merge pull request #10746 from rgacogne/ddist16-modernize-ax_check_sign

dnsdist-1.6.x: Update AX_CHECK_SIGN for autoconf 2.71

3 years agoUpdate AX_CHECK_SIGN for autoconf 2.71 10746/head
Pieter Lexis [Wed, 26 May 2021 12:24:17 +0000 (14:24 +0200)] 
Update AX_CHECK_SIGN for autoconf 2.71

When running autoreconf with ax_check_sign.m4, autoconf 2.71 complains
about the use of `AX_TRY_COMPILE`:

```
libtoolize: copying file 'm4/lt~obsolete.m4'
configure.ac:29: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:29: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
m4/ax_check_sign.m4:41: AX_CHECK_SIGN is expanded from...
m4/pdns_check_time_t.m4:1: PDNS_CHECK_TIME_T is expanded from...
configure.ac:29: the top level
```

This updates the macro to use `AC_COMPILE_IFELSE`, which has been present in
autoconf since at least version 2.60, released in 26 Jun 2006 (I did not
check any older releases).

This patch has been [submitted](http://savannah.gnu.org/patch/index.php?10071) [upstream](https://github.com/autoconf-archive/autoconf-archive/pull/225).

(cherry picked from commit 5e180ac61a7e73dc7681a2d34e6faf6908f14f6d)

3 years agodnsdist-1.6.x: Don't increase the outstanding counter on a duplicated ID over TCP 10743/head
Remi Gacogne [Tue, 21 Sep 2021 10:30:52 +0000 (12:30 +0200)] 
dnsdist-1.6.x: Don't increase the outstanding counter on a duplicated ID over TCP

If the client has sent more than one concurrent query using the same query ID,
we only send one response for all of these queries, and we should not mess up
our outstanding queries counter.

3 years agoMerge pull request #10706 from rgacogne/ddist16-outstanding-tcp dnsdist-1.6.1
Remi Gacogne [Mon, 13 Sep 2021 07:37:55 +0000 (09:37 +0200)] 
Merge pull request #10706 from rgacogne/ddist16-outstanding-tcp

dnsdist-1.6.x: Fix outstanding counter issue

3 years agodnsdist-1.6.x: Fix outstanding counter issue 10706/head
Remi Gacogne [Thu, 9 Sep 2021 09:51:00 +0000 (11:51 +0200)] 
dnsdist-1.6.x: Fix outstanding counter issue

When the client closes the TCP connection while we are still waiting
for the backend to send at least one response, and the backend connection
then terminates anormally, we could have not properly reset the outstanding
counter of that backend.

3 years agoMerge pull request #10696 from rgacogne/ddist161-backports
Remi Gacogne [Wed, 8 Sep 2021 07:39:10 +0000 (09:39 +0200)] 
Merge pull request #10696 from rgacogne/ddist161-backports

dnsdist-1.6.x: Backport  #10656, #10560, #10550 and #10389

3 years agodnsdist: Cache based on the DNS flags of the query after applying the rules 10696/head
Remi Gacogne [Tue, 24 Aug 2021 09:23:54 +0000 (11:23 +0200)] 
dnsdist: Cache based on the DNS flags of the query after applying the rules

The tentative fix in dbadb4d272a3317407e6bc934f55c2d41a87c0ac actually
introduced an issue, because the backend might not perfectly echo the
RD and CD flags as they were in the query.
We can't use the "original" (before applying rules) flags either, so
we need to store the flags as they were sent to the backend to be
able to correctly store them in the cache.

(cherry picked from commit 29d9661fe21a2c4e96f94db1735629363dc07b2e)

3 years agodnsdist: Avoid arithmetic on bitfields, as suggested by Otto
Remi Gacogne [Tue, 17 Aug 2021 07:32:40 +0000 (09:32 +0200)] 
dnsdist: Avoid arithmetic on bitfields, as suggested by Otto

(cherry picked from commit 4ee23e0b6e262d85cfba6f03a3be8f69bb9f9ba7)

3 years agodnsdist: Fix the wrong RD and CD flags being cached, causing misses
Remi Gacogne [Mon, 16 Aug 2021 10:51:15 +0000 (12:51 +0200)] 
dnsdist: Fix the wrong RD and CD flags being cached, causing misses

We used to restore the RD and CD flags from the initial query before
inserting the response into the cache. That would cause an issue
if the flags had been altered, for example via SetNoRecurseAction,
as the cache lookup is done _after_ the actions have been applied
and thus after the flags altered.
If the initial query had the RD bit set, and thus was cleared by the
rule, the response would have been inserted with the RD bit restored,
and no lookup would then succeed because it would be done with the
bit cleared.
This commit fixes the insertion to use the RD and CD bits as set in
the response before restoring them, and restores the RD and CD bits
after a cache hit as well, to ensure that:
- cache lookups are done after the rules are applied
- cache insertions are done before the flags are restored

(cherry picked from commit dbadb4d272a3317407e6bc934f55c2d41a87c0ac)

3 years ago.dockerignore: do not ignore .git
Peter van Dijk [Tue, 11 May 2021 10:27:33 +0000 (12:27 +0200)] 
.dockerignore: do not ignore .git

because we ignore **/*.1 to not drag built manpages into the docker
context - but this also prevents any tags ending in .1 (like rec-4.5.1)
from being built

(cherry picked from commit 593361fb601d8529f6ffa6c0a70e971df1ebd44e)

3 years agodnsdist: Add the missing DOHFronted::loadNewCertificatesAndKeys()
Remi Gacogne [Thu, 1 Jul 2021 11:54:29 +0000 (13:54 +0200)] 
dnsdist: Add the missing DOHFronted::loadNewCertificatesAndKeys()

(cherry picked from commit 00a1ad50d9bf0f1e27656199a68e0ecc09309828)

3 years agodnsdist: Implement a web endpoint to get metrics for only one pool
Remi Gacogne [Fri, 2 Jul 2021 14:48:19 +0000 (16:48 +0200)] 
dnsdist: Implement a web endpoint to get metrics for only one pool

(cherry picked from commit bc6e4c3a10612648ed7017b7f5eefc6bf29492ad)

3 years agodnsdist: Catch FDMultiplexerException in IOStateHandler's destructor
Remi Gacogne [Fri, 20 Aug 2021 09:42:17 +0000 (11:42 +0200)] 
dnsdist: Catch FDMultiplexerException in IOStateHandler's destructor

(cherry picked from commit b5f7d5894b3f247108141e066ce656f262c74c88)

3 years agoMerge pull request #10682 from pieterlexis/backport-10407-to-dnsdist-1.6.x
Pieter Lexis [Fri, 3 Sep 2021 12:36:07 +0000 (14:36 +0200)] 
Merge pull request #10682 from pieterlexis/backport-10407-to-dnsdist-1.6.x

dnsdist: Backport #10407; Debian Bullseye builder files

3 years agorecursor/debian-buster: remove obsolete dh-systemd Build-Depends 10682/head
Chris Hofstaedtler [Thu, 13 May 2021 14:58:37 +0000 (16:58 +0200)] 
recursor/debian-buster: remove obsolete dh-systemd Build-Depends

Merged into debhelper (>= 9.20160709)

(cherry picked from commit 58f41c5e304caf847c52a0951c2a5a4b9f6c02fb)

3 years agobuilder-support: add Debian bullseye dockerfiles
Chris Hofstaedtler [Thu, 13 May 2021 14:50:03 +0000 (16:50 +0200)] 
builder-support: add Debian bullseye dockerfiles

(cherry picked from commit ad53d76110228c6d0822b1b130e0bbe425872499)

4 years agoMerge pull request #10619 from rgacogne/ddist16-fix-edns-notify
Remi Gacogne [Sun, 1 Aug 2021 15:19:45 +0000 (17:19 +0200)] 
Merge pull request #10619 from rgacogne/ddist16-fix-edns-notify

dnsdist-1.6.x: Properly handle ECS for queries with ancount or nscount > 0

4 years agodnsdist: Properly handle ECS for queries with ancount or nscount > 0 10619/head
Remi Gacogne [Mon, 17 May 2021 13:39:46 +0000 (15:39 +0200)] 
dnsdist: Properly handle ECS for queries with ancount or nscount > 0

(cherry picked from commit 7bd50190ccb39019a2c733b722bdeb958d749065)

4 years agoMerge pull request #10574 from Habbie/backport-10455-to-dnsdist-1.6.x
Remi Gacogne [Wed, 7 Jul 2021 12:01:59 +0000 (14:01 +0200)] 
Merge pull request #10574 from Habbie/backport-10455-to-dnsdist-1.6.x

builder rpmbuild: run yum upgrade first

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

(cherry picked from commit 912729cf22c5303fa4e0136a639132ca940a186f)

4 years agoMerge pull request #10538 from rgacogne/ddist16-dnstap-protocol
Remi Gacogne [Wed, 7 Jul 2021 10:08:26 +0000 (12:08 +0200)] 
Merge pull request #10538 from rgacogne/ddist16-dnstap-protocol

dnsdist-1.6.x: Set the dnstap/protobuf transport to TCP for DoH queries

4 years agodnsdist: Set the dnstap/protobuf transport to TCP for DoH queries 10538/head
Remi Gacogne [Tue, 29 Jun 2021 15:17:20 +0000 (17:17 +0200)] 
dnsdist: Set the dnstap/protobuf transport to TCP for DoH queries

4 years agoMerge pull request #10438 from rgacogne/ddist16-missing-mutex-header
Remi Gacogne [Tue, 25 May 2021 13:43:27 +0000 (15:43 +0200)] 
Merge pull request #10438 from rgacogne/ddist16-missing-mutex-header

dnsdist-1.6.x: Backport a missing mutex header

4 years agodnsdist-1.6.x: Backport a missing mutex header 10438/head
Remi Gacogne [Tue, 25 May 2021 08:09:43 +0000 (10:09 +0200)] 
dnsdist-1.6.x: Backport a missing mutex header

4 years agoMerge pull request #10370 from yantarou/ixfrdist_typo dnsdist-1.6.0
Peter van Dijk [Sat, 8 May 2021 20:01:58 +0000 (22:01 +0200)] 
Merge pull request #10370 from yantarou/ixfrdist_typo

docs: fix typo in ixfrdist docs

4 years agoMerge pull request #10371 from mnordhoff/dnsdist-docs-tcaction
Pieter Lexis [Fri, 7 May 2021 12:34:02 +0000 (14:34 +0200)] 
Merge pull request #10371 from mnordhoff/dnsdist-docs-tcaction

dnsdist docs: switch RA and RD

4 years agodnsdist docs: switch RA and RD 10371/head
Matt Nordhoff [Fri, 7 May 2021 10:55:31 +0000 (10:55 +0000)] 
dnsdist docs: switch RA and RD

4 years agodocs: fix typo in ixfrdist docs 10370/head
Jan Hilberath [Fri, 7 May 2021 10:07:46 +0000 (19:07 +0900)] 
docs: fix typo in ixfrdist docs

4 years agoMerge pull request #10353 from rgacogne/rec-dns64-on-rpz-hit-after-gettag-ffi-hit
Otto Moerbeek [Thu, 6 May 2021 18:18:22 +0000 (20:18 +0200)] 
Merge pull request #10353 from rgacogne/rec-dns64-on-rpz-hit-after-gettag-ffi-hit

rec: Apply dns64 on RPZ hits generated after a gettag_ffi hit

4 years agoMerge pull request #10292 from omoerbeek/rec-more-tsan
Otto Moerbeek [Thu, 6 May 2021 18:17:24 +0000 (20:17 +0200)] 
Merge pull request #10292 from omoerbeek/rec-more-tsan

rec: Fix TSAN complaints: max stacksize and response stats size counters

4 years agoMerge pull request #10361 from dmachard/auth-timeout-luarecords
Peter van Dijk [Thu, 6 May 2021 13:51:23 +0000 (15:51 +0200)] 
Merge pull request #10361 from dmachard/auth-timeout-luarecords

auth: change default timeout to 2s for lua records

4 years agoMerge pull request #10362 from Habbie/dnsdist-docs-tcaction
Remi Gacogne [Thu, 6 May 2021 08:10:12 +0000 (10:10 +0200)] 
Merge pull request #10362 from Habbie/dnsdist-docs-tcaction

dnsdist docs: correct bits for TCAction

4 years agodnsdist docs: correct bits for TCAction 10362/head
Peter van Dijk [Thu, 6 May 2021 04:13:22 +0000 (06:13 +0200)] 
dnsdist docs: correct bits for TCAction

4 years agochange default timeout to 2s for lua records 10361/head
dmachard [Wed, 5 May 2021 16:51:50 +0000 (18:51 +0200)] 
change default timeout to 2s for lua records

4 years agorec: Test the most simple condition first 10353/head
Remi Gacogne [Tue, 4 May 2021 16:30:47 +0000 (18:30 +0200)] 
rec: Test the most simple condition first

Co-authored-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
4 years agorec: Add a regression test for gettag_ffi, RPZ and DNS64 interaction
Remi Gacogne [Tue, 4 May 2021 12:56:40 +0000 (14:56 +0200)] 
rec: Add a regression test for gettag_ffi, RPZ and DNS64 interaction

4 years agorec: Apply dns64 on RPZ hits generated after a gettag_ffi hit
Remi Gacogne [Tue, 4 May 2021 10:29:32 +0000 (12:29 +0200)] 
rec: Apply dns64 on RPZ hits generated after a gettag_ffi hit

We do special case the qname RPZ processing after a gettag_ffi hit,
leading to dns64 to not be applied in that case. This commit adds
dns64 handling to the special case.

4 years agoMerge pull request #10347 from rgacogne/ddist-16rc2-changelog
Remi Gacogne [Tue, 4 May 2021 08:15:02 +0000 (10:15 +0200)] 
Merge pull request #10347 from rgacogne/ddist-16rc2-changelog

dnsdist: Add ChangeLog and secpoll for 1.6.0-rc2

4 years agoMerge pull request #10346 from rgacogne/ddist-dnscrypt-locks dnsdist-1.6.0-rc2
Remi Gacogne [Mon, 3 May 2021 14:37:12 +0000 (16:37 +0200)] 
Merge pull request #10346 from rgacogne/ddist-dnscrypt-locks

dnsdist: Fix missing locks in DNSCrypt certificates management

4 years agodnsdist: Add ChangeLog and secpoll for 1.6.0-rc2 10347/head
Remi Gacogne [Mon, 3 May 2021 09:23:46 +0000 (11:23 +0200)] 
dnsdist: Add ChangeLog and secpoll for 1.6.0-rc2

4 years agodnsdist: Fix missing locks in DNSCrypt certificates management 10346/head
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.

4 years agoMerge pull request #10293 from Habbie/update-builder
Pieter Lexis [Mon, 3 May 2021 07:51:21 +0000 (09:51 +0200)] 
Merge pull request #10293 from Habbie/update-builder

update builder - i accidentally downgraded it in 4f57dec4a7f1b94c6da4c0d3fdfecf73781bbcb2

4 years agoMerge pull request #10327 from rgacogne/ddist-dynblocks-ebpf
Remi Gacogne [Mon, 3 May 2021 07:48:58 +0000 (09:48 +0200)] 
Merge pull request #10327 from rgacogne/ddist-dynblocks-ebpf

dnsdist: Only use eBPF for "drop" actions, clean up more often

4 years agoMerge pull request #10344 from omoerbeek/boostm4-clang11.1
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

4 years agoMerge pull request #10343 from omoerbeek/dnsdist-test-warnings
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

4 years agoFix a few signed vs unsigned warnings as seen on OpenBSD 10343/head
Otto [Fri, 30 Apr 2021 13:58:26 +0000 (15:58 +0200)] 
Fix a few signed vs unsigned warnings as seen on OpenBSD

4 years agoclang 11.1 is a thing 10344/head
Otto [Fri, 30 Apr 2021 13:45:44 +0000 (15:45 +0200)] 
clang 11.1 is a thing

4 years agoMerge pull request #10336 from rgacogne/cpp17-string-view
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

4 years agoMerge pull request #10339 from phonedph1/patch-28
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

4 years agoRemove the now empty views.hh header 10336/head
Remi Gacogne [Thu, 29 Apr 2021 16:39:12 +0000 (18:39 +0200)] 
Remove the now empty views.hh header

4 years agoUpdate hooks.rst 10339/head
phonedph1 [Thu, 29 Apr 2021 02:17:56 +0000 (20:17 -0600)] 
Update hooks.rst

4 years agoMerge pull request #10337 from omoerbeek/rec-prep-4.5.0-rc1
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

4 years agoMerge pull request #10259 from Habbie/spgsql-drop-refcursor-support
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

4 years agoPrep for rec-4.5.0-rc1 10337/head
Otto [Mon, 26 Apr 2021 09:35:36 +0000 (11:35 +0200)] 
Prep for rec-4.5.0-rc1

4 years agoMerge pull request #10329 from Habbie/boost-container-exceptions
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

4 years agoGet rid of our string_view selection process, C++17 has all we need
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

4 years agoboost 1.76 containers: use standard exceptions 10329/head
Peter van Dijk [Fri, 23 Apr 2021 13:40:43 +0000 (15:40 +0200)] 
boost 1.76 containers: use standard exceptions

4 years agodnsdist: Only use eBPF for "drop" actions 10327/head
Remi Gacogne [Thu, 22 Apr 2021 08:38:43 +0000 (10:38 +0200)] 
dnsdist: Only use eBPF for "drop" actions

4 years agodnsdist: Document that eBPF is only used for "drop" actions
Remi Gacogne [Thu, 22 Apr 2021 08:15:54 +0000 (10:15 +0200)] 
dnsdist: Document that eBPF is only used for "drop" actions

4 years agodnsdist: Set setDynBlocksPurgeInterval()'s default to 60s
Remi Gacogne [Thu, 22 Apr 2021 08:13:32 +0000 (10:13 +0200)] 
dnsdist: Set setDynBlocksPurgeInterval()'s default to 60s

4 years agoMerge pull request #10323 from rgacogne/ddist-tsan-snmp
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

4 years agoMerge pull request #10310 from rgacogne/fix-simple-match
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

4 years agodnsdist: Make the backend queryLoad and dropRate values atomic 10323/head
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)

4 years agoMerge pull request #10312 from omoerbeek/rec-pc-sizing
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.

4 years agotypo 10312/head
Otto Moerbeek [Wed, 21 Apr 2021 09:01:56 +0000 (11:01 +0200)] 
typo

Co-authored-by: Remi Gacogne <github@coredump.fr>
4 years agoMerge pull request #10311 from rgacogne/ddist-newserver-sockets-doc
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

4 years agoMerge pull request #10322 from rubenk/typos
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

4 years agoFix two typos in lua scripting docs 10322/head
Ruben Kerkhof [Tue, 20 Apr 2021 17:39:07 +0000 (19:39 +0200)] 
Fix two typos in lua scripting docs

4 years agoMerge pull request #10318 from mnordhoff/toclients
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

4 years agorec: Fix typo in edns-padding-tag help 10318/head
Matt Nordhoff [Tue, 20 Apr 2021 13:41:42 +0000 (13:41 +0000)] 
rec: Fix typo in edns-padding-tag help

4 years agoMerge pull request #10317 from omoerbeek/rec-export-hosts
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.

4 years agoAlso check query type 10317/head
Otto [Tue, 20 Apr 2021 11:52:38 +0000 (13:52 +0200)] 
Also check query type

4 years agoAdd test case
Otto [Tue, 20 Apr 2021 11:32:26 +0000 (13:32 +0200)] 
Add test case

4 years agoDo not put results of DS query for auth or forward domains in negcache.
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.

4 years agoMerge pull request #10309 from rgacogne/ddist-16rc1-changelog
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

4 years agoMerge pull request #10303 from rgacogne/rec-proxy-protocol-ecs
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

4 years agoImprove packet cache sizing.
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).

4 years agodnsdist: Better documentation of newServer's 'sockets' parameter 10311/head
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!).

4 years agodnsdist: Add missing #10171 to the ChangeLog 10309/head
Remi Gacogne [Mon, 19 Apr 2021 12:14:45 +0000 (14:14 +0200)] 
dnsdist: Add missing #10171 to the ChangeLog

4 years agorec: Fix the proxy protocol regression tests 10303/head
Remi Gacogne [Mon, 19 Apr 2021 12:06:26 +0000 (14:06 +0200)] 
rec: Fix the proxy protocol regression tests

4 years agodnsdist: Add ChangeLog and secpoll for 1.6.0-rc1
Remi Gacogne [Mon, 19 Apr 2021 11:59:53 +0000 (13:59 +0200)] 
dnsdist: Add ChangeLog and secpoll for 1.6.0-rc1

4 years agoMerge pull request #10286 from Habbie/rpz-zz-zz
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

4 years agoauth: Small cleanup in SimpleMatch 10310/head
Remi Gacogne [Mon, 19 Apr 2021 10:28:55 +0000 (12:28 +0200)] 
auth: Small cleanup in SimpleMatch

4 years agoauth: Prevent dereferencing std::string::end() 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;
```

4 years agorec: Replace deprecated edns-subnet-whitelist with edns-subnet-allow-list
Remi Gacogne [Mon, 19 Apr 2021 09:15:43 +0000 (11:15 +0200)] 
rec: Replace deprecated edns-subnet-whitelist with edns-subnet-allow-list

4 years agorec: Add regression tests for Proxy Protocol / ECS interaction
Remi Gacogne [Mon, 19 Apr 2021 09:13:47 +0000 (11:13 +0200)] 
rec: Add regression tests for Proxy Protocol / ECS interaction

4 years agorec: Use the correct ECS address when proxy-protocol is enabled
Remi Gacogne [Mon, 19 Apr 2021 08:09:40 +0000 (10:09 +0200)] 
rec: Use the correct ECS address when proxy-protocol is enabled

4 years agoMerge pull request #2 from rgacogne/rec-more-tsan 10292/head
Otto Moerbeek [Fri, 16 Apr 2021 14:28:01 +0000 (16:28 +0200)] 
Merge pull request #2 from rgacogne/rec-more-tsan

Constify response stats and histogram methods

4 years agoMerge pull request #10298 from phonedph1/patch-26 dnsdist-1.6.0-rc1
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

4 years agoMerge pull request #10274 from rgacogne/ddist-tsan-fixes
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

4 years agoMerge pull request #10301 from Habbie/rec-docs-faq-bufsize-bis
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

4 years agoMerge pull request #10300 from omoerbeek/rec-docs-thruth
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

4 years agotwo more comments from Otto on this text 10301/head
Peter van Dijk [Fri, 16 Apr 2021 09:15:14 +0000 (11:15 +0200)] 
two more comments from Otto on this text

4 years agoMerge pull request #10296 from Habbie/rec-docs-faq-bufsize
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

4 years agoescape * 10300/head
Otto Moerbeek [Fri, 16 Apr 2021 08:50:51 +0000 (10:50 +0200)] 
escape *

4 years agoMerge pull request #10299 from phonedph1/patch-27
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

4 years agoAvoid lines counts and be more honest: rec is a big and complex piece
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.

4 years agodnsdist: Fix a typo in the TSAN suppressions file 10274/head
Remi Gacogne [Thu, 15 Apr 2021 10:21:00 +0000 (12:21 +0200)] 
dnsdist: Fix a typo in the TSAN suppressions file