]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
20 months agoMerge pull request #12334 from omoerbeek/rec-more-edns
Otto Moerbeek [Tue, 3 Jan 2023 10:20:26 +0000 (11:20 +0100)] 
Merge pull request #12334 from omoerbeek/rec-more-edns

rec: Generate EDE in more cases, specifically on unreachable auths or sythesized results.

20 months agoMake a distinction between "ordinary" negcache results and entire name results. 12334/head
Otto Moerbeek [Tue, 3 Jan 2023 08:24:05 +0000 (09:24 +0100)] 
Make a distinction between "ordinary" negcache results and entire name results.

20 months agoMerge pull request #12368 from rgacogne/rec-add-missing-exception-reason-parse-auth...
Otto Moerbeek [Mon, 2 Jan 2023 11:09:51 +0000 (12:09 +0100)] 
Merge pull request #12368 from rgacogne/rec-add-missing-exception-reason-parse-auth-packet

rec: Add the 'parse packet from auth' error message to structured logging

20 months agorec: Add the 'parse packet from auth' error message to structured logging 12368/head
Remi Gacogne [Wed, 28 Dec 2022 08:49:41 +0000 (09:49 +0100)] 
rec: Add the 'parse packet from auth' error message to structured logging

21 months agoMerge pull request #12348 from omoerbeek/rec-tcounters-dnssec
Otto Moerbeek [Fri, 23 Dec 2022 07:06:09 +0000 (08:06 +0100)] 
Merge pull request #12348 from omoerbeek/rec-tcounters-dnssec

rec: move dnssec and policy counters to TCounter object

21 months agoMerge pull request #12292 from rgacogne/minicurl-smart
Remi Gacogne [Thu, 22 Dec 2022 09:29:37 +0000 (10:29 +0100)] 
Merge pull request #12292 from rgacogne/minicurl-smart

auth, rec: Wrap the CURL raw pointers in smart pointers

21 months agoMiniCurl: Make it safe to reuse a MiniCurl object 12292/head
Remi Gacogne [Wed, 21 Dec 2022 13:50:31 +0000 (14:50 +0100)] 
MiniCurl: Make it safe to reuse a MiniCurl object

21 months agoMerge pull request #12320 from rgacogne/ddist-pkcs12-openssl3
Remi Gacogne [Wed, 21 Dec 2022 12:42:20 +0000 (13:42 +0100)] 
Merge pull request #12320 from rgacogne/ddist-pkcs12-openssl3

dnsdist: Fix loading PKCS12-encrypted (RC2 CBC) certs with OpenSSL 3.x

21 months agoMerge pull request #12329 from rgacogne/ddist-ids-overlay-rebased
Remi Gacogne [Wed, 21 Dec 2022 12:35:53 +0000 (13:35 +0100)] 
Merge pull request #12329 from rgacogne/ddist-ids-overlay-rebased

dnsdist: Turn DNSQuestion and DNSResponse into internal state overlays

21 months agoMerge pull request #12347 from omoerbeek/rec-serve-stale-methodname
Otto Moerbeek [Tue, 20 Dec 2022 12:49:10 +0000 (13:49 +0100)] 
Merge pull request #12347 from omoerbeek/rec-serve-stale-methodname

rec: Use correct logic for isEntryUsable()

21 months agoMerge pull request #10167 from rgacogne/dnsreplay-spoof-source
Remi Gacogne [Tue, 20 Dec 2022 12:33:35 +0000 (13:33 +0100)] 
Merge pull request #10167 from rgacogne/dnsreplay-spoof-source

dnsreplay: Add an option to spoof the initial source IP

21 months agoAnds move policy name hits to tcounters 12348/head
Otto Moerbeek [Mon, 19 Dec 2022 13:31:06 +0000 (14:31 +0100)] 
Ands move policy name hits to tcounters

21 months agoUse correct logic for isEntryUsable() 12347/head
Otto Moerbeek [Tue, 20 Dec 2022 11:30:54 +0000 (12:30 +0100)] 
Use correct logic for isEntryUsable()

