]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
2 years agoauth 4.8: EOL update 12889/head
Peter van Dijk [Mon, 5 Jun 2023 14:34:15 +0000 (16:34 +0200)] 
auth 4.8: EOL update

2 years agoMerge pull request #12875 from Habbie/upgrade-notes-46-47-master
Peter van Dijk [Thu, 1 Jun 2023 16:28:17 +0000 (18:28 +0200)] 
Merge pull request #12875 from Habbie/upgrade-notes-46-47-master

auth upgrading: fix 4.6/4.7 header; update LMDB text

2 years agoMerge pull request #12856 from romeroalx/enable-ipv6-actions-container
romeroalx [Thu, 1 Jun 2023 14:57:59 +0000 (16:57 +0200)] 
Merge pull request #12856 from romeroalx/enable-ipv6-actions-container

Enable ipv6 for actions running on docker containers

2 years agoauth upgrading: fix 4.6/4.7 header; update LMDB text 12875/head
Peter van Dijk [Thu, 1 Jun 2023 12:03:58 +0000 (14:03 +0200)] 
auth upgrading: fix 4.6/4.7 header; update LMDB text

2 years agoMerge pull request #12874 from Habbie/auth-4.8.0-docs-secpoll
Peter van Dijk [Thu, 1 Jun 2023 11:16:54 +0000 (13:16 +0200)] 
Merge pull request #12874 from Habbie/auth-4.8.0-docs-secpoll

auth-4.8.0: docs and secpoll

2 years agoauth-4.8.0: docs and secpoll 12874/head
Peter van Dijk [Thu, 1 Jun 2023 11:04:59 +0000 (13:04 +0200)] 
auth-4.8.0: docs and secpoll

2 years agoMerge pull request #12873 from aerique/feature/add-bookwork-to-repo-test-script
aerique [Thu, 1 Jun 2023 10:56:12 +0000 (12:56 +0200)] 
Merge pull request #12873 from aerique/feature/add-bookwork-to-repo-test-script

Add Bookworm to repo test script.

2 years agoAdd Bookworm to repo test script. 12873/head
Erik Winkels [Thu, 1 Jun 2023 09:41:23 +0000 (11:41 +0200)] 
Add Bookworm to repo test script.

Add Debian Bookworm for `auth-master` & `auth-48` to repo test script.

2 years agoMerge pull request #12866 from Habbie/auth-lmdb-dup-delete
Peter van Dijk [Wed, 31 May 2023 21:14:54 +0000 (23:14 +0200)] 
Merge pull request #12866 from Habbie/auth-lmdb-dup-delete

auth lmdb: delete duplicate domain entries in deleteDomain

2 years agoMerge pull request #12860 from Habbie/auth-ent-wildcard
Peter van Dijk [Wed, 31 May 2023 11:54:11 +0000 (13:54 +0200)] 
Merge pull request #12860 from Habbie/auth-ent-wildcard

auth: do not answer with broken TYPE0 data when expanding an ENT wildcard

2 years agoMerge pull request #12859 from Habbie/pdnsutil-edit-zone-wrong-key
Peter van Dijk [Wed, 31 May 2023 11:53:52 +0000 (13:53 +0200)] 
Merge pull request #12859 from Habbie/pdnsutil-edit-zone-wrong-key

pdnsutil: if user pushes unknown key in response to "problem with zone" prompt, do not throw away their changes

2 years agoauth: do not answer with broken TYPE0 data when expanding an ENT wildcard 12860/head
Peter van Dijk [Sun, 28 May 2023 21:05:35 +0000 (23:05 +0200)] 
auth: do not answer with broken TYPE0 data when expanding an ENT wildcard

2 years agodocument shards=1 enforcement 12866/head
Peter van Dijk [Wed, 31 May 2023 08:33:56 +0000 (10:33 +0200)] 
document shards=1 enforcement

2 years agoformat
Peter van Dijk [Wed, 31 May 2023 08:33:48 +0000 (10:33 +0200)] 
format

2 years agosimplify
Peter van Dijk [Wed, 31 May 2023 08:25:12 +0000 (10:25 +0200)] 
simplify

2 years agoMerge pull request #12862 from omoerbeek/rec-recursion-bound rec-4.9.0-beta1
Otto Moerbeek [Wed, 31 May 2023 07:52:37 +0000 (09:52 +0200)] 
Merge pull request #12862 from omoerbeek/rec-recursion-bound

rec: bound maximum recursion depth to 16.

2 years agoMerge pull request #12861 from omoerbeek/rec-no-refresh
Otto Moerbeek [Wed, 31 May 2023 07:52:22 +0000 (09:52 +0200)] 
Merge pull request #12861 from omoerbeek/rec-no-refresh

