]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
6 weeks agorec: reword spoof_nearmiss_max description 15992/head
Josh Soref [Tue, 19 Aug 2025 17:03:18 +0000 (13:03 -0400)] 
rec: reword spoof_nearmiss_max description

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
6 weeks agoMerge pull request #15979 from romeroalx/fix-pip-pinning-1807
Peter van Dijk [Tue, 19 Aug 2025 07:46:21 +0000 (09:46 +0200)] 
Merge pull request #15979 from romeroalx/fix-pip-pinning-1807

Update Python package pinning for setup_requires dependency `pbr` to version 7.0.0

6 weeks agoMerge pull request #15980 from miodvallat/backport-15962-to-auth-5.0.x
Peter van Dijk [Tue, 19 Aug 2025 07:44:13 +0000 (09:44 +0200)] 
Merge pull request #15980 from miodvallat/backport-15962-to-auth-5.0.x

auth-5.0: be a bit more explicit regarding @ no longer being magic in pdnsutil

6 weeks agoMerge pull request #15934 from omoerbeek/rec-debian-control
Otto Moerbeek [Mon, 18 Aug 2025 11:52:32 +0000 (13:52 +0200)] 
Merge pull request #15934 from omoerbeek/rec-debian-control

rec: move back to a single debian control file

6 weeks agoMerge pull request #15981 from omoerbeek/rec-followup-15756
Otto Moerbeek [Mon, 18 Aug 2025 11:40:40 +0000 (13:40 +0200)] 
Merge pull request #15981 from omoerbeek/rec-followup-15756

rec: add back parent span attributes, they were lost in #15756

6 weeks agorec: add back parent span attributes, they were lost in #15756 15981/head
Otto Moerbeek [Mon, 18 Aug 2025 10:51:56 +0000 (12:51 +0200)] 
rec: add back parent span attributes, they were lost in #15756

Fixes #15974

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
6 weeks agoBe a bit more explicit regarding @ no longer being magic in pdnsutil. 15980/head
Miod Vallat [Wed, 6 Aug 2025 06:32:37 +0000 (08:32 +0200)] 
Be a bit more explicit regarding @ no longer being magic in pdnsutil.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
(cherry picked from commit 950e990ff43a06166a3c54ad826980d957ff42fe)

6 weeks agoMerge pull request #15962 from miodvallat/docaffee
Miod Vallat [Mon, 18 Aug 2025 09:06:35 +0000 (11:06 +0200)] 
Merge pull request #15962 from miodvallat/docaffee

auth: be a bit more explicit regarding @ no longer being magic in pdnsutil

6 weeks agoMerge pull request #15864 from miodvallat/lmdb_polish
Miod Vallat [Mon, 18 Aug 2025 09:06:16 +0000 (11:06 +0200)] 
Merge pull request #15864 from miodvallat/lmdb_polish

auth: objectionable LMDB logic speedups

7 weeks agoDeserialize bool variables as bool. 15864/head
Miod Vallat [Mon, 18 Aug 2025 07:40:30 +0000 (09:40 +0200)] 
Deserialize bool variables as bool.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agopip pinning: update requirements.txt for pbr 7.0.0 15979/head
romeroalx [Mon, 18 Aug 2025 07:38:01 +0000 (09:38 +0200)] 
pip pinning: update requirements.txt for pbr 7.0.0

7 weeks agoReplace magic numbers with less-magic constexpr values in deserialization code.
Miod Vallat [Mon, 18 Aug 2025 07:32:36 +0000 (09:32 +0200)] 
Replace magic numbers with less-magic constexpr values in deserialization code.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoMerge pull request #15958 from miodvallat/impatient
Miod Vallat [Mon, 18 Aug 2025 06:34:52 +0000 (08:34 +0200)] 
Merge pull request #15958 from miodvallat/impatient

Prefer milliseconds to microseconds for timeouts

7 weeks agoMerge pull request #15955 from zeha/rpzmaster
Otto Moerbeek [Mon, 18 Aug 2025 06:33:50 +0000 (08:33 +0200)] 
Merge pull request #15955 from zeha/rpzmaster

