]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
4 years agoAdd missing fuzzing corpus files 10387/head
Otto [Tue, 11 May 2021 07:55:52 +0000 (09:55 +0200)] 
Add missing fuzzing corpus files

4 years agoMerge pull request #10314 from omoerbeek/backport-10286-to-rec-4.4.x
Otto Moerbeek [Wed, 28 Apr 2021 10:21:07 +0000 (12:21 +0200)] 
Merge pull request #10314 from omoerbeek/backport-10286-to-rec-4.4.x

rec: Backport 10286 to rec 4.4.x: rpz dumper: stop generating double zz labels on networks that start with zeroes

4 years agoMerge pull request #10313 from omoerbeek/backport-10291-to-rec-4.4.x
Otto Moerbeek [Wed, 21 Apr 2021 09:02:25 +0000 (11:02 +0200)] 
Merge pull request #10313 from omoerbeek/backport-10291-to-rec-4.4.x

rec: backport 10291 to rec-4.4.x: Exception loading the RPZ seedfile is not fatal.

4 years agoException loading the RPZ seedfile is not fatal. 10313/head
Otto [Tue, 13 Apr 2021 13:16:09 +0000 (15:16 +0200)] 
Exception loading the RPZ seedfile is not fatal.

Catch PDNSException and clear on failure.

(cherry picked from commit a47cc75dfa7519bcf7b31cee511852ae954a50f8)

4 years agothe code is not glibc specific 10314/head
Peter van Dijk [Wed, 14 Apr 2021 16:46:27 +0000 (18:46 +0200)] 
the code is not glibc specific

(cherry picked from commit 245abe4da5829bcf39953cfe06c0ef6ab8f6ecd7)

4 years agocomments from code review
Peter van Dijk [Wed, 14 Apr 2021 16:28:20 +0000 (18:28 +0200)] 
comments from code review

(cherry picked from commit 34b0536b713515b4cc89d8a28ea27822ef0880dc)

4 years agoauto, reinterpret_cast
Peter van Dijk [Wed, 14 Apr 2021 16:26:09 +0000 (18:26 +0200)] 
auto, reinterpret_cast

Co-authored-by: Remi Gacogne <rgacogne+github@valombre.net>
(cherry picked from commit de769ee3f68d9e940cd10610e7a68b03ce339bda)

4 years agoadd tests
Peter van Dijk [Tue, 13 Apr 2021 19:06:33 +0000 (21:06 +0200)] 
add tests

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

4 years agorpz dumper: stop generating double zz labels on networks that start with zeroes
Peter van Dijk [Mon, 12 Apr 2021 10:24:17 +0000 (12:24 +0200)] 
rpz dumper: stop generating double zz labels on networks that start with zeroes

(partial rewrite; adds tests)

(cherry picked from commit bbe6cfec2b5a0b65a7183c04a4d088f1fcc87ba7)

4 years agoMerge pull request #10240 from omoerbeek/backport-10238-to-rec-4.4.x rec-4.4.3
Otto Moerbeek [Mon, 29 Mar 2021 15:59:13 +0000 (17:59 +0200)] 
Merge pull request #10240 from omoerbeek/backport-10238-to-rec-4.4.x

rec: Backport 10238 to rec 4.4.x: More fail-safe handling of NOD files

4 years agoMerge pull request #10227 from omoerbeek/backport-10111-to-rec-4.4.x
Otto Moerbeek [Mon, 29 Mar 2021 15:59:00 +0000 (17:59 +0200)] 
Merge pull request #10227 from omoerbeek/backport-10111-to-rec-4.4.x

rec: Backport 10111 to rec 4.4.x: Handle policy (if needed) after postresolve

4 years agoFix make_unique to be c++11 compatibe, use explicit unique_ptr ct 10240/head
Otto [Mon, 29 Mar 2021 15:10:30 +0000 (17:10 +0200)] 
Fix make_unique to be c++11 compatibe, use explicit unique_ptr ct

4 years agoSafe tmp file handling, basic sanity check on size of data.
Otto [Mon, 29 Mar 2021 13:27:43 +0000 (15:27 +0200)] 
Safe tmp file handling, basic sanity check on size of data.