Existing code was correct but used the wrong name for the method:
isEntryUsable() actually tested for isUnusable, but the caller
compensated for it. Reverse logic to make it more clear.

21 months agoA few tests on the new EDEs
Otto Moerbeek [Tue, 20 Dec 2022 10:42:07 +0000 (11:42 +0100)] 
A few tests on the new EDEs

21 months agoIntroduce a context object holding vState and extendedErrors
Otto Moerbeek [Fri, 16 Dec 2022 15:43:11 +0000 (16:43 +0100)] 
Introduce a context object holding vState and extendedErrors

Later, more fields that apply to a specific beginResolve call
might be added.

21 months agodnsreplay: Better error message 10167/head
Remi Gacogne [Tue, 20 Dec 2022 08:08:44 +0000 (09:08 +0100)] 
dnsreplay: Better error message

Co-authored-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
21 months agoMerge pull request #12100 from rgacogne/ddist-single-soa-ixfr
Remi Gacogne [Mon, 19 Dec 2022 15:23:33 +0000 (16:23 +0100)] 
Merge pull request #12100 from rgacogne/ddist-single-soa-ixfr

dnsdist: Properly handle single-SOA XFR responses

21 months agoMerge pull request #12127 from hlindqvist/ixfrdist-ixfr-multiple-changes
Peter van Dijk [Mon, 19 Dec 2022 15:07:10 +0000 (16:07 +0100)] 
Merge pull request #12127 from hlindqvist/ixfrdist-ixfr-multiple-changes

Fix multiple-version IXFR request handling in ixfrdist

21 months agoMerge pull request #12260 from omoerbeek/webserver-json-utf8
Otto Moerbeek [Mon, 19 Dec 2022 15:06:33 +0000 (16:06 +0100)] 
Merge pull request #12260 from omoerbeek/webserver-json-utf8

auth: Properly encode json strings containing binary data

21 months agoMerge pull request #12284 from jsoref/github-output
Peter van Dijk [Mon, 19 Dec 2022 13:08:32 +0000 (14:08 +0100)] 
Merge pull request #12284 from jsoref/github-output

Switch from set-output to GITHUB_OUTPUT

21 months agoMove DNSSEC and Policy counters to TCounter object
Otto Moerbeek [Mon, 19 Dec 2022 12:39:36 +0000 (13:39 +0100)] 
Move DNSSEC and Policy counters to TCounter object

21 months agoMerge pull request #12337 from omoerbeek/rec-tcounter-test-tweaks
Otto Moerbeek [Mon, 19 Dec 2022 10:27:53 +0000 (11:27 +0100)] 
Merge pull request #12337 from omoerbeek/rec-tcounter-test-tweaks

rec: tcounter test tweaks

21 months agoUpdate pdns/recursordist/testrunner.cc 12337/head
Otto Moerbeek [Mon, 19 Dec 2022 09:55:57 +0000 (10:55 +0100)] 
Update pdns/recursordist/testrunner.cc

Co-authored-by: Remi Gacogne <github@coredump.fr>
21 months agoSome systems have a low-resolution nanosleep(2), calling it will
Otto Moerbeek [Mon, 19 Dec 2022 08:08:14 +0000 (09:08 +0100)] 
Some systems have a low-resolution nanosleep(2), calling it will
sleep for at least a few ms. Compensate for that by running fewer
loops with longer sleeps.

Also use dns_random and make sure it is initlized properly for all tests.

21 months agoMerge pull request #12309 from omoerbeek/test-anybind
Otto Moerbeek [Sat, 17 Dec 2022 07:46:34 +0000 (08:46 +0100)] 
Merge pull request #12309 from omoerbeek/test-anybind

Test ANY bind UDP handling for the v4 case

21 months agoMerge pull request #12333 from omoerbeek/rec-sockbufsize-log
Otto Moerbeek [Fri, 16 Dec 2022 10:16:05 +0000 (11:16 +0100)] 
Merge pull request #12333 from omoerbeek/rec-sockbufsize-log

Setting socket buf size: not decreasing is not an error