rec: Introduce a way to completely disable root-refresh

2 years agouse d_transactiondomain[id]
Peter van Dijk [Wed, 31 May 2023 07:34:02 +0000 (09:34 +0200)] 
use d_transactiondomain[id]

2 years agoUpdate modules/lmdbbackend/lmdbbackend.cc
Peter van Dijk [Wed, 31 May 2023 07:27:48 +0000 (09:27 +0200)] 
Update modules/lmdbbackend/lmdbbackend.cc

Co-authored-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 years agoonly throw when idvec is empty
Peter van Dijk [Wed, 31 May 2023 07:25:26 +0000 (09:25 +0200)] 
only throw when idvec is empty

2 years agoMerge pull request #12673 from omoerbeek/rec-origttl
Otto Moerbeek [Wed, 31 May 2023 06:39:36 +0000 (08:39 +0200)] 
Merge pull request #12673 from omoerbeek/rec-origttl

rec: Sanitize d_orig_ttl stored in record cache

2 years agoauth lmdb: enforce shards=1 when running in lightning-stream mode
Peter van Dijk [Tue, 30 May 2023 16:50:47 +0000 (18:50 +0200)] 
auth lmdb: enforce shards=1 when running in lightning-stream mode

2 years agoauth lmdb: delete duplicate domain entries in deleteDomain
Peter van Dijk [Tue, 30 May 2023 15:03:47 +0000 (17:03 +0200)] 
auth lmdb: delete duplicate domain entries in deleteDomain