(cherry picked from commit 852d4e70c09dd9b41d9aa2a988a666b0cb749d97)

4 years agoMove the opening of the file to write a bit down
Otto [Mon, 29 Mar 2021 10:07:14 +0000 (12:07 +0200)] 
Move the opening of the file to write a bit down

(cherry picked from commit 5ef38b0c7b61e819773765d87b0fe6061cd0be7a)

4 years agonamespace filesystem = boost::filesystem
Otto [Mon, 29 Mar 2021 10:05:55 +0000 (12:05 +0200)] 
namespace filesystem = boost::filesystem

(cherry picked from commit dec872ee807caa32eab6f75e36db4feb16f2f6ea)

4 years agoZap tmp files; use random suffix and fix leak by using smart pointer.
Otto [Mon, 29 Mar 2021 09:49:34 +0000 (11:49 +0200)] 
Zap tmp files; use random suffix and fix leak by using smart pointer.

(cherry picked from commit e672ad6db7e9d0a98569656a4c0701121715b842)

4 years agoMore fail-safe handling of NOD files
Otto [Mon, 29 Mar 2021 08:40:37 +0000 (10:40 +0200)] 
More fail-safe handling of NOD files

(cherry picked from commit 7b4cc738ffaaec7173f39fc140799f2200d93e61)

4 years agoMerge pull request #10226 from omoerbeek/backport-10064-to-rec-4.4.x
Otto Moerbeek [Mon, 29 Mar 2021 10:25:07 +0000 (12:25 +0200)] 
Merge pull request #10226 from omoerbeek/backport-10064-to-rec-4.4.x

rec: Backport 10064 to 4.4.x: Return current rcode instead of 0 if there are no CNAME records to follow

4 years agoMerge pull request #10225 from omoerbeek/backport-10042-to-rec-4.4.x
Otto Moerbeek [Mon, 29 Mar 2021 10:24:52 +0000 (12:24 +0200)] 
Merge pull request #10225 from omoerbeek/backport-10042-to-rec-4.4.x

Backport 10042 to rec 4.4.x: dockerfiles: Ensure version number is correct for releases

4 years agoMerge pull request #10224 from omoerbeek/backport-9883-to-rec-4.4.x
Otto Moerbeek [Mon, 29 Mar 2021 06:56:44 +0000 (08:56 +0200)] 
Merge pull request #10224 from omoerbeek/backport-9883-to-rec-4.4.x

rec: Backport 9883 to rec 4.4.x: Lookup DS entries before CNAME entries

4 years agoMerge pull request #10222 from omoerbeek/backport-9860-to-rec-4.4.x
Otto Moerbeek [Mon, 29 Mar 2021 06:46:50 +0000 (08:46 +0200)] 
Merge pull request #10222 from omoerbeek/backport-9860-to-rec-4.4.x

rec: backport 9860 to 4.4.x: Get rid of warnings when compiling with Boost 1.74

4 years agoReview comments: clean d_from if needed and a merge oversight. 10224/head
Otto [Fri, 26 Mar 2021 15:30:01 +0000 (16:30 +0100)] 
Review comments: clean d_from if needed and a merge oversight.

4 years agoReformat
Otto [Fri, 26 Mar 2021 10:10:00 +0000 (11:10 +0100)] 
Reformat

4 years agoMerge pull request #10221 from omoerbeek/backport-9856-to-rec-4.4.x
Otto Moerbeek [Fri, 26 Mar 2021 10:05:59 +0000 (11:05 +0100)] 
Merge pull request #10221 from omoerbeek/backport-9856-to-rec-4.4.x

rec: Backport 9856 to rec 4.4.x: Use a short-lived NSEC3 hashes cache for denial validation

4 years agoMerge pull request #10220 from omoerbeek/backport-9827-to-rec-4.4.x
Otto Moerbeek [Fri, 26 Mar 2021 10:05:44 +0000 (11:05 +0100)] 
Merge pull request #10220 from omoerbeek/backport-9827-to-rec-4.4.x