21 months agoMerge pull request #12322 from mind04/auth-lmdb-tsig
Peter van Dijk [Fri, 16 Dec 2022 10:01:14 +0000 (11:01 +0100)] 
Merge pull request #12322 from mind04/auth-lmdb-tsig

auth: lmdb, fix TSIG key removal

21 months agoMerge pull request #12325 from Habbie/remove-toysdig
Peter van Dijk [Fri, 16 Dec 2022 09:53:41 +0000 (10:53 +0100)] 
Merge pull request #12325 from Habbie/remove-toysdig

remove toysdig

21 months agoReformat
Otto Moerbeek [Fri, 16 Dec 2022 08:57:49 +0000 (09:57 +0100)] 
Reformat

21 months agoGenerate EDE in more cases, specifically on unreachable auths or synthesized results.
Otto Moerbeek [Wed, 14 Dec 2022 13:06:36 +0000 (14:06 +0100)] 
Generate EDE in more cases, specifically on unreachable auths or synthesized results.

As there is no specific EDE for synthesised, use noError with a text.

We have to be careful here: a single client query can lead to
multiple beginResolve calls. Some of these are done after the main
result has been looked up, for example to validate the result. These
subsequent calls can generate EDE's but we do not want to copy the
EDE to the main result in those cases. A typical example would be
an absent DS for an Insecure domain. Nothing wrong with these but
we do not want the potential absent DS EDE (which could be synthesize)
to be returned with the main query,

To solve this, mimic the processing of validation state and add
an extra argument to a few methods.

I am not terribly happy with the extra argument. Maybe we should
move to an object holding the parameters and result status of the
nested or subsequent calls.  This would also avoid some of the saveX,
setX, beginResolve, restore X sequences.

So marking this as Draft for now.

21 months agopdnsutil and testrunner need validate.hh, which the previous commit removed from... 12325/head
Peter van Dijk [Fri, 16 Dec 2022 08:36:52 +0000 (09:36 +0100)] 
pdnsutil and testrunner need validate.hh, which the previous commit removed from dist

21 months agoFor setting socket buf size not decreasing is not an error 12333/head
Otto Moerbeek [Fri, 16 Dec 2022 08:24:44 +0000 (09:24 +0100)] 
For setting socket buf size not decreasing is not an error

21 months agoMerge pull request #12323 from omoerbeek/rec-tcounter-responsestats
Otto Moerbeek [Fri, 16 Dec 2022 07:52:30 +0000 (08:52 +0100)] 
Merge pull request #12323 from omoerbeek/rec-tcounter-responsestats

rec: make response stats a tcounter object

21 months agoMerge pull request #12327 from rgacogne/ddist-fix-tcp-only-checktimeout-ms
Remi Gacogne [Thu, 15 Dec 2022 08:39:28 +0000 (09:39 +0100)] 
Merge pull request #12327 from rgacogne/ddist-fix-tcp-only-checktimeout-ms

dnsdist: Fix the health-check timeout computation for DoH backend

21 months agodnsdist: Store the maximum UDP payload size in the internal state 12329/head
Remi Gacogne [Wed, 14 Dec 2022 16:41:29 +0000 (17:41 +0100)] 
dnsdist: Store the maximum UDP payload size in the internal state

21 months agodnsdist: Store the initial query time in the internal state as well
Remi Gacogne [Wed, 14 Dec 2022 16:29:27 +0000 (17:29 +0100)] 
dnsdist: Store the initial query time in the internal state as well

That way it is available in the response.

21 months agoMerge pull request #12328 from rgacogne/ddist-stop-responders-faster
Remi Gacogne [Wed, 14 Dec 2022 16:03:20 +0000 (17:03 +0100)] 
Merge pull request #12328 from rgacogne/ddist-stop-responders-faster

dnsdist: Stop the responders more quickly during the tests

21 months agodnsdist: Turn DNSQuestion and DNSResponse into IDState overlays
Remi Gacogne [Fri, 25 Nov 2022 16:38:07 +0000 (17:38 +0100)] 
dnsdist: Turn DNSQuestion and DNSResponse into IDState overlays

Remaining:

queryRealTime
udpPayloadSize