rec: test rpzPrimary instead of rpzMaster

7 weeks agoMerge pull request #15450 from miodvallat/abort_retry_ignore
Miod Vallat [Mon, 18 Aug 2025 06:15:42 +0000 (08:15 +0200)] 
Merge pull request #15450 from miodvallat/abort_retry_ignore

[auth] smarter backend lookup aborts

7 weeks agoMerge pull request #15971 from miodvallat/saturday_morning_breakfast_serial
Miod Vallat [Mon, 18 Aug 2025 06:13:15 +0000 (08:13 +0200)] 
Merge pull request #15971 from miodvallat/saturday_morning_breakfast_serial

pdnsutil: smarter SOA handling in zone edit

7 weeks agoMerge pull request #15968 from miodvallat/sorta_ordered
Miod Vallat [Mon, 18 Aug 2025 05:35:29 +0000 (07:35 +0200)] 
Merge pull request #15968 from miodvallat/sorta_ordered

auth: List supported record types in alphabetical order

7 weeks agoSlightly better function name. 15971/head
Miod Vallat [Mon, 18 Aug 2025 05:26:25 +0000 (07:26 +0200)] 
Slightly better function name.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoMerge pull request #15802 from StalkR/debian-preinst-remove-old-init.d-references
Peter van Dijk [Thu, 14 Aug 2025 10:49:42 +0000 (12:49 +0200)] 
Merge pull request #15802 from StalkR/debian-preinst-remove-old-init.d-references

debian: recursor/auth: remove old preinst files

7 weeks agoAdmit defeat against clang-tidy for now
Miod Vallat [Mon, 11 Aug 2025 12:06:08 +0000 (14:06 +0200)] 
Admit defeat against clang-tidy for now

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoExit earlier if no changes in the edit.
Miod Vallat [Mon, 11 Aug 2025 12:18:31 +0000 (14:18 +0200)] 
Exit earlier if no changes in the edit.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoSuggest increasing the serial number even if SOA changes but serial doesn't.
Miod Vallat [Mon, 11 Aug 2025 11:09:20 +0000 (13:09 +0200)] 
Suggest increasing the serial number even if SOA changes but serial doesn't.

Fixes: #13169
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoDisplay the before/after SOA records when updating serial number.
Miod Vallat [Mon, 11 Aug 2025 10:21:18 +0000 (12:21 +0200)] 
Display the before/after SOA records when updating serial number.

This used to be the case and then the code kept building the string but
would no longer output it...

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoNo need to keep a bunch of string in memory after having printed them.
Miod Vallat [Mon, 11 Aug 2025 09:59:21 +0000 (11:59 +0200)] 
No need to keep a bunch of string in memory after having printed them.

And this allows the serial increase block to do less work.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoMove "zone edit" SOA increase code to a separate routine.
Miod Vallat [Mon, 11 Aug 2025 09:45:55 +0000 (11:45 +0200)] 
Move "zone edit" SOA increase code to a separate routine.

Change its interface so that it can report the lack of an SOA record,
in which case we go to the "invalid zone data" state to give the user
a chance to repair the zone.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoRework editZone variable scope again.
Miod Vallat [Mon, 11 Aug 2025 09:27:25 +0000 (11:27 +0200)] 
Rework editZone variable scope again.

We only need grouped when setting up the replaceRRSet() calls, so only
build it at this point.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
7 weeks agoAppease clang-tidy
Miod Vallat [Mon, 11 Aug 2025 09:11:16 +0000 (11:11 +0200)] 
Appease clang-tidy

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoMove some of editZone into separate routines.
Miod Vallat [Mon, 11 Aug 2025 07:47:09 +0000 (09:47 +0200)] 
Move some of editZone into separate routines.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoPick better state names, rework variable scope a bit.
Miod Vallat [Mon, 11 Aug 2025 07:07:32 +0000 (09:07 +0200)] 
Pick better state names, rework variable scope a bit.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoRework editZone() to use a state machine instead of gotos. NFCI
Miod Vallat [Mon, 11 Aug 2025 06:49:02 +0000 (08:49 +0200)] 
Rework editZone() to use a state machine instead of gotos. NFCI

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoList supported record types in alphabetical order. 15968/head
Miod Vallat [Thu, 7 Aug 2025 12:14:38 +0000 (14:14 +0200)] 
List supported record types in alphabetical order.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
8 weeks agoMerge pull request #15964 from miodvallat/498_changelog
Miod Vallat [Thu, 7 Aug 2025 09:58:23 +0000 (11:58 +0200)] 
Merge pull request #15964 from miodvallat/498_changelog