rec: backport 9827 to rec 4.4.x: stop using travis

4 years agoPartial backport of #10111: Handle policy (if needed) after postresolve 10227/head
Otto [Fri, 26 Mar 2021 09:59:15 +0000 (10:59 +0100)] 
Partial backport of #10111: Handle policy (if needed) after postresolve

I did not take the Lua changes, as there is a (slight) chance they are disruptive.

4 years agoReturn current rcode instead of 0 if there are no CNAME records to follow. 10226/head
Otto [Fri, 5 Feb 2021 15:18:55 +0000 (16:18 +0100)] 
Return current rcode instead of 0 if there are no CNAME records to follow.

Note that this is a change in behaviour. While it is for the good, it might
be existing code depends on the old 0 value...

(cherry picked from commit 558d47eba7d2edd3fb5991af428d9d432fec1dfa)

4 years agodocker: use unbuffered output in init 10225/head
Pieter Lexis [Tue, 2 Feb 2021 12:31:15 +0000 (13:31 +0100)] 
docker: use unbuffered output in init

(cherry picked from commit aa665201200100c9f97969c8a9907d775d55adbe)

4 years agodockerfiles: Ensure version number is correct for releases
Pieter Lexis [Tue, 2 Feb 2021 12:28:04 +0000 (13:28 +0100)] 
dockerfiles: Ensure version number is correct for releases

(cherry picked from commit a508963dc3a36883b24db67e285c9e0481b84fb0)

4 years agorec: Remove unneeded 'static'
Remi Gacogne [Tue, 5 Jan 2021 08:54:18 +0000 (09:54 +0100)] 
rec: Remove unneeded 'static'

(cherry picked from commit 3eff7a0d105c6fa6342a82a217e1f96217824dbf)

4 years agoResolve merge issues
Otto [Fri, 26 Mar 2021 08:44:00 +0000 (09:44 +0100)] 
Resolve merge issues

4 years agorec: Store the zone and remote server IP in the records cache
Remi Gacogne [Thu, 17 Dec 2020 13:45:59 +0000 (14:45 +0100)] 
rec: Store the zone and remote server IP in the records cache

(cherry picked from commit 928c0f926859012945a223d28ffd3ce3f3ba2ac1)

4 years agorec: Add a unit test for the 'DS entry expired but CNAME is here' issue
Remi Gacogne [Wed, 16 Dec 2020 16:40:15 +0000 (17:40 +0100)] 
rec: Add a unit test for the 'DS entry expired but CNAME is here' issue

(cherry picked from commit b26212090b16c0a4e7f583e10586e5e85e2b66ae)

4 years agorec: Lookup DS entries before CNAME entries
Remi Gacogne [Wed, 16 Dec 2020 14:51:19 +0000 (15:51 +0100)] 
rec: Lookup DS entries before CNAME entries

When we are looking for a DS, we want to do the non-CNAME cache check first
because we can actually have a DS (from the parent zone) AND a CNAME (from
the child zone), and what we really want is the DS.

(cherry picked from commit 38263b88f2b3fa979cb1067ce602f48a1a4678bb)

4 years agorec: Get rid of warnings when compiling with Boost 1.74 10222/head
Remi Gacogne [Fri, 11 Dec 2020 16:01:00 +0000 (17:01 +0100)] 
rec: Get rid of warnings when compiling with Boost 1.74

(cherry picked from commit b2dd79dc04e2939fb84e3a4ee3df9a191bebe529)

4 years agorec: Fix the NSEC3 hashes cache on older systems 10221/head
Remi Gacogne [Mon, 14 Dec 2020 10:44:41 +0000 (11:44 +0100)] 
rec: Fix the NSEC3 hashes cache on older systems

By explicitely constructing the tuple.

(cherry picked from commit a398d2ca66cffdbc7b3e96366fa5978e8f7cf32e)

4 years agorec: Copy the salt into the cache instead of taking a reference
Remi Gacogne [Fri, 11 Dec 2020 15:37:49 +0000 (16:37 +0100)] 
rec: Copy the salt into the cache instead of taking a reference

At the moment the salt does live longer than the cache, but that
might hold true forever.