21 months agodnsdist: Clean up unused fieds from the IDState
Remi Gacogne [Thu, 24 Nov 2022 16:22:37 +0000 (17:22 +0100)] 
dnsdist: Clean up unused fieds from the IDState

21 months agodnsdist: Refactor the handling of responses for UDP clients
Remi Gacogne [Thu, 24 Nov 2022 16:21:48 +0000 (17:21 +0100)] 
dnsdist: Refactor the handling of responses for UDP clients

21 months agodnsdist: Add dnsdist::Protocol::isUDP()
Remi Gacogne [Thu, 24 Nov 2022 16:20:27 +0000 (17:20 +0100)] 
dnsdist: Add dnsdist::Protocol::isUDP()

21 months agodnsdist: Stop the responders more quickly during the tests 12328/head
Remi Gacogne [Wed, 14 Dec 2022 15:19:49 +0000 (16:19 +0100)] 
dnsdist: Stop the responders more quickly during the tests

We use `SO_REUSEPORT` in these tests so if the old responder is
still around when the next test starts, it is quite likely that
it might get one of the new queries. This is usually fine because
responders with a different behaviour listen on different ports,
but if a query is queued to an old responder socket right during
the time that responder is checking whether it should stop and
the actual exit, the query will be lost.

21 months agodnsdist: Fix the health-check timeout computation for DoH backend 12327/head
Remi Gacogne [Wed, 14 Dec 2022 15:10:49 +0000 (16:10 +0100)] 
dnsdist: Fix the health-check timeout computation for DoH backend

The remaining milliseconds after handling the full seconds was not
properly converted to microseconds.

21 months agoMerge pull request #12326 from omoerbeek/dnsdist-regr-wait-responders
Remi Gacogne [Wed, 14 Dec 2022 14:45:18 +0000 (15:45 +0100)] 
Merge pull request #12326 from omoerbeek/dnsdist-regr-wait-responders

dnsdist: Wait for TCP responder to become active before starting dnsdist

21 months agoremove toysdig
Peter van Dijk [Wed, 14 Dec 2022 10:29:26 +0000 (11:29 +0100)] 
remove toysdig

21 months agoWait for TCP responder to become active before starting dnsdist 12326/head
Otto Moerbeek [Wed, 14 Dec 2022 09:55:28 +0000 (10:55 +0100)] 
Wait for TCP responder to become active before starting dnsdist

21 months agorec: make response stats a tcounter object 12323/head
Otto Moerbeek [Tue, 13 Dec 2022 11:25:12 +0000 (12:25 +0100)] 
rec: make response stats a tcounter object

This allows for the packet cache hit path to record response stats without performance impact.

The qtype and rcode counters are capped, as i ran into trouble with
the thread stack sizes on macOS and OpenBSD. See the source comment
for explanation.

Closes #11534

21 months agoauth: lmdb, fix TSIG key removal 12322/head
Kees Monshouwer [Tue, 13 Dec 2022 22:25:27 +0000 (23:25 +0100)] 
auth: lmdb, fix TSIG key removal

21 months agoauth, rec: Wrap the CURL raw pointers in smart pointers
Remi Gacogne [Wed, 7 Dec 2022 13:26:33 +0000 (14:26 +0100)] 
auth, rec: Wrap the CURL raw pointers in smart pointers

21 months agodnsdist: Fix loading PKCS12-encrypted (RC2 CBC) certs with OpenSSL 3.x 12320/head
Remi Gacogne [Tue, 13 Dec 2022 14:59:28 +0000 (15:59 +0100)] 
dnsdist: Fix loading PKCS12-encrypted (RC2 CBC) certs with OpenSSL 3.x

21 months agoMerge pull request #12319 from omoerbeek/dnsdist-rlim_t
Otto Moerbeek [Tue, 13 Dec 2022 11:25:59 +0000 (12:25 +0100)] 
Merge pull request #12319 from omoerbeek/dnsdist-rlim_t

dnsdist: Use rlim_t for limit

21 months agoUse rlim_t for limit 12319/head
Otto Moerbeek [Tue, 13 Dec 2022 10:14:08 +0000 (11:14 +0100)] 
Use rlim_t for limit