auth 4.9.8 changelog and secpoll update

8 weeks agoMerge pull request #15965 from Ikke/docs-geoip-lua-records
Miod Vallat [Thu, 7 Aug 2025 05:38:26 +0000 (07:38 +0200)] 
Merge pull request #15965 from Ikke/docs-geoip-lua-records

docs: clarify geoip service health checks uses lua records

8 weeks agodocs: clarify geoip service health checks uses lua records 15965/head
Kevin Daudt [Wed, 6 Aug 2025 18:47:47 +0000 (20:47 +0200)] 
docs: clarify geoip service health checks uses lua records

The geoip backend documentation mentions:

> Additionally, the GeoIP backend can be used to provide service over
> several clusters, any of which can be taken out of use easily, for
> example for maintenance purposes.

But no details on how that is achieved. Without knowing Lua records
exist, it's hard to find how to do it.

Add a reference to the Lua records documentation to make it easier to
see the connection.

Signed-off-by: Kevin Daudt <me@ikke.info>
8 weeks ago4.9.8 changelog and secpoll update. 15964/head
Miod Vallat [Wed, 6 Aug 2025 14:36:07 +0000 (16:36 +0200)] 
4.9.8 changelog and secpoll update.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoBe a bit more explicit regarding @ no longer being magic in pdnsutil. 15962/head
Miod Vallat [Wed, 6 Aug 2025 06:32:37 +0000 (08:32 +0200)] 
Be a bit more explicit regarding @ no longer being magic in pdnsutil.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoMore uses cases for lookupEnd(). 15450/head
Miod Vallat [Mon, 4 Aug 2025 13:42:19 +0000 (15:42 +0200)] 
More uses cases for lookupEnd().

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoFaster lookupEnd() for bind, geoip, ldap and lmdb backends.
Miod Vallat [Fri, 18 Apr 2025 09:00:46 +0000 (11:00 +0200)] 
Faster lookupEnd() for bind, geoip, ldap and lmdb backends.

2 months agoUse lookupEnd() to exit lookup loops faster when possible.
Miod Vallat [Fri, 18 Apr 2025 08:38:48 +0000 (10:38 +0200)] 
Use lookupEnd() to exit lookup loops faster when possible.

2 months agoAllow backends to provide faster lookupEnd() logic.
Miod Vallat [Fri, 18 Apr 2025 08:38:20 +0000 (10:38 +0200)] 
Allow backends to provide faster lookupEnd() logic.

2 months agoMerge pull request #15894 from miodvallat/honk_if_you_like_to_rectify
Miod Vallat [Mon, 4 Aug 2025 13:15:59 +0000 (15:15 +0200)] 
Merge pull request #15894 from miodvallat/honk_if_you_like_to_rectify

scrub harder in zone rectify

2 months agoRemove unused bitFlip(). 15958/head
Miod Vallat [Mon, 4 Aug 2025 07:37:07 +0000 (09:37 +0200)] 
Remove unused bitFlip().

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoRemove unused waitFor2Data(). Superseded by waitForMultiData().
Miod Vallat [Mon, 4 Aug 2025 07:28:26 +0000 (09:28 +0200)] 
Remove unused waitFor2Data(). Superseded by waitForMultiData().

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoChange the waitFor*Data routines to take msec instead of usec.
Miod Vallat [Mon, 4 Aug 2025 07:24:34 +0000 (09:24 +0200)] 
Change the waitFor*Data routines to take msec instead of usec.