(cherry picked from commit 8ca539e75a1b0cc8f43f7e2234357c857f9876bf)

4 years agorec: Use a short-lived NSEC3 hashes cache for denial validation
Remi Gacogne [Fri, 11 Dec 2020 10:12:06 +0000 (11:12 +0100)] 
rec: Use a short-lived NSEC3 hashes cache for denial validation

It turns out that computing those SHA1 hashes is far from cheap,
and in almost all cases the salt and iterations are identical
so no need to compute them several times.

(cherry picked from commit dabcae2a1b2223a5c77f9fed28525204b3d303a5)

4 years agostop using travis 10220/head
Your Name [Tue, 8 Dec 2020 08:08:13 +0000 (09:08 +0100)] 
stop using travis

(cherry picked from commit cd8a563cb06dd7a0625db130c6eeb9a58ab8371c)

4 years agoMerge pull request #10199 from omoerbeek/backport-9812-to-rec-4.4.x
Otto Moerbeek [Tue, 23 Mar 2021 14:09:23 +0000 (15:09 +0100)] 
Merge pull request #10199 from omoerbeek/backport-9812-to-rec-4.4.x

rec: Backport 9812 to 4.4.x: Handle failure to start the web server more gracefully

4 years agoMerge pull request #10198 from omoerbeek/backport-9749-to-rec-4.4.x
Otto Moerbeek [Fri, 19 Mar 2021 14:48:01 +0000 (15:48 +0100)] 
Merge pull request #10198 from omoerbeek/backport-9749-to-rec-4.4.x

rec: backport 9749 to 4.4.x: Fix the DNSName move assignement operator

4 years agoMerge pull request #10197 from omoerbeek/backport-9970-to-rec-4.4.x
Otto Moerbeek [Fri, 19 Mar 2021 14:47:46 +0000 (15:47 +0100)] 
Merge pull request #10197 from omoerbeek/backport-9970-to-rec-4.4.x

rec: Backport 9970 to 4.4.x: test that we correctly cap the answer's TTL in expanded wildcard cases

4 years agorec: Handle failure to start the web server more gracefully 10199/head
Remi Gacogne [Thu, 3 Dec 2020 08:34:08 +0000 (09:34 +0100)] 
rec: Handle failure to start the web server more gracefully

At this point we already have several threads so calling exit()
will cause problem by trying to destruct objects that are in use
by other threads, so call _exit() instead.
Also mention the web server in the error message so that the root
cause is easier to identify.

(cherry picked from commit ce715f38fcedf752220cd5056e1a3945330041fd)

4 years agoFix the DNSName move assignement operator 10198/head
Remi Gacogne [Thu, 19 Nov 2020 09:53:06 +0000 (10:53 +0100)] 
Fix the DNSName move assignement operator

A misplaced 'const' prevented it from being called, making every
move of a DNSName into a full copy.
Introduced in d720eb8add5ebda11867e8b404125e0b68ed2911.

(cherry picked from commit 8d1bb300460d5cc97b4599ea8eddeb7b6d35decf)

4 years agorec: Test that we correctly cap the answer's TTL in expanded wildcard cases 10197/head
Remi Gacogne [Wed, 13 Jan 2021 14:24:37 +0000 (15:24 +0100)] 
rec: Test that we correctly cap the answer's TTL in expanded wildcard cases

(cherry picked from commit 84b05fc29e3cab7cd41d0a2309b1f969b7b6d0b7)

4 years agorec: Account for the NSEC(3) denial TTL in expanded wildcard answers
Remi Gacogne [Wed, 13 Jan 2021 11:10:03 +0000 (12:10 +0100)] 
rec: Account for the NSEC(3) denial TTL in expanded wildcard answers

(cherry picked from commit 222ce6bfee7718df70dcaa3e22bb42a3ddf66ad1)

4 years agoMerge pull request #10194 from omoerbeek/backport-9793-to-rec-4.4.x
Otto Moerbeek [Fri, 19 Mar 2021 12:56:19 +0000 (13:56 +0100)] 
Merge pull request #10194 from omoerbeek/backport-9793-to-rec-4.4.x