21 months agoMerge pull request #12318 from omoerbeek/rec-reorg
Otto Moerbeek [Tue, 13 Dec 2022 10:12:11 +0000 (11:12 +0100)] 
Merge pull request #12318 from omoerbeek/rec-reorg

Rec reorg: move recursor specific files to recursordist

21 months agoStep 3: reformat moved files previously not formatted 12318/head
Otto Moerbeek [Tue, 13 Dec 2022 08:30:46 +0000 (09:30 +0100)] 
Step 3: reformat moved files previously not formatted

21 months agoStep 2: mv rec specific files to recursordist
Otto Moerbeek [Tue, 13 Dec 2022 08:22:42 +0000 (09:22 +0100)] 
Step 2: mv rec specific files to recursordist

21 months agoStep one: remove symlinks to rec-specific files
Otto Moerbeek [Tue, 13 Dec 2022 08:21:40 +0000 (09:21 +0100)] 
Step one: remove symlinks to rec-specific files

21 months agoMerge pull request #12193 from omoerbeek/rec-tcounters
Otto Moerbeek [Tue, 13 Dec 2022 06:36:12 +0000 (07:36 +0100)] 
Merge pull request #12193 from omoerbeek/rec-tcounters

Introducing TCounters

21 months agoMerge pull request #12317 from omoerbeek/rec-fix-freebsd
Otto Moerbeek [Tue, 13 Dec 2022 06:29:32 +0000 (07:29 +0100)] 
Merge pull request #12317 from omoerbeek/rec-fix-freebsd

rec: Fix compilation on FreeBSD

21 months agoFix compilation on FreeBSD. reported by HellSpawn 12317/head
Otto Moerbeek [Mon, 12 Dec 2022 19:03:04 +0000 (20:03 +0100)] 
Fix compilation on FreeBSD. reported by HellSpawn

21 months agoTwo Bucket fields can be const if we take care in the asssignment op. 12193/head
Otto Moerbeek [Mon, 12 Dec 2022 18:59:40 +0000 (19:59 +0100)] 
Two Bucket fields can be const if we take care in the asssignment op.

21 months agoTypo in comment
Otto Moerbeek [Mon, 12 Dec 2022 17:10:33 +0000 (18:10 +0100)] 
Typo in comment

Co-authored-by: Remi Gacogne <github@coredump.fr>
21 months agoApply suggestions from code review
Otto Moerbeek [Mon, 12 Dec 2022 17:09:48 +0000 (18:09 +0100)] 
Apply suggestions from code review

Co-authored-by: Remi Gacogne <github@coredump.fr>
21 months agoMerge pull request #12316 from rgacogne/ddist-disable-tsan-send-wrappers
Remi Gacogne [Mon, 12 Dec 2022 15:26:11 +0000 (16:26 +0100)] 
Merge pull request #12316 from rgacogne/ddist-disable-tsan-send-wrappers

dnsdist: Disable the send wrappers in our CI

21 months agodnsdist: Disable the send wrappers in our CI 12316/head
Remi Gacogne [Mon, 12 Dec 2022 14:42:57 +0000 (15:42 +0100)] 
dnsdist: Disable the send wrappers in our CI

The way the send wrappers are implemented, reading the data _after_
it has been sent, cause them to report a data race that does not
exist with existing implementations:
- we call `send()` from thread 1 to send a query to a backend, never
  touching the data or associated metadata again from that thread
- we get a response from the backend in a different thread, thread 2,
  which will then access the metadata and sometimes (truncated UDP
  answers following a DoH query) even modify the data itself
- ASAN and TSAN complain because the wrapper might still be reading
  the data after the UDP datagram has been sent, which is effectively
  a race, but it does not really make any sense for an actual
  implementation of `send()` to do that.

We work around that by disabling the `send()` wrappers in our CI,
for the dnsdist regression tests only, via `intercept_send=0`.