They wrap poll() which has millisecond timeout resolution anyway.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoMerge pull request #15957 from RvdE/patch-1
Miod Vallat [Mon, 4 Aug 2025 04:42:03 +0000 (06:42 +0200)] 
Merge pull request #15957 from RvdE/patch-1

Add missing #if statements to dnsdist-lua.cc

2 months agoAdd missing #if statements to dnsdist-lua.cc 15957/head
RvdE [Sun, 3 Aug 2025 20:25:33 +0000 (22:25 +0200)] 
Add missing #if statements to dnsdist-lua.cc

This adds some missing #if statements to support building without OpenSSL.

Signed-off-by: RvdE <tremere@cainites.net>
2 months agorec: test rpzPrimary instead of rpzMaster 15955/head
Chris Hofstaedtler [Fri, 1 Aug 2025 11:18:27 +0000 (13:18 +0200)] 
rec: test rpzPrimary instead of rpzMaster

Fixes 3d324e0067dcbc158a280282a5772f3309a4ef81

2 months agoMerge pull request #15939 from rgacogne/ddist-increase-leeway-for-timeout-response...
Remi Gacogne [Thu, 31 Jul 2025 20:05:09 +0000 (22:05 +0200)] 
Merge pull request #15939 from rgacogne/ddist-increase-leeway-for-timeout-response-test

dnsdist: Increase the time granted for the "timeout then restart" test

2 months agoMerge pull request #15866 from miodvallat/elastic_search
Miod Vallat [Thu, 31 Jul 2025 14:03:20 +0000 (16:03 +0200)] 
Merge pull request #15866 from miodvallat/elastic_search

Provide a default searchRecords implementation

2 months agoMerge pull request #15947 from miodvallat/lazy_caching
Miod Vallat [Thu, 31 Jul 2025 12:01:20 +0000 (14:01 +0200)] 
Merge pull request #15947 from miodvallat/lazy_caching

auth: cache the result of some metadata lookups during packet processing

2 months agoClarify the implications of not providing dns_get_all_domains. 15866/head
Miod Vallat [Thu, 31 Jul 2025 10:59:35 +0000 (12:59 +0200)] 
Clarify the implications of not providing dns_get_all_domains.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoCache the result of some metadata lookup. 15947/head
Miod Vallat [Wed, 30 Jul 2025 09:45:53 +0000 (11:45 +0200)] 
Cache the result of some metadata lookup.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoGive backends the ability to perform extra actions during zone rectify. 15894/head
Miod Vallat [Wed, 23 Jul 2025 12:26:09 +0000 (14:26 +0200)] 
Give backends the ability to perform extra actions during zone rectify.

Use this is the LMDB backend to purge possibly orphaned (dangling) NSEC3
records created by 4.x servers.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoProvide a default searchRecords implementation.
Miod Vallat [Thu, 17 Jul 2025 15:24:42 +0000 (17:24 +0200)] 
Provide a default searchRecords implementation.

This is the LMDB searchRecords being promoted to backend-agnostic, as it
only depends on list() and getAllDomains() to work (and get(), obviously).

A new capability, CAP_SEARCH, is added to advertize these requirements are
fulfilled; search will return failure if they are not.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoMerge pull request #15944 from miodvallat/EDOM
Miod Vallat [Thu, 31 Jul 2025 09:47:14 +0000 (11:47 +0200)] 
Merge pull request #15944 from miodvallat/EDOM

lmdb: be more careful when looking into the domains table

2 months agoMerge pull request #15922 from miodvallat/cheap_tricks auth-5.1.0-alpha0
Miod Vallat [Thu, 31 Jul 2025 09:28:47 +0000 (11:28 +0200)] 
Merge pull request #15922 from miodvallat/cheap_tricks

miscellaneous boring cleanups

2 months agoMerge pull request #15948 from miodvallat/random-bakery auth-5.0.0
Miod Vallat [Thu, 31 Jul 2025 09:20:03 +0000 (11:20 +0200)] 
Merge pull request #15948 from miodvallat/random-bakery

auth: random edns cookies

2 months agoMerge pull request #14927 from Cybertinus/patch-1
Miod Vallat [Thu, 31 Jul 2025 07:33:51 +0000 (09:33 +0200)] 
Merge pull request #14927 from Cybertinus/patch-1