rec: Backport 9793 to 4.4.x: Fix the gathering of denial proof for wildcard-expanded answers

4 years agoMerge pull request #10192 from omoerbeek/rec-backport-10185-to-4.4.x
Otto Moerbeek [Fri, 19 Mar 2021 09:21:12 +0000 (10:21 +0100)] 
Merge pull request #10192 from omoerbeek/rec-backport-10185-to-4.4.x

rec: Backport 10185 to 4.4.x: make sure we take the right minimum for the PC TTL data in the SERVFAIL case.

4 years agorec: Fix the gathering of denial proof for wildcard-expanded answers 10194/head
Remi Gacogne [Tue, 1 Dec 2020 16:20:22 +0000 (17:20 +0100)] 
rec: Fix the gathering of denial proof for wildcard-expanded answers

If somehow the RRSIG indicating that the answer is expanded from a
wildcard (label count smaller than the number of labels in the name)
went _after_ the NSEC we need, we forgot to gather that NSEC.
It might have been an issue for downstream validation (we do gather
them a second time later for our own validation) since the client
would not have received them.

(cherry picked from commit 0626e855ad5f944f8b357d729dc42e001f57820a)

4 years agoBackport #10185: make sure we take the right minimum for the PC TTL data in the SERVF... 10192/head
Otto [Fri, 19 Mar 2021 07:57:37 +0000 (08:57 +0100)] 
Backport #10185: make sure we take the right minimum for the PC TTL data in the SERVFAIL case.

4 years agoMerge pull request #10062 from Habbie/rec-4.4.x-el8-fstrm
Peter van Dijk [Fri, 5 Feb 2021 13:52:18 +0000 (14:52 +0100)] 
Merge pull request #10062 from Habbie/rec-4.4.x-el8-fstrm

rec-4.4.x el8: pull in libfstrm

4 years agorec-4.4.x el8: pull in libfstrm 10062/head
Peter van Dijk [Fri, 5 Feb 2021 11:25:56 +0000 (12:25 +0100)] 
rec-4.4.x el8: pull in libfstrm

4 years agoMerge pull request #9830 from omoerbeek/rec-4-4.x-drop-el6
Pieter Lexis [Thu, 4 Feb 2021 13:08:24 +0000 (14:08 +0100)] 
Merge pull request #9830 from omoerbeek/rec-4-4.x-drop-el6

Rec: Backport 8617 to 4.4.x: drop el6 build

4 years agoMerge pull request #9852 from pieterlexis/rec-4.4-docker
Otto Moerbeek [Mon, 4 Jan 2021 09:46:49 +0000 (10:46 +0100)] 
Merge pull request #9852 from pieterlexis/rec-4.4-docker

Port the dockerfiles from master to rec-4.4

4 years agoPort the dockerfiles from master to rec-4.4 9852/head
Pieter Lexis [Fri, 11 Dec 2020 10:28:53 +0000 (11:28 +0100)] 
Port the dockerfiles from master to rec-4.4

4 years agoMerge pull request #9837 from omoerbeek/backport-9832-to-rec-4.4.x rec-4.4.2
Otto Moerbeek [Wed, 9 Dec 2020 12:08:22 +0000 (13:08 +0100)] 
Merge pull request #9837 from omoerbeek/backport-9832-to-rec-4.4.x

rec: Backport 9832 to rec 4.4.x: UUID: Use the non-cryptographic variant of the boost::uuid

4 years agoMerge pull request #9838 from omoerbeek/backport-9817-to-rec-4.4.x
Otto Moerbeek [Wed, 9 Dec 2020 12:08:06 +0000 (13:08 +0100)] 
Merge pull request #9838 from omoerbeek/backport-9817-to-rec-4.4.x

rec: Backport 9817 to rec 4.4.x: Keep a cached, valid entry over a fresher Bogus one

4 years agoLWResult::Result does not exist in 4.4.x 9838/head
Otto Moerbeek [Wed, 9 Dec 2020 10:22:24 +0000 (11:22 +0100)] 
LWResult::Result does not exist in 4.4.x