21 months agoMerge pull request #12308 from omoerbeek/rec-prep-4.8.0
Otto Moerbeek [Mon, 12 Dec 2022 12:39:38 +0000 (13:39 +0100)] 
Merge pull request #12308 from omoerbeek/rec-prep-4.8.0

Prep for rec-4.8.0 final release

21 months agoApply suggestions from code review
Otto Moerbeek [Mon, 12 Dec 2022 11:52:34 +0000 (12:52 +0100)] 
Apply suggestions from code review

Co-authored-by: Peter van Dijk <peter.van.dijk@powerdns.com>
21 months agoClose a race: some test immediately query metrics when a query result is received.
Otto Moerbeek [Tue, 6 Dec 2022 10:18:56 +0000 (11:18 +0100)] 
Close a race: some test immediately query metrics when a query result is received.
to avoid ordering issues, update metrics snap before answers are sent out.

21 months agoSince we now register stats in the main startup code, no need to do
Otto Moerbeek [Tue, 6 Dec 2022 09:09:41 +0000 (10:09 +0100)] 
Since we now register stats in the main startup code, no need to do
it per-thread

21 months agoIntroducing TCounters
Otto Moerbeek [Tue, 8 Nov 2022 10:10:54 +0000 (11:10 +0100)] 
Introducing TCounters

This is a mostly lockless (and not using atomics) way to keep track of
counters and other metrics.

Atomic value are more expensive than you would think (especially if
your platform has no native atomic support for your data type), and
using locking all the time for often updated counters is very
expensive as well.

The idea for `TCounters` is based on

https://github.com/ahupowerdns/mcounter

But addresses the issues raised in
https://github.com/ahupowerdns/mcounter/issues/3

Templates are used, the application has to provide a specific class to
hold the values and enums to index these values.  The application
specific class also has to provide a `merge()` method to merge two
instances of the application specific data.  For counters that is
simple: just add them. Averages (or histogrfam) requires a bit more
work. This is demonstrated in `rec-tcounters.{cc,hh}`

At the end of a body of work the application's threads should call the
`updateSnap()` function. If a certain amount of time has passed since
the last time, a thread local snapshot of the thread local data will
be created in a thread-safe way.

The class that collects the aggregated values reads (also in a thread
safe way) from the snapshot values in each thread.

Updates of individual counters are done on thread-local data,
potentially many times per second. The snaps contain a consistent set
of the values and are taken by default once per 100ms, so reletively
seldom.

By using the snap mnechanism the aggragate values computed are based
on internally consistent counter values (as long as related counters
are updated from the same thread). A (small) drawback is that the
values computed might be a bit out of date.

The snapshot approach was suggested by @wojas.

This PR de demonstrates `TCounters` for a few Recursor metrics: simple
counters and double typed average values. For the latter weights are
kept, so that the average of averages can be computed in a proper way.

21 months agoMention dnstapNODFrameStreamServer 12308/head
Otto Moerbeek [Mon, 12 Dec 2022 08:18:29 +0000 (09:18 +0100)] 
Mention dnstapNODFrameStreamServer

21 months agoMerge pull request #12315 from rgacogne/spell-check-fixes
Remi Gacogne [Mon, 12 Dec 2022 09:16:39 +0000 (10:16 +0100)] 
Merge pull request #12315 from rgacogne/spell-check-fixes

spell-check: Make the spell-checker happy

21 months agospell-check: Make the spell-checker happy 12315/head
Remi Gacogne [Mon, 12 Dec 2022 09:11:43 +0000 (10:11 +0100)] 
spell-check: Make the spell-checker happy

21 months agoMerge pull request #12311 from omoerbeek/dnsdist-docs-top
Remi Gacogne [Fri, 9 Dec 2022 15:30:43 +0000 (16:30 +0100)] 
Merge pull request #12311 from omoerbeek/dnsdist-docs-top

dnsdist: List default of top argument of topX functions

21 months agoList default of top argument of topX functions 12311/head
Otto Moerbeek [Fri, 9 Dec 2022 15:26:09 +0000 (16:26 +0100)] 
List default of top argument of topX functions