2 years agoAdd the d_orig_ttl sanitization back, there still is a case where 12673/head
Otto Moerbeek [Tue, 30 May 2023 14:02:15 +0000 (16:02 +0200)] 
Add the d_orig_ttl sanitization back, there still is a case where
it can wrap (which I'm unable to spot right now).

2 years agoMerge pull request #12863 from omoerbeek/rec-val-log-typo
Otto Moerbeek [Tue, 30 May 2023 13:04:16 +0000 (15:04 +0200)] 
Merge pull request #12863 from omoerbeek/rec-val-log-typo

rec: fix typo in trace message

2 years agoMerge pull request #12838 from omoerbeek/delint-rec-tcp
Otto Moerbeek [Tue, 30 May 2023 13:03:58 +0000 (15:03 +0200)] 
Merge pull request #12838 from omoerbeek/delint-rec-tcp

Delint rec-tcp.cc

2 years agoMerge pull request #12837 from omoerbeek/nolint-validate
Otto Moerbeek [Tue, 30 May 2023 13:03:35 +0000 (15:03 +0200)] 
Merge pull request #12837 from omoerbeek/nolint-validate

Delint validate.cc and related files

2 years agoMerge pull request #12836 from omoerbeek/rec-main-delint-followup
Otto Moerbeek [Tue, 30 May 2023 13:03:06 +0000 (15:03 +0200)] 
Merge pull request #12836 from omoerbeek/rec-main-delint-followup

rec: Full delint rec-main.cc

2 years agoFix root-priming test, which now depends on a arg being set. 12861/head
Otto Moerbeek [Tue, 30 May 2023 08:39:10 +0000 (10:39 +0200)] 
Fix root-priming test, which now depends on a arg being set.

2 years agorec: fix typo in trace message 12863/head
Otto Moerbeek [Tue, 30 May 2023 08:31:32 +0000 (10:31 +0200)] 
rec: fix typo in trace message

2 years agorec: bound maximum recursion depth to 16. 12862/head
Otto Moerbeek [Tue, 30 May 2023 08:16:52 +0000 (10:16 +0200)] 
rec: bound maximum recursion depth to 16.

Before #12779, the fixed limit on CNAME chain length (16) effectively
worked as recursion depth limit.

2 years agorec: Introduce a way to completely disable root-refresh
Otto Moerbeek [Tue, 30 May 2023 07:57:13 +0000 (09:57 +0200)] 
rec: Introduce a way to completely disable root-refresh

2 years agopdnsutil: if user pushes unknown key in response to "problem with zone" prompt, do... 12859/head
Peter van Dijk [Sun, 28 May 2023 20:39:33 +0000 (22:39 +0200)] 
pdnsutil: if user pushes unknown key in response to "problem with zone" prompt, do not throw away their changes

2 years agogh actions: enable ipv6 in docker containers 12856/head
Alexis Romero [Fri, 26 May 2023 13:51:46 +0000 (15:51 +0200)] 
gh actions: enable ipv6 in docker containers

2 years agoMerge pull request #12726 from rgacogne/ddist-wait-reconnect
Remi Gacogne [Thu, 18 May 2023 11:30:26 +0000 (13:30 +0200)] 
Merge pull request #12726 from rgacogne/ddist-wait-reconnect

dnsdist: Properly handle reconnection failure for backend UDP sockets

2 years agoMerge pull request #12819 from rgacogne/ddist-reuseaddr-udp
Remi Gacogne [Thu, 18 May 2023 11:29:47 +0000 (13:29 +0200)] 
Merge pull request #12819 from rgacogne/ddist-reuseaddr-udp

dnsdist: Stop setting SO_REUSEADDR on outgoing UDP client sockets

2 years agoTweaks 12838/head
Otto Moerbeek [Wed, 17 May 2023 12:16:05 +0000 (14:16 +0200)] 
Tweaks

2 years agoReformat
Otto Moerbeek [Wed, 17 May 2023 12:06:17 +0000 (14:06 +0200)] 
Reformat

2 years agoDelint rec-tcp.cc
Otto Moerbeek [Wed, 17 May 2023 10:54:01 +0000 (12:54 +0200)] 
Delint rec-tcp.cc

2 years agoDelint validate.cc and related files 12837/head
Otto Moerbeek [Wed, 17 May 2023 10:22:18 +0000 (12:22 +0200)] 
Delint validate.cc and related files

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

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

2 years agoFull delint rec-main.cc 12836/head
Otto Moerbeek [Wed, 17 May 2023 08:44:44 +0000 (10:44 +0200)] 
Full delint rec-main.cc

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

Be more specific in describing config-dir

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

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

Changing apt mirror for cifuzz base-builder image

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

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

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

I think this more clearly describes the option

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

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

2 years agodelint updateCacheFromRecords
Otto Moerbeek [Tue, 16 May 2023 11:14:37 +0000 (13:14 +0200)] 
delint updateCacheFromRecords

2 years agoRecord time the ttd was computed instead of compensating
Otto Moerbeek [Mon, 15 May 2023 13:48:46 +0000 (15:48 +0200)] 
Record time the ttd was computed instead of compensating

2 years agoAlternate approach: remmeber the actual orig_ttl. A bit harded than you think, as
Otto Moerbeek [Wed, 22 Mar 2023 13:05:40 +0000 (14:05 +0100)] 
Alternate approach: remmeber the actual orig_ttl. A bit harded than you think, as
in somce cases TTDs are modified later.

2 years agoSanitize d_orig_ttl
Otto Moerbeek [Thu, 16 Mar 2023 15:08:56 +0000 (16:08 +0100)] 
Sanitize d_orig_ttl

The computed orig_ttl can be wrong if d_now.tv_sec is more recent
than the d_now.tv_sec the ttd was computed from. This can happen
if we went out to get e.g. keys and that took time. d_orig_ttl wraps
around in that case if the TTL value was smaller than that delay.
Work around that and make sure d_orig_ttl is within the legal range.

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

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

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

secpoll check: use preferred ubuntu mirror

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

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

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

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

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

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

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

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

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

Followup to #12790

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

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

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

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

rec: Distinguish between recursion depth and cname length

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

clang-tidy: Increase the cognitive complexity threshold to 75

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

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

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

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

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

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

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

rec: delint rec-main.cc wrt high complexity

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

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

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

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

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

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

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

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

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

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

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

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

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

2 years agodnsdist: Add a TSAN suppression for the backend re-connection code 12726/head
Remi Gacogne [Wed, 3 May 2023 15:55:34 +0000 (17:55 +0200)] 
dnsdist: Add a TSAN suppression for the backend re-connection code

2 years agodnsdist: check that the UDP responder thread is running after reconnecting
Remi Gacogne [Wed, 3 May 2023 14:37:36 +0000 (16:37 +0200)] 
dnsdist: check that the UDP responder thread is running after reconnecting

2 years agodnsdist: Only log failed backend connection attempt at info on first try
Remi Gacogne [Wed, 3 May 2023 14:36:29 +0000 (16:36 +0200)] 
dnsdist: Only log failed backend connection attempt at info on first try

2 years agodnsdist: Properly handle reconnection failure for backend UDP sockets
Remi Gacogne [Wed, 5 Apr 2023 20:17:23 +0000 (22:17 +0200)] 
dnsdist: Properly handle reconnection failure for backend UDP sockets

We try to reconnect our UDP sockets toward backends on some kind of
network errors that indicate a topology change, but we need to be
careful to handle the case where we actually fail to reconnect, as
we end up with no remaining sockets to use.
This commit properly deals with this case by pausing the thread handling
UDP responses from the backend, instead of having it enter a busy loop,
and by attempting to reconnect if we get a `bad file number` error when
trying to send a UDP datagram to the backend.

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

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

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

docs: update GPG keyblock link

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fix the `clang-tidy` jobs failing

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

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

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

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