4 years agorec: Fix a comment, as suggested by Otto
Remi Gacogne [Fri, 4 Dec 2020 16:17:24 +0000 (17:17 +0100)] 
rec: Fix a comment, as suggested by Otto

(cherry picked from commit 911d4fa6ff8dd2afd86f10e53cf025ed7b1dd250)

4 years agorec: Fix unit test formatting
Remi Gacogne [Fri, 4 Dec 2020 16:16:34 +0000 (17:16 +0100)] 
rec: Fix unit test formatting

(cherry picked from commit 5cf5062e9bb8c320eba1d4e51f5b0ba9afad0270)

4 years agorec: Keep a cached, valid entry over a fresher Bogus one
Remi Gacogne [Thu, 3 Dec 2020 14:21:48 +0000 (15:21 +0100)] 
rec: Keep a cached, valid entry over a fresher Bogus one

It turns out to be quite difficult to make us accept a record that
we already have in cache, thanks to sanitization, but let's make
sure that we will not replace a valid entry with a Bogus one if that
happens.
It might happen for SOA records, and for DS records when the TTL of
the corresponding NS records is shorter than the TTL of the DS.

(cherry picked from commit feca7c190f690e0caa424a2810a4d43b55501dfb)

4 years agoAdd a speedtest for uuid generation 9837/head
Otto Moerbeek [Wed, 9 Dec 2020 07:37:38 +0000 (08:37 +0100)] 
Add a speedtest for uuid generation

(cherry picked from commit eee6c2d5ab5c322f3e7501e531a0325b586beb3b)

4 years agoUUID: Use the non-cryptographic variant of the boost::uuid
Remi Gacogne [Tue, 8 Dec 2020 15:54:14 +0000 (16:54 +0100)] 
UUID: Use the non-cryptographic variant of the boost::uuid

Since Boost 1.67.0 the default UUID generator is cryptographically
strong, which is neat but quite slower. Since we don't need that,
just use the fastest version.

(cherry picked from commit 0acc8b31804a2ed3bb7309d5fb22576411fcd244)

4 years agoMerge pull request #9833 from Habbie/backport-9831-to-rec-4.4.x
Peter van Dijk [Tue, 8 Dec 2020 21:13:49 +0000 (22:13 +0100)] 
Merge pull request #9833 from Habbie/backport-9831-to-rec-4.4.x

rec-4.4.x: el8: PowerTools is now powertools

4 years agoel8: PowerTools is now powertools 9833/head
Your Name [Tue, 8 Dec 2020 14:23:13 +0000 (15:23 +0100)] 
el8: PowerTools is now powertools

(cherry picked from commit 26fe12046566da83844f1163134ba722a603e911)

4 years agopkgs: drop EL6 9830/head
Pieter Lexis [Tue, 10 Dec 2019 10:45:43 +0000 (11:45 +0100)] 
pkgs: drop EL6

4 years agorec: drop EL6 pkg support
Pieter Lexis [Tue, 10 Dec 2019 10:40:31 +0000 (11:40 +0100)] 
rec: drop EL6 pkg support

4 years agoMerge pull request #9799 from Habbie/backport-9574-to-rec-4.4.x
Otto Moerbeek [Tue, 8 Dec 2020 07:06:38 +0000 (08:06 +0100)] 
Merge pull request #9799 from Habbie/backport-9574-to-rec-4.4.x

rec-4.4.x: Ensure socket-dir matches runtimedir on old systemd

4 years agoMerge pull request #9825 from omoerbeek/backport-9807-to-rec-4.4.x
Otto Moerbeek [Mon, 7 Dec 2020 14:04:45 +0000 (15:04 +0100)] 
Merge pull request #9825 from omoerbeek/backport-9807-to-rec-4.4.x

rec: Backport 9807 to rec 4.4.x: Untangle the validation/resolving qnames and qtypes

4 years agorec: Untangle the validation/resolving qnames and qtypes 9825/head
Remi Gacogne [Wed, 2 Dec 2020 13:46:19 +0000 (14:46 +0100)] 
rec: Untangle the validation/resolving qnames and qtypes