21 months agoMerge pull request #12280 from rgacogne/ddist-cache-inserted-rules
Remi Gacogne [Fri, 9 Dec 2022 14:43:33 +0000 (15:43 +0100)] 
Merge pull request #12280 from rgacogne/ddist-cache-inserted-rules

dnsdist: Add a new chain of rules triggered after cache insertion

21 months agoTest ANY bind UDP handling for the v4 case 12309/head
Otto Moerbeek [Fri, 9 Dec 2022 12:44:52 +0000 (13:44 +0100)] 
Test ANY bind UDP handling for the v4 case

v6 is more work, as the test client code assumes v4

Tested by neutering IsAnyAddress handling of auth and rec and verifying the tests fail.

Fixes #3965 (at least th v4 part).

21 months agoMerge pull request #12307 from omoerbeek/update-builder
Otto Moerbeek [Fri, 9 Dec 2022 11:03:59 +0000 (12:03 +0100)] 
Merge pull request #12307 from omoerbeek/update-builder

Update builder to work better on MacOS

21 months agoUpgrade guide additions for 4.8.0
Otto Moerbeek [Fri, 9 Dec 2022 10:57:28 +0000 (11:57 +0100)] 
Upgrade guide additions for 4.8.0

21 months agoPrep for rec-4.8.0 final release
Otto Moerbeek [Thu, 8 Dec 2022 10:02:20 +0000 (11:02 +0100)] 
Prep for rec-4.8.0 final release

21 months agoMerge pull request #12305 from Habbie/auth-docs-4.5.5-4.6.4-4.7.3
Peter van Dijk [Fri, 9 Dec 2022 10:09:57 +0000 (11:09 +0100)] 
Merge pull request #12305 from Habbie/auth-docs-4.5.5-4.6.4-4.7.3

auth 4.5..5 / 4.6.4 / 4.7.3: changelog & secpoll

21 months agoMerge pull request #12306 from rgacogne/ddist-docs-checkclass-typo
Remi Gacogne [Fri, 9 Dec 2022 09:19:17 +0000 (10:19 +0100)] 
Merge pull request #12306 from rgacogne/ddist-docs-checkclass-typo

dnsdist: Fix a typo in the Healthcheck configuration guide

21 months agoUpdate builder to work better on MacOS 12307/head
Otto Moerbeek [Fri, 9 Dec 2022 09:10:59 +0000 (10:10 +0100)] 
Update builder to work better on MacOS

21 months agodnsdist: Fix a typo in the Healthcheck configuration guide 12306/head
Remi Gacogne [Fri, 9 Dec 2022 08:47:27 +0000 (09:47 +0100)] 
dnsdist: Fix a typo in the Healthcheck configuration guide

As reported by Kai Stian Olstad (thanks!).

21 months agoMerge pull request #12297 from chbruyand/auth-ifurlup-byteslimit
Peter van Dijk [Fri, 9 Dec 2022 08:33:06 +0000 (09:33 +0100)] 
Merge pull request #12297 from chbruyand/auth-ifurlup-byteslimit

minicurl: fix missing CURLOPT_XFERINFOFUNCTION on old curl versions

21 months agoauth 4.5..5 / 4.6.4 / 4.7.3: changelog & secpoll 12305/head
Peter van Dijk [Fri, 9 Dec 2022 08:27:42 +0000 (09:27 +0100)] 
auth 4.5..5 / 4.6.4 / 4.7.3: changelog & secpoll

21 months agoMerge pull request #12302 from omoerbeek/dnsdist-docs-implicit
Otto Moerbeek [Thu, 8 Dec 2022 14:25:35 +0000 (15:25 +0100)] 
Merge pull request #12302 from omoerbeek/dnsdist-docs-implicit

dnsdist: Document what happens to a packet not handled by any action

21 months agodnsdist: Document what happens to a packet not handled by any action 12302/head
Otto Moerbeek [Thu, 8 Dec 2022 13:45:29 +0000 (14:45 +0100)] 
dnsdist: Document what happens to a packet not handled by any action

21 months agoMerge pull request #12301 from omoerbeek/rec-docs-preoutquery
Otto Moerbeek [Thu, 8 Dec 2022 12:59:41 +0000 (13:59 +0100)] 
Merge pull request #12301 from omoerbeek/rec-docs-preoutquery