Update pdnsutil.bash_completion.d

2 months agoMerge pull request #15949 from omoerbeek/rec-tidy-20250709
Otto Moerbeek [Wed, 30 Jul 2025 17:21:07 +0000 (19:21 +0200)] 
Merge pull request #15949 from omoerbeek/rec-tidy-20250709

rec: assorted tidy

2 months agoTypo in comment 15949/head
Otto Moerbeek [Wed, 30 Jul 2025 16:05:21 +0000 (18:05 +0200)] 
Typo in comment

2 months agoMerge pull request #15950 from omoerbeek/rec-reorder-cacheentry
Otto Moerbeek [Wed, 30 Jul 2025 15:26:47 +0000 (17:26 +0200)] 
Merge pull request #15950 from omoerbeek/rec-reorder-cacheentry

rec: reorder fields of record cache entry by size (saves 8 bytes per entry on 64-bit systems)

2 months agoTypo in comment
Otto Moerbeek [Wed, 30 Jul 2025 15:02:07 +0000 (17:02 +0200)] 
Typo in comment

Co-authored-by: Doug Freed <dwfreed@mtu.edu>
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 months agoProcess review comments from Miod
Otto Moerbeek [Wed, 30 Jul 2025 14:08:26 +0000 (16:08 +0200)] 
Process review comments from Miod

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 months agoAllow edns-cookie-secret to be set to "random". 15948/head
Miod Vallat [Wed, 30 Jul 2025 12:40:11 +0000 (14:40 +0200)] 
Allow edns-cookie-secret to be set to "random".

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agorec: asssorted tidy
Otto Moerbeek [Wed, 9 Jul 2025 13:04:42 +0000 (15:04 +0200)] 
rec: asssorted tidy

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 months agorec: reorder fields of record cache entry by size (saves 8 bytes per entry on 64... 15950/head
Otto Moerbeek [Tue, 29 Jul 2025 14:25:09 +0000 (16:25 +0200)] 
rec: reorder fields of record cache entry by size (saves 8 bytes per entry on 64-bit systems)

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 months agoAppease clang-tidy 15944/head
Miod Vallat [Wed, 30 Jul 2025 08:13:27 +0000 (10:13 +0200)] 
Appease clang-tidy

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoBe more careful when looking into the domains table.
Miod Vallat [Wed, 30 Jul 2025 07:07:49 +0000 (09:07 +0200)] 
Be more careful when looking into the domains table.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoMerge pull request #15928 from miodvallat/slebalwar
Miod Vallat [Wed, 30 Jul 2025 06:12:53 +0000 (08:12 +0200)] 
Merge pull request #15928 from miodvallat/slebalwar

Make keyUnconv a bit less inefficient

2 months agoMerge pull request #15603 from zeha/svcb-generic
Miod Vallat [Wed, 30 Jul 2025 05:47:34 +0000 (07:47 +0200)] 
Merge pull request #15603 from zeha/svcb-generic

SVCB: allow parsing keys in generic format without value

2 months agoSVCB: allow parsing generic key without value 15603/head
Chris Hofstaedtler [Tue, 27 May 2025 20:04:34 +0000 (22:04 +0200)] 
SVCB: allow parsing generic key without value

2 months agoMerge pull request #15881 from rgacogne/ddist-opcode-mnemonic
Remi Gacogne [Tue, 29 Jul 2025 14:46:14 +0000 (16:46 +0200)] 
Merge pull request #15881 from rgacogne/ddist-opcode-mnemonic

dnsdist: Support mnemonics for the Opcode selector

2 months agoMerge pull request #15938 from omoerbeek/rec-pregen-librs
Otto Moerbeek [Tue, 29 Jul 2025 13:40:50 +0000 (15:40 +0200)] 
Merge pull request #15938 from omoerbeek/rec-pregen-librs

rec: put lib.rs into tarball

2 months agoMerge pull request #15936 from omoerbeek/prep-5.1.7-5.2.5
Otto Moerbeek [Tue, 29 Jul 2025 10:52:02 +0000 (12:52 +0200)] 
Merge pull request #15936 from omoerbeek/prep-5.1.7-5.2.5

rec: Prep for 5.1.7 and 5.2.5

2 months agodnsdist: Increase the time granted for the "timeout then restart" test 15939/head
Remi Gacogne [Tue, 29 Jul 2025 09:42:24 +0000 (11:42 +0200)] 
dnsdist: Increase the time granted for the "timeout then restart" test

This test fails from time to time in our CI. After investigation, it
turns out that sometimes the response comes just a few milliseconds
after the 3 seconds timeout has expired:

```
Got answer from 127.0.0.1:14191, relayed to 127.0.0.1:36139 (UDP), took 3.00105e+06 us
```

So let's use a slightly larger timeout of 4 seconds. It will not add
any delay if the response is received faster than that and will hopefully
reduce the number of spurious failures.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 months agoMerge pull request #15937 from rgacogne/ddist-no-rust-quiche-ci-least
Remi Gacogne [Tue, 29 Jul 2025 09:32:03 +0000 (11:32 +0200)] 
Merge pull request #15937 from rgacogne/ddist-no-rust-quiche-ci-least

ci: Don't install Rust or Quiche when testing DNSdist 'least'

2 months agorec: put lib.rs into tarball 15938/head
Otto Moerbeek [Mon, 28 Jul 2025 14:47:00 +0000 (16:47 +0200)] 
rec: put lib.rs into tarball

Plus some rearrangement is more like the dnsdist one

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 months agoPrep for 5.1.7 and 5.2.5 15936/head
Otto Moerbeek [Mon, 28 Jul 2025 09:39:06 +0000 (11:39 +0200)] 
Prep for 5.1.7 and 5.2.5

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 months agodns: Get rid of the ugly special case for OpCode 3 15881/head
Remi Gacogne [Thu, 24 Jul 2025 09:11:24 +0000 (11:11 +0200)] 
dns: Get rid of the ugly special case for OpCode 3

As suggested by Miod.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 months agodnsdist: Support mnemonics for the Opcode selector
Remi Gacogne [Mon, 21 Jul 2025 09:56:47 +0000 (11:56 +0200)] 
dnsdist: Support mnemonics for the Opcode selector

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 months agorec: move back to a single debian control file 15934/head
Otto Moerbeek [Mon, 28 Jul 2025 08:27:00 +0000 (10:27 +0200)] 
rec: move back to a single debian control file

Now that zeha@ figured out the correct conditional for the systemd-dev/systemd dependency

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
2 months agoMerge pull request #15904 from rgacogne/ddist-fix-systemd-unit-meson
Remi Gacogne [Mon, 28 Jul 2025 07:33:44 +0000 (09:33 +0200)] 
Merge pull request #15904 from rgacogne/ddist-fix-systemd-unit-meson

dnsdist: Fix systemd template unit and restricted network families when building with meson

2 months agoMerge pull request #15923 from rgacogne/ddist-add-test-netmask-exclusion
Remi Gacogne [Mon, 28 Jul 2025 07:32:42 +0000 (09:32 +0200)] 
Merge pull request #15923 from rgacogne/ddist-add-test-netmask-exclusion

dnsdist: Test netmask exclusions via YAML

2 months agoMerge pull request #15919 from rgacogne/ddist-upgrade-quiche
Remi Gacogne [Mon, 28 Jul 2025 07:32:09 +0000 (09:32 +0200)] 
Merge pull request #15919 from rgacogne/ddist-upgrade-quiche

dnsdist: Upgrade Cloudflare's Quiche to 0.24.4

2 months agoMerge pull request #15914 from rgacogne/ddist-fix-quickstart-qps
Remi Gacogne [Mon, 28 Jul 2025 07:32:00 +0000 (09:32 +0200)] 
Merge pull request #15914 from rgacogne/ddist-fix-quickstart-qps

dnsdist: Fix invalid "qps" in Quickstart Guide

2 months agoMerge pull request #15915 from omoerbeek/rust-build-env
Otto Moerbeek [Mon, 28 Jul 2025 05:43:27 +0000 (07:43 +0200)] 
Merge pull request #15915 from omoerbeek/rust-build-env

rec and dnsdist: properly set up env vars for rust build

2 months agoci: Don't install Rust or Quiche when testing DNSdist 'least' 15937/head
Remi Gacogne [Fri, 25 Jul 2025 14:42:00 +0000 (16:42 +0200)] 
ci: Don't install Rust or Quiche when testing DNSdist 'least'

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 months agoDo not use countLabels() in chopOff() loop conditions. 15922/head
Miod Vallat [Fri, 25 Jul 2025 13:00:13 +0000 (15:00 +0200)] 
Do not use countLabels() in chopOff() loop conditions.

Instead, compute it once outside of the loop in a local variable and
decrement that variable.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoMore use of hasLabels
Miod Vallat [Fri, 25 Jul 2025 12:59:06 +0000 (14:59 +0200)] 
More use of hasLabels

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoAddress clang-tidy complains.
Miod Vallat [Fri, 25 Jul 2025 09:10:32 +0000 (11:10 +0200)] 
Address clang-tidy complains.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoSimplify some DNSName label processing.
Miod Vallat [Fri, 25 Jul 2025 07:05:25 +0000 (09:05 +0200)] 
Simplify some DNSName label processing.

Instead of checking countLabels() against zero, introduce a faster
hasLabels() which does not need to actually count them.

Also replace getRawLabels()[n] with getRawLabel(n), the only difference
being that getRawLabel() will raise an exception if n is out of bounds,
instead of returning garbage.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoUse ERCode symbolic names instead of their numerical values.
Miod Vallat [Fri, 25 Jul 2025 06:30:33 +0000 (08:30 +0200)] 
Use ERCode symbolic names instead of their numerical values.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoFactor logic checking for a zone metadata being equal to "1".
Miod Vallat [Fri, 25 Jul 2025 06:21:53 +0000 (08:21 +0200)] 
Factor logic checking for a zone metadata being equal to "1".

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoDeclare global const DNSName variables for frequently-used names
Miod Vallat [Fri, 25 Jul 2025 06:03:36 +0000 (08:03 +0200)] 
Declare global const DNSName variables for frequently-used names

(such as the TSIG key algorithms)

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agoBuild the DNSName in order in keyUnconv. 15928/head
Miod Vallat [Fri, 25 Jul 2025 10:34:23 +0000 (12:34 +0200)] 
Build the DNSName in order in keyUnconv.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
2 months agodnsdist: Test netmask exclusions via YAML 15923/head
Remi Gacogne [Fri, 25 Jul 2025 08:08:58 +0000 (10:08 +0200)] 
dnsdist: Test netmask exclusions via YAML

Follow-up to #15822.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
2 months agoMerge pull request #15890 from rgacogne/lua-wrapper-std-optional
Remi Gacogne [Fri, 25 Jul 2025 08:02:00 +0000 (10:02 +0200)] 
Merge pull request #15890 from rgacogne/lua-wrapper-std-optional

LuaWrapper: Add support for `std::optional`

2 months agoMerge pull request #15916 from rgacogne/ddist-rings-update-atomic-outside-lock
Remi Gacogne [Thu, 24 Jul 2025 15:25:20 +0000 (17:25 +0200)] 
Merge pull request #15916 from rgacogne/ddist-rings-update-atomic-outside-lock

dnsdist: Update rings' atomic counter without holding the lock

2 months agoMerge pull request #15917 from rgacogne/ddist-early-return-empty-chains
Remi Gacogne [Thu, 24 Jul 2025 15:25:07 +0000 (17:25 +0200)] 
Merge pull request #15917 from rgacogne/ddist-early-return-empty-chains

dnsdist: Return early when a rule chain is empty

2 months agoMerge pull request #15918 from rgacogne/ddist-cache-update-atomic-outside-lock
Remi Gacogne [Thu, 24 Jul 2025 15:24:58 +0000 (17:24 +0200)] 
Merge pull request #15918 from rgacogne/ddist-cache-update-atomic-outside-lock

dnsdist: Update a cache's atomic counter without holding the lock