(cherry picked from commit 6d1218188747bdeb9f8fddc52a0499a8d9490ff4)

4 years agoMerge pull request #9821 from rgacogne/rec44-more-bogus-states
Remi Gacogne [Mon, 7 Dec 2020 13:57:04 +0000 (14:57 +0100)] 
Merge pull request #9821 from rgacogne/rec44-more-bogus-states

rec-4.4.x: Move to several distinct Bogus states, for easier debugging

4 years agorec: Preserve compatibility with Lua scripts using the 'Bogus' state 9821/head
Remi Gacogne [Mon, 7 Dec 2020 12:32:17 +0000 (13:32 +0100)] 
rec: Preserve compatibility with Lua scripts using the 'Bogus' state

4 years agoMerge pull request #9805 from omoerbeek/backport-9790-to-rec-4.4.x
Otto Moerbeek [Mon, 7 Dec 2020 12:28:03 +0000 (13:28 +0100)] 
Merge pull request #9805 from omoerbeek/backport-9790-to-rec-4.4.x

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

4 years agorec: Export a 'Bogus' metric as the sum of all other Bogus metrics
Remi Gacogne [Mon, 7 Dec 2020 09:22:36 +0000 (10:22 +0100)] 
rec: Export a 'Bogus' metric as the sum of all other Bogus metrics

4 years agorec: Add more Bogus states to better match rfc8914 extended codes
Remi Gacogne [Thu, 29 Oct 2020 15:00:14 +0000 (16:00 +0100)] 
rec: Add more Bogus states to better match rfc8914 extended codes

(cherry picked from commit fecac3ba8edd4f14d88bab29a215ef246e5af764)

4 years agorec: Move to several distinct Bogus states, for easier debugging
Remi Gacogne [Mon, 12 Oct 2020 10:43:04 +0000 (12:43 +0200)] 
rec: Move to several distinct Bogus states, for easier debugging

This is especially useful after the fact, when the Bogus state is
retrieved from a cache and we don't have any clue left as to how
we ended up with that state.

(cherry picked from commit fd8709153d9318904ef2b1063bff10244d9724fd)

4 years agorec: Do not chase CNAME during qname minization step 4 9805/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 agoEnsure socket-dir matches runtimedir on old systemd 9799/head
Pieter Lexis [Thu, 1 Oct 2020 18:36:51 +0000 (20:36 +0200)] 
Ensure socket-dir matches runtimedir on old systemd

This is mostly a hack for systemd version <240 so using virtual hosting
on Ubuntu Bionic and EL7 does not lead to surprises.

This Commit explicitly adds the `--socket-dir` to the invocation of the
unit. Any users who want to use their own runtimedirs should use a
drop-in unit overriding ExecStart. I believe this does not validate the
principle of least surprise for those using the PowerDNS provided
packages and virtual hosting.

Fixes #9485

(cherry picked from commit 7bbaae110abb53f43d0bf60c81efe3bb8630a925)

4 years agoMerge pull request #9774 from Habbie/backport-9766-to-rec-4.4.x
Otto Moerbeek [Thu, 26 Nov 2020 11:52:07 +0000 (12:52 +0100)] 
Merge pull request #9774 from Habbie/backport-9766-to-rec-4.4.x

rec-4.4.x: APL records: fix endianness problem.

4 years agoAPL records: fix endianness problem. Closes #9763 9774/head
Peter van Dijk [Tue, 24 Nov 2020 14:13:49 +0000 (15:13 +0100)] 
APL records: fix endianness problem. Closes #9763

(cherry picked from commit a0d9f00d8d76bb07847abb2f837f7c629fb238b2)

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

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

4 years agoMerge pull request #9687 from omoerbeek/backport-9651-to-rec-4.4.x
Otto Moerbeek [Mon, 16 Nov 2020 07:05:08 +0000 (08:05 +0100)] 
Merge pull request #9687 from omoerbeek/backport-9651-to-rec-4.4.x

rec: Backport 9651 to rec 4.4.x: Allow to specify a name in getMetric() that is used for Prometheus export only.

