]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
4 years agoBackport 10185 to 4.3.x: make sure we take the right minimum for the PC TTL data... 10193/head
Otto [Fri, 19 Mar 2021 08:06:01 +0000 (09:06 +0100)] 
Backport 10185 to 4.3.x: make sure we take the right minimum for the PC TTL data in the SERVFAIL case.

4 years agoMerge pull request #9945 from Habbie/backport-9831-to-rec-4.3.x
Peter van Dijk [Tue, 12 Jan 2021 09:04:29 +0000 (10:04 +0100)] 
Merge pull request #9945 from Habbie/backport-9831-to-rec-4.3.x

rec-4.3.x el8: PowerTools is now powertools

4 years agoel8: PowerTools is now powertools 9945/head
Peter van Dijk [Mon, 11 Jan 2021 19:08:24 +0000 (20:08 +0100)] 
el8: PowerTools is now powertools

backport of #9831

4 years agoMerge pull request #9890 from Habbie/rec-4.3.x-el6
Peter van Dijk [Fri, 18 Dec 2020 17:24:15 +0000 (18:24 +0100)] 
Merge pull request #9890 from Habbie/rec-4.3.x-el6

rec-4.3.x: el6 build improvements

4 years agogh actions el6 build: only do rec 9890/head
Peter van Dijk [Thu, 17 Dec 2020 19:29:57 +0000 (20:29 +0100)] 
gh actions el6 build: only do rec

4 years agogh actions: build centos6 packages
Peter van Dijk [Thu, 26 Nov 2020 10:57:40 +0000 (11:57 +0100)] 
gh actions: build centos6 packages

(cherry picked from commit ddd9bf0bd40d9df4ebb52faba18f1ff1d57821a4)

4 years agoel6 docker builds: prefer v4 resolution
Peter van Dijk [Wed, 16 Dec 2020 14:02:38 +0000 (15:02 +0100)] 
el6 docker builds: prefer v4 resolution

(cherry picked from commit a610ced8e0a09540ee9aac4eea8a72f563792838)

4 years agoel6 builds: use vault.centos.org
Your Name [Thu, 3 Dec 2020 11:30:15 +0000 (12:30 +0100)] 
el6 builds: use vault.centos.org

(cherry picked from commit 7476f49b4d78a5c687d36658b28109cb5f9386f6)