rec: Document preoutquery limitations

21 months agorec: Document preoutquery limitations 12301/head
Otto Moerbeek [Thu, 8 Dec 2022 12:14:03 +0000 (13:14 +0100)] 
rec: Document preoutquery limitations

Fixes #10247

21 months agominicurl: fix missing CURLOPT_XFERINFOFUNCTION on old curl versions 12297/head
Charles-Henri Bruyand [Wed, 7 Dec 2022 14:26:15 +0000 (15:26 +0100)] 
minicurl: fix missing CURLOPT_XFERINFOFUNCTION on old curl versions

21 months agoMerge pull request #12203 from sspans/patch-3
Otto Moerbeek [Thu, 8 Dec 2022 09:42:38 +0000 (10:42 +0100)] 
Merge pull request #12203 from sspans/patch-3

rec: Allow both A and AAAA when importing /etc/hosts

21 months agodnsreplay: Check early if IP_TRANSPARENT is working when requested
Remi Gacogne [Thu, 8 Dec 2022 09:34:38 +0000 (10:34 +0100)] 
dnsreplay: Check early if IP_TRANSPARENT is working when requested

21 months agoMerge pull request #12282 from Habbie/lmdb-notify
Peter van Dijk [Thu, 8 Dec 2022 09:12:20 +0000 (10:12 +0100)] 
Merge pull request #12282 from Habbie/lmdb-notify

auth lmdb: make outgoing notifications work

21 months agoProperly encode json string containing binary data 12260/head
Otto Moerbeek [Fri, 2 Dec 2022 08:16:55 +0000 (09:16 +0100)] 
Properly encode json string containing binary data

The existing code assumes the strings are alreayd valid UTF8 and contain potential out-of-bound accesses.

Also urlEncode path in log lines, as it trips pytest.xml:

Running tests...

$ 'pytest' '--junitxml=pytest.xml' '-v'
==STDOUT===

==STDERRR===
  File "/home/otto/pdns/regression-tests.api/runtests.py", line 304, in <module>
    print(serverproc.stderr.read())
  File "/usr/lib/python3.9/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xeb in position 4304: invalid continuation byte

There might be more places where this is needed.

21 months agoMerge pull request #11554 from yog-singh/yog-singh/ddist-ebpf-memlock-limit
Otto Moerbeek [Thu, 8 Dec 2022 08:55:34 +0000 (09:55 +0100)] 
Merge pull request #11554 from yog-singh/yog-singh/ddist-ebpf-memlock-limit

dnsdist: Raise RLIMIT_MEMLOCK automatically when eBPF is requested

21 months agoTake searchsuffix into acount when generating targets of PTR records. 12203/head
Otto Moerbeek [Wed, 7 Dec 2022 09:51:04 +0000 (10:51 +0100)] 
Take searchsuffix into acount when generating targets of PTR records.

Fix tests for that and also add a testcode for boths v4 and v6 localhost

21 months agoAvoid too many lookups by using iterator
Otto Moerbeek [Wed, 30 Nov 2022 09:45:33 +0000 (10:45 +0100)] 
Avoid too many lookups by using iterator

21 months agoAllow multiple records with same name for etc/hosts processing
Sten Spans [Wed, 16 Nov 2022 21:46:21 +0000 (22:46 +0100)] 
Allow multiple records with same name for etc/hosts processing

This seems to do something right at least

21 months agodnsdist: Add a few missing bindings and docs for the cache-inserted rules 12280/head
Remi Gacogne [Thu, 8 Dec 2022 08:43:42 +0000 (09:43 +0100)] 
dnsdist: Add a few missing bindings and docs for the cache-inserted rules

21 months agoMerge pull request #12281 from rgacogne/ddist-optim-cross
Remi Gacogne [Thu, 8 Dec 2022 08:33:10 +0000 (09:33 +0100)] 
Merge pull request #12281 from rgacogne/ddist-optim-cross

dnsdist: Get rid of TCPCrossProtocolQuerySender