4 years agoDo not add request to a wait chain that's already processed or being processed. 9719/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 #9710 from rgacogne/rec44-fakeaaa-cname-loop
Remi Gacogne [Thu, 12 Nov 2020 20:37:28 +0000 (21:37 +0100)] 
Merge pull request #9710 from rgacogne/rec44-fakeaaa-cname-loop

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

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

rec-4.4: do not send overly long NOD lookups

4 years agorec: Add a regression test for the DNS64 CNAME loop detection issue 9710/head
Remi Gacogne [Tue, 10 Nov 2020 10:16:43 +0000 (11:16 +0100)] 
rec: Add a regression test for the DNS64 CNAME loop detection issue

(cherry picked from commit c222611257ba7230b7d5f5cea76bf79067079ce2)

4 years agorec: Avoid a CNAME loop detection issue with DNS64
Remi Gacogne [Tue, 10 Nov 2020 10:15:02 +0000 (11:15 +0100)] 
rec: 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.

(cherry picked from commit acc9751140f91020c2917831b70c7d51f744e91e)

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

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

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

4 years agoOnly prepend the pdns_recursor_ prefix if no 2nd arg to getMteric was 9687/head
Otto Moerbeek [Fri, 30 Oct 2020 08:12:06 +0000 (09:12 +0100)] 
Only prepend the pdns_recursor_ prefix if no 2nd arg to getMteric was
given.

This also fixes the lookup of the HELP entries since they require the
original key. So getAllStats() now returns the key, the prometheus name
and the value.

(cherry picked from commit 308cd14cac73ba48aca3d3953e12d1cc04a96bbb)

4 years agoAllow to specify a name that is used for Prometheus export only.
Otto Moerbeek [Wed, 28 Oct 2020 09:39:23 +0000 (10:39 +0100)] 
Allow to specify a name that is used for Prometheus export only.

This can be used to specify names that are structured using Prometheus
conventions. If no name Prometheus name is given, do a more thorough
conversion to a name Prometheus likes by replacng any non-alnum
char by an underscore.

(cherry picked from commit 57c5fefb0f2d97e072f8a9e34a30729e6c24b52b)

4 years agoMerge pull request #9682 from omoerbeek/backport-9679-to-rec-4.4.x
Otto Moerbeek [Mon, 9 Nov 2020 11:39:58 +0000 (12:39 +0100)] 
Merge pull request #9682 from omoerbeek/backport-9679-to-rec-4.4.x

rec: Backport 9679 to rec 4.4.x: Fix the processing of answers generated from gettag

4 years agoUse the same words for for both cases 9683/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 agorec: Add a regression test for answers generated from gettag 9682/head
Remi Gacogne [Fri, 6 Nov 2020 14:28:53 +0000 (15:28 +0100)] 
rec: Add a regression test for answers generated from gettag

(cherry picked from commit 9fbfe39b195982fbce4123014a943a6f02bbe58d)

4 years agorec: Fix the processing of answers generated from gettag
Remi Gacogne [Fri, 6 Nov 2020 10:56:58 +0000 (11:56 +0100)] 
rec: Fix the processing of answers generated from gettag

The logic to let a RPZ match override the answers generated from Lua
was broken, ignoring the generated values.

(cherry picked from commit 995884ff35d9591857edd6aef0df07e892c19485)

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

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

4 years agorec: Add a unit test for the ANY "just-in-time" cached records case 9605/head
Remi Gacogne [Thu, 24 Sep 2020 16:02:13 +0000 (18:02 +0200)] 
rec: Add a unit test for the ANY "just-in-time" cached records case

4 years agorec: Fix validation when more than one cached record is returned
Remi Gacogne [Thu, 24 Sep 2020 16:01:16 +0000 (18:01 +0200)] 
rec: Fix validation when more than one cached record is returned

We need to validate them RRSet by RRSet.

4 years agorec: Fix returning more than one cached records
Remi Gacogne [Tue, 22 Sep 2020 14:49:34 +0000 (16:49 +0200)] 
rec: Fix returning more than one cached records

The existing implementation did not properly update the DNSSEC
and authoritative status, and did not include all the needed
RRSIG and additional records.