4 years agobuilder: touch /var/lib/rpm/* in every docker layer that uses rpmdb
Peter van Dijk [Tue, 11 Feb 2020 10:06:03 +0000 (11:06 +0100)] 
builder: touch /var/lib/rpm/* in every docker layer that uses rpmdb

references:
https://github.com/pombredanne/dnf-plugin-ovl
https://bugzilla.redhat.com/show_bug.cgi?id=1213602
(cherry picked from commit ee7e18a799f3d251f732735bc6a114bc6d299691)

4 years agoMerge pull request #9804 from omoerbeek/backport-9790-to-rec-4.3.x
Otto Moerbeek [Fri, 4 Dec 2020 09:52:51 +0000 (10:52 +0100)] 
Merge pull request #9804 from omoerbeek/backport-9790-to-rec-4.3.x

rec: backport 9790 to rec-4.3.x: Do not chase CNAME during qname minization step 4

4 years agorec: Do not chase CNAME during qname minization step 4 9804/head
Remi Gacogne [Tue, 1 Dec 2020 09:52:37 +0000 (10:52 +0100)] 
rec: Do not chase CNAME during qname minization step 4

(cherry picked from commit 7373cea835239f1b18a72000821bb17b516d954b)

4 years agoMerge pull request #9718 from omoerbeek/backport-9707-to-rec-4.3.x rec-4.3.6
Otto Moerbeek [Mon, 16 Nov 2020 14:47:02 +0000 (15:47 +0100)] 
Merge pull request #9718 from omoerbeek/backport-9707-to-rec-4.3.x

rec: Backport to 4.3.x: Do not add request to a wait chain that's already processed or being processed.

4 years agoMerge pull request #9722 from Habbie/rec-4.3.x-circleci-pager
Otto Moerbeek [Sun, 15 Nov 2020 17:13:45 +0000 (18:13 +0100)] 
Merge pull request #9722 from Habbie/rec-4.3.x-circleci-pager

rec-4.3.x: avoid paging in git

4 years agorec-4.3.x: avoid paging in git 9722/head
Peter van Dijk [Fri, 13 Nov 2020 17:51:44 +0000 (18:51 +0100)] 
rec-4.3.x: avoid paging in git

4 years agoDo not add request to a wait chain that's already processed or being processed. 9718/head
Otto Moerbeek [Wed, 11 Nov 2020 11:02:50 +0000 (12:02 +0100)] 
Do not add request to a wait chain that's already processed or being processed.

The following scenario can occur. Multiple concurrent clients doing the same query A
are needed to trigger it:

1. Incoming request A, which has a need for request X
2. Add request X to chain because we already have an identical outstanding request
3. We receive the reply for X
4. We process the chain
5. In the meantime a new request for X that's identical is added to the chain
6. The added id in step 5 is not being processed anymore -> timeout

This can happen if request X has TTL 0, otherwise the record cache would have a hit.

(cherry picked from commit c647a254a0f863aabeaea9d33f673afa26c60457)

4 years agoMerge pull request #9706 from Habbie/rec-4.3-nod-oversize
Otto Moerbeek [Thu, 12 Nov 2020 19:22:23 +0000 (20:22 +0100)] 
Merge pull request #9706 from Habbie/rec-4.3-nod-oversize

rec-4.3: do not send overly long NOD lookups

4 years agoMerge pull request #9702 from rgacogne/rec43-fakeaaa-cname-loop
Remi Gacogne [Thu, 12 Nov 2020 07:50:33 +0000 (08:50 +0100)] 
Merge pull request #9702 from rgacogne/rec43-fakeaaa-cname-loop

rec-4.3.x: Avoid a CNAME loop detection issue with DNS64

4 years agorec-4.3: do not send overly long NOD lookups 9706/head
Peter van Dijk [Wed, 11 Nov 2020 10:20:41 +0000 (11:20 +0100)] 
rec-4.3: do not send overly long NOD lookups

4 years agorec-4.3.x: Avoid a CNAME loop detection issue with DNS64 9702/head
Remi Gacogne [Tue, 10 Nov 2020 17:05:15 +0000 (18:05 +0100)] 
rec-4.3.x: Avoid a CNAME loop detection issue with DNS64

When the requested qname is a CNAME to a second CNAME, the CNAME
loop detection might get incorrectly triggered because the CNAMEs
were already present in the vector of result records.

4 years agoMerge pull request #9684 from omoerbeek/backport-9680-to-rec-4.3.x
Otto Moerbeek [Tue, 10 Nov 2020 08:19:17 +0000 (09:19 +0100)] 
Merge pull request #9684 from omoerbeek/backport-9680-to-rec-4.3.x

rec: Backport 9680 to rec 4.3.x: If a.b.c CNAME x.a.b.c is encoutered, switch off QM

4 years agoUse the same words for for both cases 9684/head
Otto Moerbeek [Mon, 9 Nov 2020 09:36:58 +0000 (10:36 +0100)] 
Use the same words for for both cases

(cherry picked from commit 90ef54c85523e845107fecda53b365e50ae69569)

4 years agoIf a.b.c CNAME x.a.b.c is encoutered, switch off
Otto Moerbeek [Fri, 6 Nov 2020 11:58:53 +0000 (12:58 +0100)] 
If a.b.c CNAME x.a.b.c is encoutered, switch off
QM, it will lead to great recursion depth without result.

(cherry picked from commit 157d17730c4fa6b25c1e0f5e720b7e73ac7723aa)

4 years agoMerge pull request #9609 from omoerbeek/rec-4.3.x-fix-remaining-placeholders
Otto Moerbeek [Fri, 23 Oct 2020 06:26:47 +0000 (08:26 +0200)] 
Merge pull request #9609 from omoerbeek/rec-4.3.x-fix-remaining-placeholders

rec: followup to backport of 9070 to 4.3.x: Previous placeholder fix was incomplete.

4 years agoPrevious placeholder fix was incomplete. 9609/head
Otto Moerbeek [Tue, 13 Oct 2020 12:21:02 +0000 (14:21 +0200)] 
Previous placeholder fix was incomplete.

Fix remaining ones.

4 years agoMerge pull request #9604 from omoerbeek/rec-backport-to-4.3.x-sec-2020-07 rec-4.3.5
Otto Moerbeek [Tue, 13 Oct 2020 10:15:17 +0000 (12:15 +0200)] 
Merge pull request #9604 from omoerbeek/rec-backport-to-4.3.x-sec-2020-07

rec: Backport of CVE-2020-25829 (any-cache-update) to 4.3.x

4 years agoBackport of "Prevent updating the status of all cached records for a name" to 4.3.x 9604/head
Otto Moerbeek [Mon, 12 Oct 2020 08:13:39 +0000 (10:13 +0200)] 
Backport of "Prevent updating the status of all cached records for a name" to 4.3.x

4 years agoMerge pull request #9527 from omoerbeek/backport-9471-to-rec-4.3.x
Otto Moerbeek [Fri, 25 Sep 2020 12:38:16 +0000 (14:38 +0200)] 
Merge pull request #9527 from omoerbeek/backport-9471-to-rec-4.3.x

rec: Backport of 9471 to rec-4.3.x: Log when going Bogus because of a missing SOA in authority

4 years agoMerge pull request #9525 from omoerbeek/backport-9495-to-rec-4.3.x
Otto Moerbeek [Fri, 25 Sep 2020 12:37:46 +0000 (14:37 +0200)] 
Merge pull request #9525 from omoerbeek/backport-9495-to-rec-4.3.x

rec: Backport 9495 to rec 4.3.x: Watch the descriptor again after an out-of-order read timeout

4 years agorec: Log when going Bogus because of a missing SOA in authority 9527/head
Remi Gacogne [Tue, 15 Sep 2020 13:03:34 +0000 (15:03 +0200)] 
rec: Log when going Bogus because of a missing SOA in authority

A missing SOA in the authority section of negative (NXDOMAIN, NODATA)
answers in a DNSSEC-secure zone currently leads to a Bogus result,
because the needed NSEC/NSEC3 could not be validated.

(cherry picked from commit 832f4fbdd7ef50d0e0ff5135ee6e270acc22df9d)

4 years agorec: Fix a typo in a comment 9525/head
Remi Gacogne [Wed, 23 Sep 2020 08:31:36 +0000 (10:31 +0200)] 
rec: Fix a typo in a comment

Co-authored-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
(cherry picked from commit ebcde9cbc9e1239157963e581327cdacde3a862f)

4 years agorec: Watch the descriptor again after an out-of-order read timeout
Remi Gacogne [Mon, 21 Sep 2020 15:24:55 +0000 (17:24 +0200)] 
rec: Watch the descriptor again after an out-of-order read timeout

It might be that there was no other incoming query on that connection
and we timed out while the response had not been sent yet, but the
client might want to re-use the connection after receving the response.
We try to reset the TTD, but that might fail when the socket descriptor
has already been removed.

(cherry picked from commit b05ef1b472cfa3597dda44075f3947abd565008b)

4 years agoMerge pull request #9507 from omoerbeek/rec-backport-9497-to-rec-4.3.x
Otto Moerbeek [Fri, 25 Sep 2020 06:39:43 +0000 (08:39 +0200)] 
Merge pull request #9507 from omoerbeek/rec-backport-9497-to-rec-4.3.x

rec: Backport essential part of #9497 to rec-4.3.x: raise an exception on invalid content in unknown records

4 years agoMerge pull request #9501 from omoerbeek/rec-boost-bind-to-std-bind
Otto Moerbeek [Fri, 25 Sep 2020 06:38:32 +0000 (08:38 +0200)] 
Merge pull request #9501 from omoerbeek/rec-boost-bind-to-std-bind

rec: backport to rec-4.3.x: Boost 1.73 moved boost::bind placeholders to the placeholders namespace

4 years agoBackport essential part of #9497 to rec-4.3.x 9507/head
Otto Moerbeek [Tue, 22 Sep 2020 11:19:21 +0000 (13:19 +0200)] 
Backport essential part of #9497 to rec-4.3.x

4 years agoMinimal backport of #9070 9501/head
Otto Moerbeek [Tue, 22 Sep 2020 08:39:49 +0000 (10:39 +0200)] 
Minimal backport of #9070

4 years agoMerge pull request #9457 from omoerbeek/backport-9454-to-rec-4.3.x
Otto Moerbeek [Fri, 11 Sep 2020 07:37:52 +0000 (09:37 +0200)] 
Merge pull request #9457 from omoerbeek/backport-9454-to-rec-4.3.x

rec: Backport to rec-4.3.x: Parts is reused, so clear the names it might contain.

4 years agoMerge pull request #9460 from rgacogne/rec43-remove-non-rec-tests
Otto Moerbeek [Fri, 11 Sep 2020 06:34:04 +0000 (08:34 +0200)] 
Merge pull request #9460 from rgacogne/rec43-remove-non-rec-tests

rec-4.3.x: Remove non-recursor tests

4 years agorec-4.3.x: Remove non-recursor tests 9460/head
Remi Gacogne [Thu, 10 Sep 2020 09:28:20 +0000 (11:28 +0200)] 
rec-4.3.x: Remove non-recursor tests

(cherry picked from commit f7687fa94a99d47fd7c3d442f08a1b97c0b74097)

4 years agoParts is reused, so clear the names it might contain. 9457/head
Otto Moerbeek [Wed, 9 Sep 2020 13:11:26 +0000 (15:11 +0200)] 
Parts is reused, so clear the names it might contain.

(cherry picked from commit bc3d2b7386e058c39872a3aa74101283b6f1af45)

4 years agoMerge pull request #9416 from omoerbeek/backport-9375-to-rec-4.3.x rec-4.3.4
Otto Moerbeek [Tue, 1 Sep 2020 08:49:39 +0000 (10:49 +0200)] 
Merge pull request #9416 from omoerbeek/backport-9375-to-rec-4.3.x

rec: backport 9375 to rec 4.3.x: Allow some more depth headroom for the no-qname-minimization fallback case

4 years agoDocument the extra allowance in case of qname-minimization fallback. 9416/head
Otto Moerbeek [Tue, 25 Aug 2020 11:27:51 +0000 (13:27 +0200)] 
Document the extra allowance in case of qname-minimization fallback.

(cherry picked from commit b2090adc7631d96c6c21eaf8086747639f75c572)

4 years agoAdd comment what the effect of calling the qname-minimization
Otto Moerbeek [Mon, 10 Aug 2020 11:36:15 +0000 (13:36 +0200)] 
Add comment what the effect of calling the qname-minimization
fallback code can be for maxdepth.

(cherry picked from commit a4980f5632404f84b7de976595d43b4969b7feac)

4 years agoAllow some more depth headroom for the no-qname-minimization fallback case.
Otto Moerbeek [Mon, 10 Aug 2020 10:57:11 +0000 (12:57 +0200)] 
Allow some more depth headroom for the no-qname-minimization fallback case.

If we hit maxdepth, we still want to have some room to do the doResolveNoQNameMinimization call.

(cherry picked from commit cec49628a07e03d337aa5cf51fd925bbe31291bb)

4 years agoMerge pull request #9367 from omoerbeek/backport-9343-to-rec-4.3.x
Otto Moerbeek [Mon, 24 Aug 2020 07:48:09 +0000 (09:48 +0200)] 
Merge pull request #9367 from omoerbeek/backport-9343-to-rec-4.3.x

rec: Backport 9343 to rec 4.3.x: Resize hostname to final size in getCarbonHostname()

4 years agoMerge pull request #9397 from omoerbeek/backport-9073-to-rec-4.3.x
Otto Moerbeek [Mon, 24 Aug 2020 07:22:09 +0000 (09:22 +0200)] 
Merge pull request #9397 from omoerbeek/backport-9073-to-rec-4.3.x

rec: Backport 9073 to rec 4.3.x: Ensure runtime dirs for virtual services differ

4 years agoSet socket-dir to RUNTIME_DIRECTORY under systemd. 9397/head
Pieter Lexis [Wed, 29 Apr 2020 09:32:23 +0000 (11:32 +0200)] 
Set socket-dir to RUNTIME_DIRECTORY under systemd.

RUNTIME_DIRECTORY is set by systemd to the value to `RuntimeDirectory`
, which is managed by systemd and so it is safe to use for the socket-dir.

(cherry picked from commit 9a5b0a54fa460c56fd895974ca41db4e869ae0e0)

4 years agoEnsure runtime dirs for virtual services differ
Pieter Lexis [Wed, 29 Apr 2020 08:12:03 +0000 (10:12 +0200)] 
Ensure runtime dirs for virtual services differ

(cherry picked from commit fcbada458f4625736ba962d6523339b0c34a04f0)

5 years agoAadpt test to always truncate at '.' which happens <= 4.3.x 9367/head
Otto Moerbeek [Fri, 31 Jul 2020 08:14:50 +0000 (10:14 +0200)] 
Aadpt test to always truncate at '.' which happens <= 4.3.x

5 years agotest-misc_hh: Add test for getCarbonHostname
Aki Tuomi [Tue, 21 Jul 2020 19:04:56 +0000 (22:04 +0300)] 
test-misc_hh: Add test for getCarbonHostname

(cherry picked from commit f19c0ed44619382b41119c8fb3136a3eb11790b8)

5 years agomisc.cc: Resize hostname to final size in getCarbonHostname()
Aki Tuomi [Sun, 19 Jul 2020 15:06:14 +0000 (18:06 +0300)] 
misc.cc: Resize hostname to final size in getCarbonHostname()

In 5c21b47fbc35ddcb8d939eb8541c6c3bad1080a8 we change how
hostname is allocated. We allocate getMaxHostNameSize for string,
then give the raw buffer for gethostname function, but forget to
resize the string into actual result length, causing the carbon
output to include trailing NUL bytes after hostname.

(cherry picked from commit 57f8ac68b4fa7063fd2cac4d5b77045e0255c770)

5 years agoMerge pull request #9330 from omoerbeek/backport-9309-to-rec-4.3.x rec-4.3.3
Otto Moerbeek [Tue, 14 Jul 2020 11:09:40 +0000 (13:09 +0200)] 
Merge pull request #9330 from omoerbeek/backport-9309-to-rec-4.3.x

rec: Backport 9309 to rec 4.3.x: Validate cached DNSKEYs against the DSs, not the RRSIGs only

5 years agoMerge pull request #9329 from omoerbeek/backport-9297-to-rec-4.3.x
Otto Moerbeek [Tue, 14 Jul 2020 11:09:22 +0000 (13:09 +0200)] 
Merge pull request #9329 from omoerbeek/backport-9297-to-rec-4.3.x

rec: Backport 9297 to rec 4.3.x: Ignore cache-only for DNSKEYs and DS retrieval

5 years agoMerge pull request #9328 from omoerbeek/backport-9292-to-rec-4.3.x
Otto Moerbeek [Tue, 14 Jul 2020 11:09:01 +0000 (13:09 +0200)] 
Merge pull request #9328 from omoerbeek/backport-9292-to-rec-4.3.x

rec: backport 9292 to rec 4.3.x: A ServFail while retrieving DS/DNSKEY records is just that

5 years agoMerge pull request #9327 from omoerbeek/backport-9188-to-rec-4.3.x
Otto Moerbeek [Tue, 14 Jul 2020 11:08:39 +0000 (13:08 +0200)] 
Merge pull request #9327 from omoerbeek/backport-9188-to-rec-4.3.x

rec: Backport 9188 to rec 4.3.x: Refuse DS records received from child zones

5 years agorec: Ignore cache-only for DSs retrieval 9329/head
Remi Gacogne [Tue, 7 Jul 2020 07:56:41 +0000 (09:56 +0200)] 
rec: Ignore cache-only for DSs retrieval

When the DSs are needed for validation, the initial RD flag should
not prevent us from going to the network.

(cherry picked from commit 68536f5ba1b37b1ab6008ab8842a4eeb676cc3e4)

5 years agorec: Ignore cache-only for DNSKEYs retrieval
Remi Gacogne [Fri, 3 Jul 2020 15:29:33 +0000 (17:29 +0200)] 
rec: Ignore cache-only for DNSKEYs retrieval

When the DNSKEYs are needed for validation, the initial RD flag
should not prevent us from going to the network.

(cherry picked from commit 38a7e82df8eaa8bee8fe9b444e81e1d71710d4de)

5 years agoFix merge 9330/head
Otto Moerbeek [Mon, 13 Jul 2020 14:21:00 +0000 (16:21 +0200)] 
Fix merge

5 years agorec: Validate cached DNSKEYs against the DSs, not the RRSIGs only
Remi Gacogne [Mon, 6 Jul 2020 13:00:44 +0000 (15:00 +0200)] 
rec: Validate cached DNSKEYs against the DSs, not the RRSIGs only

DNSKEYs might be cached in a non-validated state ("Indeterminate")
when the DNSSEC mode is set to "Process" and the initial query did
not ask for validation.
We would then validate the DNSKEY records against the RRSIGs, like
for regular records, but not against the DSs.

(cherry picked from commit 453f37736a4d372e16755a903f5b5d5ac52b0c17)

5 years agorec: A ServFail while retrieving DS/DNSKEY records is just that 9328/head
Remi Gacogne [Thu, 2 Jul 2020 08:31:31 +0000 (10:31 +0200)] 
rec: A ServFail while retrieving DS/DNSKEY records is just that

Before that commit, failing to get the DS or DNSKEY records needed
during validation because of a network issue would trigger a Bogus
DNSSEC validation result because validation could not be performed,
but that should just be a Server Failure instead.
This is especially an issue because the Bogus result would get
inserted into the cache and could stay there for as long as
'max-cache-bogus-ttl' seconds.

(cherry picked from commit e122af1cf073cab4bd0b1b346b6e166b49870d70)

5 years agorec: Add a 'skip DS from child zone' unit test 9327/head
Remi Gacogne [Tue, 7 Jul 2020 12:22:59 +0000 (14:22 +0200)] 
rec: Add a 'skip DS from child zone' unit test

(cherry picked from commit 2b4f326914460e3c2a8cb1249fdd535090a355f7)

5 years agorec: Refuse DS records received from child zones
Remi Gacogne [Tue, 2 Jun 2020 15:19:42 +0000 (17:19 +0200)] 
rec: Refuse DS records received from child zones

(cherry picked from commit 3b8b3a7760b655d078aed24c42b0c48e1115eb55)

5 years agoMerge pull request #9305 from omoerbeek/backport-9268-to-rec-4.3.x
Otto Moerbeek [Tue, 7 Jul 2020 12:38:45 +0000 (14:38 +0200)] 
Merge pull request #9305 from omoerbeek/backport-9268-to-rec-4.3.x

rec: backport of 9268 to 4.3.x: Better exception handling in houseKeeping / handlePolicyHit

5 years agoMerge pull request #9304 from omoerbeek/backport-9301-to-rec-4.3.x
Otto Moerbeek [Tue, 7 Jul 2020 09:35:36 +0000 (11:35 +0200)] 
Merge pull request #9304 from omoerbeek/backport-9301-to-rec-4.3.x

rec: backport 9301 to rec 4.3.x: take initial refresh time from loaded zone

5 years agoFix indentation 9305/head
Otto Moerbeek [Tue, 7 Jul 2020 09:25:56 +0000 (11:25 +0200)] 
Fix indentation

5 years agorec: backport of 9268 to 4.3.x: Better exception handling in houseKeeping / handlePol...
Otto Moerbeek [Tue, 7 Jul 2020 08:54:15 +0000 (10:54 +0200)] 
rec: backport of 9268 to 4.3.x: Better exception handling in houseKeeping / handlePolicyHit

5 years agoWhen no rpz cache is used and no refresh time is specified, use 9304/head
Otto Moerbeek [Mon, 6 Jul 2020 13:55:53 +0000 (15:55 +0200)] 
When no rpz cache is used and no refresh time is specified, use
the refresh time read on the initial load of the zone.

Should fix #9299.

(cherry picked from commit 3f4d728767f3924b4b96b22e6ae312ba8decdfe9)

5 years agoMerge pull request #9285 from omoerbeek/rec-acl-backport-to-4.3.x rec-4.3.2
Otto Moerbeek [Tue, 30 Jun 2020 14:33:58 +0000 (16:33 +0200)] 
Merge pull request #9285 from omoerbeek/rec-acl-backport-to-4.3.x

rec: Backport of acl fix to 4.3.x

5 years agoBackport of acl fix to 4.3.x 9285/head
Otto Moerbeek [Tue, 30 Jun 2020 13:15:15 +0000 (15:15 +0200)] 
Backport of acl fix to 4.3.x

5 years agoMerge pull request #9262 from omoerbeek/backport-9251-to-rec-4.3.x
Otto Moerbeek [Fri, 19 Jun 2020 10:56:18 +0000 (12:56 +0200)] 
Merge pull request #9262 from omoerbeek/backport-9251-to-rec-4.3.x

rec: backport 9251 to rec 4.3.x: Copy the negative cache entry before validating it

5 years agorec: Copy the negative cache entry before validating it 9262/head
Remi Gacogne [Wed, 17 Jun 2020 12:49:55 +0000 (14:49 +0200)] 
rec: Copy the negative cache entry before validating it

Otherwise, in the unlikely case that:
- we need to go to the network in order to validate, for example to
  get or a DNSKEY ;
- the negative cache cleaning is run at that exact moment ;
- and the entry we have a pointer to gets wiped during that cleanup

we might trigger a heap-based use-after-free (read), possibly leading
to a crash if the memory has been reused already.

5 years agoMerge pull request #9242 from omoerbeek/backport-9031-to-rec-4.3.x
Remi Gacogne [Thu, 18 Jun 2020 09:25:45 +0000 (11:25 +0200)] 
Merge pull request #9242 from omoerbeek/backport-9031-to-rec-4.3.x

rec: backport 9031 to rec 4.3.x: Fix compilation of the ports event multiplexer

5 years agoMerge pull request #9243 from omoerbeek/backport-9142-to-rec-4.3.x
Remi Gacogne [Thu, 18 Jun 2020 09:25:23 +0000 (11:25 +0200)] 
Merge pull request #9243 from omoerbeek/backport-9142-to-rec-4.3.x

rec: backport 9142 to 4.3.x: Defer the NOD lookup until after the response has been sent

5 years agoMerge pull request #9245 from omoerbeek/backport-9151-to-rec-4.3.x
Remi Gacogne [Thu, 18 Jun 2020 09:25:01 +0000 (11:25 +0200)] 
Merge pull request #9245 from omoerbeek/backport-9151-to-rec-4.3.x

rec: backport 9151 to rec 4.3.x: Fix the handling of DS queries for the root

5 years agoMerge pull request #9246 from omoerbeek/backport-9172-to-rec-4.3.x
Remi Gacogne [Thu, 18 Jun 2020 09:23:17 +0000 (11:23 +0200)] 
Merge pull request #9246 from omoerbeek/backport-9172-to-rec-4.3.x

rec: backport 9172 to rec 4.3.x: Fix RPZ removals when an update has several deltas

5 years agoMerge pull request #9247 from omoerbeek/backport-9192-to-rec-4.3.x
Remi Gacogne [Thu, 18 Jun 2020 09:22:17 +0000 (11:22 +0200)] 
Merge pull request #9247 from omoerbeek/backport-9192-to-rec-4.3.x

rec: backport 9192 to rec 4.3.x: Correct depth increments.

5 years agoMerge pull request #9248 from omoerbeek/backport-9194-to-rec-4.3.x
Remi Gacogne [Thu, 18 Jun 2020 09:21:14 +0000 (11:21 +0200)] 
Merge pull request #9248 from omoerbeek/backport-9194-to-rec-4.3.x

rec: backport 9194 and followup to rec 4.3.x: cname loop detection

5 years agoMerge pull request #9249 from omoerbeek/backport-9205-to-rec-4.3.x
Remi Gacogne [Thu, 18 Jun 2020 09:19:54 +0000 (11:19 +0200)] 
Merge pull request #9249 from omoerbeek/backport-9205-to-rec-4.3.x

rec: backport 9205 to rec 4.3.x: Limit the TTL of RRSIG records as well

5 years agorec: Limit the TTL of RRSIG records as well 9249/head
Remi Gacogne [Fri, 5 Jun 2020 13:14:35 +0000 (15:14 +0200)] 
rec: Limit the TTL of RRSIG records as well

(cherry picked from commit fe091a7206f833e6927b82b813b5af0882d8c5d9)

5 years agorec: Don't copy the records when scanning for CNAME loops 9248/head
Remi Gacogne [Tue, 9 Jun 2020 15:19:09 +0000 (17:19 +0200)] 
rec: Don't copy the records when scanning for CNAME loops

5 years agoAdd/modify tests. Also re-check for the cache case. It *is* a bit
Otto Moerbeek [Fri, 5 Jun 2020 08:37:28 +0000 (10:37 +0200)] 
Add/modify tests. Also re-check for the cache case. It *is* a bit
unsettling that case causes an ImmediateServFailException, but I do
not like to touch the general flow right now. That would be required
to make the CNAME cache case more similar to the non-cached case.

5 years agoUse seperate function to test for loop; empty result vector on loop
Otto Moerbeek [Fri, 5 Jun 2020 08:19:08 +0000 (10:19 +0200)] 
Use seperate function to test for loop; empty result vector on loop
detection (like other resolvers I tested  do).

5 years agoMore sophisticated cname loop detection.
Otto Moerbeek [Wed, 3 Jun 2020 14:31:57 +0000 (16:31 +0200)] 
More sophisticated cname loop detection.

5 years agoIf a CNAME target is found in the cache, check if it's equal
Otto Moerbeek [Wed, 3 Jun 2020 10:15:46 +0000 (12:15 +0200)] 
If a CNAME target is found in the cache, check if it's equal
to qname and ServFail if so.

Fixes the easy case of #9153. Longer chains with self-refs remain an issue.

(cherry picked from commit 58c526bd0f63d5d424b7a03867b51ace495989a8)

5 years agoCorrect depth increments. 9247/head
Otto Moerbeek [Wed, 3 Jun 2020 07:07:56 +0000 (09:07 +0200)] 
Correct depth increments.

With the introduction of qname minimization, a function
doResolveNoQNameMinimization() was introduced. This function is
called by doResolve() with depth incremented. Due to the recursive
nature of the resursor algortihm (Nomen est Omen) we end up
incrementing the depth too much. This prompted a review of the other
places depth was incremented, and I believe it should only be done
when calling doResolve(). Especially the case "+ 2" in the getAddrs()
call looks strange to me, as the doResolve() calls in getAddrs()
already call doResolve() with depth + 1.

This fixes #9184 and likely other cases of deep recursion caused
by long CNAME chains.

(cherry picked from commit a06745426b4df4d3946c36cd3429a5c8db9a8cd0)

5 years agorec: Add a regression test for the RPZ updates with several deltas 9246/head
Remi Gacogne [Thu, 28 May 2020 16:54:20 +0000 (18:54 +0200)] 
rec: Add a regression test for the RPZ updates with several deltas

(cherry picked from commit ba5f46ae28b9502294424aaa90ff9dad729de757)

5 years agorec: Fix RPZ removals when an update has several deltas
Remi Gacogne [Thu, 28 May 2020 16:15:53 +0000 (18:15 +0200)] 
rec: Fix RPZ removals when an update has several deltas

(cherry picked from commit b72e5c8578561a8c0a306a861011f5e409a4797b)

5 years agorec: Remove trailing whitespace in a comment 9245/head
Remi Gacogne [Fri, 5 Jun 2020 07:27:48 +0000 (09:27 +0200)] 
rec: Remove trailing whitespace in a comment

(cherry picked from commit a566d83d762a7e1b83742a5eba1a72449b42603e)

5 years agorec: Fix formatting in the "root DS" unit test
Remi Gacogne [Mon, 25 May 2020 14:17:50 +0000 (16:17 +0200)] 
rec: Fix formatting in the "root DS" unit test

(cherry picked from commit 2b4ea6d592aadce6e49bdff1035e0a0b0c59763b)

5 years agorec: Fix the handling of DS queries for the root
Remi Gacogne [Mon, 25 May 2020 14:02:21 +0000 (16:02 +0200)] 
rec: Fix the handling of DS queries for the root

(cherry picked from commit 16dde22c73c195d5e5a4a8bc4483627e90a7643b)

5 years agorec: Defer the NOD lookup until after the response has been sent 9243/head
Remi Gacogne [Mon, 25 May 2020 09:33:19 +0000 (11:33 +0200)] 
rec: Defer the NOD lookup until after the response has been sent

If the NOD lookup is slow, for example because the destination
authoritative server is down, doing the NOD lookup before the response
has been sent increases the latency a lot.
This commit moves the actual NOD lookup after the response has been
sent, so we can still use the existing mthread (we might actually need
to do a proper DNS resolution to find the target authoritative server)
without keeping the client waiting.

(cherry picked from commit 3bd27e4a01a3614aba3c0cf425e4ab9490318dd4)

5 years agoFix compilation of test-dns_random_hh.cc w/ getrandom AND arc4random 9242/head
Remi Gacogne [Wed, 15 Apr 2020 15:47:12 +0000 (17:47 +0200)] 
Fix compilation of test-dns_random_hh.cc w/ getrandom AND arc4random

(cherry picked from commit b212114bb037c9d202da750af76c6a6ac5c2c652)

5 years agoFix compilation of the ports event multiplexer
Remi Gacogne [Wed, 15 Apr 2020 15:42:11 +0000 (17:42 +0200)] 
Fix compilation of the ports event multiplexer

(cherry picked from commit e9d446399be2db08cc18606537e6f9ba5bee933b)

5 years agoMerge pull request #9145 from rgacogne/rec43-travis-unbreak-trusty
Remi Gacogne [Mon, 25 May 2020 14:06:54 +0000 (16:06 +0200)] 
Merge pull request #9145 from rgacogne/rec43-travis-unbreak-trusty

rec-4.3.x: travis: install pdns package from direct download

5 years agotravis: install pdns package from direct download 9145/head
Peter van Dijk [Mon, 25 May 2020 08:27:01 +0000 (10:27 +0200)] 
travis: install pdns package from direct download

(cherry picked from commit b5b83152b5a56b8095ab0d713a31c3ab5d1ec25b)

5 years agoMerge pull request #9140 from rgacogne/rec43-formatting
Remi Gacogne [Mon, 25 May 2020 09:41:41 +0000 (11:41 +0200)] 
Merge pull request #9140 from rgacogne/rec43-formatting

rec-4.3.X: Fix formatting

5 years agoMerge pull request #9130 from jsoref/rel-rec-4.3.x-suppress-spell-check
Remi Gacogne [Mon, 25 May 2020 09:26:37 +0000 (11:26 +0200)] 
Merge pull request #9130 from jsoref/rel-rec-4.3.x-suppress-spell-check

Suppress PR based spell check for the rec-4.3.x branch

5 years agofix formatting 9140/head
Otto Moerbeek [Tue, 19 May 2020 09:51:03 +0000 (11:51 +0200)] 
fix formatting

(cherry picked from commit b963ef8b7568c55493f942d660d9a61103bfc04e)

5 years agoMerge pull request #9128 from rgacogne/rec43-fix-gethostname-no-hostnamemax
Remi Gacogne [Mon, 25 May 2020 07:51:28 +0000 (09:51 +0200)] 
Merge pull request #9128 from rgacogne/rec43-fix-gethostname-no-hostnamemax

rec-4.3.x: Fix compilation on systems that do not define HOST_NAME_MAX

5 years agoSuppress PR based spell check 9130/head
Josh Soref [Tue, 19 May 2020 17:10:37 +0000 (13:10 -0400)] 
Suppress PR based spell check

5 years agoFix compilation on systems that do not define HOST_NAME_MAX 9128/head
Remi Gacogne [Tue, 19 May 2020 14:46:33 +0000 (16:46 +0200)] 
Fix compilation on systems that do not define HOST_NAME_MAX

On FreeBSD at least, HOST_NAME_MAX is not defined and we need to
use sysconf() to get the value at runtime instead.
Based on a work done by @RvdE to make the recursor compile on
FreeBSD (many thanks!).

(cherry picked from commit 4c990a1b82e091d887d873c7da5254de84aabebb)