]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
4 weeks agoOnly allow the failure if the incoming.listen settings is default 15758/head
Otto Moerbeek [Tue, 1 Jul 2025 09:51:10 +0000 (11:51 +0200)] 
Only allow the failure if the incoming.listen settings is default

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
4 weeks agorec: start to listen on ::1 by default, but don't consider it an error if it fails
Otto Moerbeek [Tue, 3 Jun 2025 14:56:38 +0000 (16:56 +0200)] 
rec: start to listen on ::1 by default, but don't consider it an error if it fails

4 weeks agoMerge pull request #15752 from omoerbeek/rec-rustweb-vs-handler
Otto Moerbeek [Mon, 30 Jun 2025 18:28:03 +0000 (20:28 +0200)] 
Merge pull request #15752 from omoerbeek/rec-rustweb-vs-handler

rec: don't let rust code and handler use thread pipes simultaneously

4 weeks agoMerge pull request #15745 from miodvallat/nsec3_to_deceive
Miod Vallat [Mon, 30 Jun 2025 14:34:51 +0000 (16:34 +0200)] 
Merge pull request #15745 from miodvallat/nsec3_to_deceive

"simple" lmdb code factoring

4 weeks agoMerge pull request #15753 from miodvallat/clever_breakage
Miod Vallat [Mon, 30 Jun 2025 14:34:04 +0000 (16:34 +0200)] 
Merge pull request #15753 from miodvallat/clever_breakage

Unbreak auth tests

4 weeks agoMerge pull request #15744 from bagasme/dnsdist-installing-update
Remi Gacogne [Mon, 30 Jun 2025 13:59:42 +0000 (15:59 +0200)] 
Merge pull request #15744 from bagasme/dnsdist-installing-update

dnsdist: Mention compiling with meson

4 weeks agoFix oracle after merge of #15417. 15753/head
Miod Vallat [Mon, 30 Jun 2025 13:27:19 +0000 (15:27 +0200)] 
Fix oracle after merge of #15417.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoMerge pull request #15748 from omoerbeek/rec-meson-python-version
Otto Moerbeek [Mon, 30 Jun 2025 13:25:13 +0000 (15:25 +0200)] 
Merge pull request #15748 from omoerbeek/rec-meson-python-version

rec meson: check python version to be at least 3.8

4 weeks agoMerge pull request #15417 from miodvallat/some_other_afternoon
Miod Vallat [Mon, 30 Jun 2025 12:58:57 +0000 (14:58 +0200)] 
Merge pull request #15417 from miodvallat/some_other_afternoon

[tools] Let pdnsutil always setup a SOA-EDIT-API metadata when creating zones

4 weeks agoMore logic worth factoring in getBeforeAndAfterNames(). 15745/head
Miod Vallat [Mon, 30 Jun 2025 12:54:14 +0000 (14:54 +0200)] 
More logic worth factoring in getBeforeAndAfterNames().

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoRewrite the now-deobfuscated logic into two getAfterForward calls.
Miod Vallat [Mon, 30 Jun 2025 10:53:08 +0000 (12:53 +0200)] 
Rewrite the now-deobfuscated logic into two getAfterForward calls.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agorec meson: check python version to be at least 3.8 15748/head
Otto Moerbeek [Mon, 30 Jun 2025 11:41:04 +0000 (13:41 +0200)] 
rec meson: check python version to be at least 3.8

Fixes #15732

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
4 weeks agoMerge pull request #15746 from omoerbeek/rec-fix-sysconf-debian
Otto Moerbeek [Mon, 30 Jun 2025 11:42:00 +0000 (13:42 +0200)] 
Merge pull request #15746 from omoerbeek/rec-fix-sysconf-debian

rec: Fix sysconfdir in debian packages built by meson

4 weeks agorec: don't let rust code and handler use thread pipes simultaneously 15752/head
Otto Moerbeek [Mon, 30 Jun 2025 11:02:35 +0000 (13:02 +0200)] 
rec: don't let rust code and handler use thread pipes simultaneously

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
4 weeks agoDeobfuscate a loop variable.
Miod Vallat [Mon, 30 Jun 2025 10:24:59 +0000 (12:24 +0200)] 
Deobfuscate a loop variable.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoFactor trailing code of getBeforeAndAfterNamesAbsolute(). NFCI
Miod Vallat [Mon, 30 Jun 2025 10:11:10 +0000 (12:11 +0200)] 
Factor trailing code of getBeforeAndAfterNamesAbsolute(). NFCI

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoRemove duplicate assignment.
Miod Vallat [Mon, 30 Jun 2025 09:44:53 +0000 (11:44 +0200)] 
Remove duplicate assignment.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoMerge pull request #15730 from renaudallard/patch-1
Otto Moerbeek [Mon, 30 Jun 2025 09:30:38 +0000 (11:30 +0200)] 
Merge pull request #15730 from renaudallard/patch-1

rec: Correct zonetocaches settings example

4 weeks agorec: Fix sysconfdir in debian packages built by meson 15746/head
Otto Moerbeek [Mon, 30 Jun 2025 07:54:23 +0000 (09:54 +0200)] 
rec: Fix sysconfdir in debian packages built by meson

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
4 weeks agodnsdist: Mention compiling with meson 15744/head
Bagas Sanjaya [Mon, 30 Jun 2025 04:37:49 +0000 (11:37 +0700)] 
dnsdist: Mention compiling with meson

While the installation docs covers building dnsdist with autotools and
GNU make, there is none for meson and ninja. Describe how to do the latter.

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
4 weeks agoRewrite some for(;;) loops as while loops. NFC
Miod Vallat [Mon, 30 Jun 2025 06:58:06 +0000 (08:58 +0200)] 
Rewrite some for(;;) loops as while loops. NFC

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoFactor code checking for a NSEC3 back chain record.
Miod Vallat [Mon, 30 Jun 2025 06:54:29 +0000 (08:54 +0200)] 
Factor code checking for a NSEC3 back chain record.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoMerge pull request #15737 from rgacogne/dnsdist-resolver-same-number-different-ips
Remi Gacogne [Mon, 30 Jun 2025 07:52:03 +0000 (09:52 +0200)] 
Merge pull request #15737 from rgacogne/dnsdist-resolver-same-number-different-ips

dnsdist-resolver: Fix a bug when we get new IPs for a server

4 weeks agoMerge pull request #15739 from rgacogne/lmdb-safe-getmdbenv-race
Remi Gacogne [Mon, 30 Jun 2025 07:51:26 +0000 (09:51 +0200)] 
Merge pull request #15739 from rgacogne/lmdb-safe-getmdbenv-race

lmdb-safe: Fix a small race in `getMDBEnv`

4 weeks agoFactor code responsible for writing matching NSEC3 entries.
Miod Vallat [Mon, 30 Jun 2025 06:36:02 +0000 (08:36 +0200)] 
Factor code responsible for writing matching NSEC3 entries.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoMerge pull request #15735 from rgacogne/lmdb-safe-scalability
Remi Gacogne [Fri, 27 Jun 2025 19:56:55 +0000 (21:56 +0200)] 
Merge pull request #15735 from rgacogne/lmdb-safe-scalability

lmdb-safe: Improve the scalability of transaction maps

4 weeks agoMerge pull request #15738 from rgacogne/ddist-lmdb-use-getmdbenv
Remi Gacogne [Fri, 27 Jun 2025 19:55:12 +0000 (21:55 +0200)] 
Merge pull request #15738 from rgacogne/ddist-lmdb-use-getmdbenv

dnsdist: Prevent users from opening the same LMDB twice

4 weeks agolmdb-safe: Do not use strerror() which is not thread-safe 15739/head
Remi Gacogne [Fri, 27 Jun 2025 19:54:41 +0000 (21:54 +0200)] 
lmdb-safe: Do not use strerror() which is not thread-safe

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
4 weeks agolmdb-safe: Fix a small race in `getMDBEnv`
Remi Gacogne [Fri, 27 Jun 2025 14:40:38 +0000 (16:40 +0200)] 
lmdb-safe: Fix a small race in `getMDBEnv`

I believe there is a small race in the `getMDBEnv`: if the database
file does not exist when we first try to get the file metadata, we
acquire the lock then create a new `MDBEnv` and store it in the map.
But what happens if a different thread created the database between
our first check and the call to `MDBEnv`? I believe we would create
a new environment and override the existing entry in the map, bypassing
the check.
This commit introduces a second check right after acquiring the lock
to prevent that.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
4 weeks agodnsdist: Prevent users from opening the same LMDB twice 15738/head
Remi Gacogne [Fri, 27 Jun 2025 14:37:46 +0000 (16:37 +0200)] 
dnsdist: Prevent users from opening the same LMDB twice

As noted by Peter: "LMBD requires that database is opened
exactly once per process. Opening multiple times breaks file
locks silently, which leads to corrupting the database."

While I don't expect users to actually do that, we already have
a nice helper function to prevent this mistake in the lmdb-safe
code base, so let's use it.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
4 weeks agodnsdist-resolver: Fix a bug when we get new IPs for a server 15737/head
Remi Gacogne [Fri, 27 Jun 2025 14:09:18 +0000 (16:09 +0200)] 
dnsdist-resolver: Fix a bug when we get new IPs for a server

The `dnsdist-resolver` script regularly checks the IPs corresponding
to a backend `hostname`, and updates our backend accordingly:
- if an IP we previously received vanishes, it removes the backend
  corresponding to that IP
- if a new IP shows up, it adds a new backend

The existing code tries to avoid some work by keeping track of the
number of IPs associated to a given server, skipping the comparisons
of recently received IPs to existing ones if the number did not change.
This unfortunately does not work well if we get the same number of IPs
but with different IPs in the set.
This caused some backends to never get removed and stay along as ghosts,
as well as some new IPs to never be picked up.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
4 weeks agoMerge pull request #15727 from miodvallat/spaceships'r'us
Miod Vallat [Fri, 27 Jun 2025 13:35:07 +0000 (15:35 +0200)] 
Merge pull request #15727 from miodvallat/spaceships'r'us

Spaceships'r'us

4 weeks agoAdd a few comments. 15727/head
Miod Vallat [Fri, 27 Jun 2025 12:59:41 +0000 (14:59 +0200)] 
Add a few comments.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoMerge pull request #15731 from lucasRolff/master
Remi Gacogne [Fri, 27 Jun 2025 10:52:56 +0000 (12:52 +0200)] 
Merge pull request #15731 from lucasRolff/master

Add :getQueries() method to Server class

4 weeks agoMerge pull request #15617 from Habbie/views-no-delete
Peter van Dijk [Fri, 27 Jun 2025 10:52:00 +0000 (12:52 +0200)] 
Merge pull request #15617 from Habbie/views-no-delete

remove mistaken doc section - you cannot delete views

4 weeks agolmdb-safe: Use unordered maps for the transaction maps 15735/head
Remi Gacogne [Fri, 27 Jun 2025 10:15:48 +0000 (12:15 +0200)] 
lmdb-safe: Use unordered maps for the transaction maps

We don't need the maps to be ordered, and unordered maps are usually
slightly faster.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
4 weeks agolmdb-safe: Improve the scalability of transaction maps
Remi Gacogne [Fri, 27 Jun 2025 10:12:29 +0000 (12:12 +0200)] 
lmdb-safe: Improve the scalability of transaction maps

This commit improves the scalability of the transaction maps by
moving from a `mutex` to a `shared_mutex` and making the stored value
atomic. This allows accessing the maps concurrently from different threads
as long as the entry for the thread exists, and we fall back to
taking a full lock otherwise.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
4 weeks agoMerge pull request #15733 from miodvallat/ENOSPC
Miod Vallat [Fri, 27 Jun 2025 09:06:06 +0000 (11:06 +0200)] 
Merge pull request #15733 from miodvallat/ENOSPC

Reduce ZoneName::toString mess

4 weeks agoadd test 15733/head
Peter van Dijk [Fri, 27 Jun 2025 07:41:36 +0000 (09:41 +0200)] 
add test

4 weeks agoRemove ZoneName::toStringFull() now that it is identical to toString().
Miod Vallat [Fri, 27 Jun 2025 06:35:02 +0000 (08:35 +0200)] 
Remove ZoneName::toStringFull() now that it is identical to toString().

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoLet ZoneName::toString*() output the variant, if any.
Miod Vallat [Fri, 27 Jun 2025 06:33:58 +0000 (08:33 +0200)] 
Let ZoneName::toString*() output the variant, if any.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoLet apiZoneNameToId() also encode the variant name, if any.
Miod Vallat [Fri, 27 Jun 2025 06:33:32 +0000 (08:33 +0200)] 
Let apiZoneNameToId() also encode the variant name, if any.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoChange versionadded to 2.0.0 15731/head
Lucas Rolff [Fri, 27 Jun 2025 08:05:58 +0000 (10:05 +0200)] 
Change versionadded to 2.0.0

Co-authored-by: Remi Gacogne <github@coredump.fr>
Signed-off-by: Lucas Rolff <lucas@slcoding.com>
4 weeks agoAdd a few more explicit DNSName casts when computing record data.
Miod Vallat [Fri, 27 Jun 2025 06:32:48 +0000 (08:32 +0200)] 
Add a few more explicit DNSName casts when computing record data.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoSprinkle explicit DNSName casts in cache purge operations.
Miod Vallat [Fri, 27 Jun 2025 06:31:46 +0000 (08:31 +0200)] 
Sprinkle explicit DNSName casts in cache purge operations.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoRework stripDomainSuffix() interface to take a ZoneName. NFC
Miod Vallat [Fri, 27 Jun 2025 05:56:36 +0000 (07:56 +0200)] 
Rework stripDomainSuffix() interface to take a ZoneName. NFC

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoMove stripDomainSuffix() to its only user and make it static.
Miod Vallat [Fri, 27 Jun 2025 05:50:28 +0000 (07:50 +0200)] 
Move stripDomainSuffix() to its only user and make it static.

This also moves ciEqual() and endsOn() which are only used by
stripDomainSuffix().

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoCorrect getQueries() config reference
Lucas Rolff [Thu, 26 Jun 2025 20:45:28 +0000 (22:45 +0200)] 
Correct getQueries() config reference

Replaced `droppped` with `total` in the rst.

Signed-off-by: Lucas Rolff <lucas@lucasrolff.com>
4 weeks agoAdd :getQueries() method to Server class
Lucas Rolff [Thu, 26 Jun 2025 20:36:03 +0000 (22:36 +0200)] 
Add :getQueries() method to Server class

This exposes the total number of queries a downstream server has handled
similarly to how the :getDrops() method are available within Lua

When doing custom logic within Lua it's sometimes useful to be able to
know how many queries a given server has handled, so this simply exposes
that metric within the Server class directly.

4 weeks agoMerge pull request #15669 from miodvallat/serial_keyer dnsdist-2.1.0-alpha0
Miod Vallat [Thu, 26 Jun 2025 15:30:27 +0000 (17:30 +0200)] 
Merge pull request #15669 from miodvallat/serial_keyer

Increase zone serial number after zone key operations

4 weeks agoUpdate docs-new-preamble-in.rst 15730/head
Renaud Allard [Thu, 26 Jun 2025 14:39:38 +0000 (16:39 +0200)] 
Update docs-new-preamble-in.rst

zonetocaches was under recursor section instead of recordcache

Signed-off-by: Renaud Allard <renaud@allard.it>
4 weeks agoMake sure tœ update the serial number within a transaction. 15669/head
Miod Vallat [Thu, 26 Jun 2025 14:29:27 +0000 (16:29 +0200)] 
Make sure tÅ“ update the serial number within a transaction.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoIncrease zone serial after crypto key operations (if setup to do so).
Miod Vallat [Fri, 13 Jun 2025 08:54:55 +0000 (10:54 +0200)] 
Increase zone serial after crypto key operations (if setup to do so).

Fixes: #11733
4 weeks agoMerge pull request #15618 from Habbie/views-wsauth-exceptions
Peter van Dijk [Thu, 26 Jun 2025 13:56:52 +0000 (15:56 +0200)] 
Merge pull request #15618 from Habbie/views-wsauth-exceptions

views: exception text nits

4 weeks agoMerge pull request #15677 from miodvallat/enlarge_your_map
Miod Vallat [Thu, 26 Jun 2025 13:32:21 +0000 (15:32 +0200)] 
Merge pull request #15677 from miodvallat/enlarge_your_map

LMDB: honour map-size for all files

4 weeks agoMerge pull request #15729 from rgacogne/ddist-additional-addresses-dot-doh-only
Remi Gacogne [Thu, 26 Jun 2025 13:23:45 +0000 (15:23 +0200)] 
Merge pull request #15729 from rgacogne/ddist-additional-addresses-dot-doh-only

dnsdist: Enforce that additional addresses are DoT/DoH only

4 weeks agoremove mistaken doc section - you cannot delete views 15617/head
Peter van Dijk [Tue, 3 Jun 2025 11:41:14 +0000 (13:41 +0200)] 
remove mistaken doc section - you cannot delete views

4 weeks agofix missing space in error message 15618/head
Peter van Dijk [Tue, 3 Jun 2025 11:38:59 +0000 (13:38 +0200)] 
fix missing space in error message

4 weeks agowe were always one dot short
Peter van Dijk [Tue, 3 Jun 2025 11:36:02 +0000 (13:36 +0200)] 
we were always one dot short

4 weeks agodnsdist: Remove useless empty line 15729/head
Remi Gacogne [Thu, 26 Jun 2025 12:24:10 +0000 (14:24 +0200)] 
dnsdist: Remove useless empty line

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
4 weeks agodnsdist: Reduce the complexity of the YAML frontend code
Remi Gacogne [Thu, 26 Jun 2025 12:21:38 +0000 (14:21 +0200)] 
dnsdist: Reduce the complexity of the YAML frontend code

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
4 weeks agoMerge pull request #15728 from miodvallat/luar
Miod Vallat [Thu, 26 Jun 2025 11:03:20 +0000 (13:03 +0200)] 
Merge pull request #15728 from miodvallat/luar

Lua for all

4 weeks agodnsdist: Enforce that additional addresses are DoT/DoH only
Remi Gacogne [Thu, 26 Jun 2025 10:46:49 +0000 (12:46 +0200)] 
dnsdist: Enforce that additional addresses are DoT/DoH only

I want to support additional addresses on frontends for all protocols,
but the amount of code to change is too important for the 2.0 branch.
So for now, let's document and enforce the current limitation to prevent
surprises.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
4 weeks agoMerge pull request #15594 from Habbie/auth-docker-version-crash
Peter van Dijk [Thu, 26 Jun 2025 10:35:59 +0000 (12:35 +0200)] 
Merge pull request #15594 from Habbie/auth-docker-version-crash

auth docker: avoid crash on --version caused by doubly loaded modules

4 weeks agoMerge pull request #15698 from Habbie/fishing-for-salt
Peter van Dijk [Thu, 26 Jun 2025 10:20:13 +0000 (12:20 +0200)] 
Merge pull request #15698 from Habbie/fishing-for-salt

auth LMDB: attempt to have predictable IDs

4 weeks agoMerge pull request #15621 from Habbie/views-rest-one-no-list
Peter van Dijk [Thu, 26 Jun 2025 10:16:33 +0000 (12:16 +0200)] 
Merge pull request #15621 from Habbie/views-rest-one-no-list

auth views REST: don't wrap list around single network

4 weeks agoLua not being optional anymore, simplify autoconf handling. 15728/head
Miod Vallat [Thu, 26 Jun 2025 10:11:51 +0000 (12:11 +0200)] 
Lua not being optional anymore, simplify autoconf handling.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoTry to make clang-tidy less unhappy. Yawn.
Miod Vallat [Thu, 26 Jun 2025 09:04:56 +0000 (11:04 +0200)] 
Try to make clang-tidy less unhappy. Yawn.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoMerge pull request #15714 from nokia/serverstatechange
Remi Gacogne [Thu, 26 Jun 2025 08:46:58 +0000 (10:46 +0200)] 
Merge pull request #15714 from nokia/serverstatechange

dnsdist: support server state change lua callback

4 weeks agoMark dns_isspace as const rather than simply pure
Miod Vallat [Thu, 26 Jun 2025 08:42:17 +0000 (10:42 +0200)] 
Mark dns_isspace as const rather than simply pure

Co-authored-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoUse three-way-comparisons to improve isCoveredByNSEC* logic.
Miod Vallat [Thu, 26 Jun 2025 08:07:44 +0000 (10:07 +0200)] 
Use three-way-comparisons to improve isCoveredByNSEC* logic.

This allows us to perform at most three comparisons instead of eight.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoReplace pairs of canonCompare calls with a single canonCompare_three_way.
Miod Vallat [Thu, 26 Jun 2025 07:50:05 +0000 (09:50 +0200)] 
Replace pairs of canonCompare calls with a single canonCompare_three_way.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
4 weeks agoFix ZoneName::operator< by traversing DNSName in the right direction.
Miod Vallat [Thu, 26 Jun 2025 07:41:17 +0000 (09:41 +0200)] 
Fix ZoneName::operator< by traversing DNSName in the right direction.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agoIntroduce canonCompare_three_way for {DNS,Zone}Name.
Miod Vallat [Thu, 26 Jun 2025 07:33:22 +0000 (09:33 +0200)] 
Introduce canonCompare_three_way for {DNS,Zone}Name.

This allows ZoneName::canonCompare* to only invoke
DNSName::canonCompare_three_way() once instead of
DNSName::canonCompare() twice.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agoMerge pull request #15724 from miodvallat/don't_download_this_song
Miod Vallat [Thu, 26 Jun 2025 07:32:27 +0000 (09:32 +0200)] 
Merge pull request #15724 from miodvallat/don't_download_this_song

rec: avoid curl during build if unnecessary

5 weeks agoUse pdns_ilexicographical_compare_three_way() in DNSName::canonCompare()...
Miod Vallat [Thu, 26 Jun 2025 06:51:30 +0000 (08:51 +0200)] 
Use pdns_ilexicographical_compare_three_way() in DNSName::canonCompare()...

...rather than two std::lexicographical_compare() calls.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agode-inline DNSName::canonCompare(). NFC
Miod Vallat [Thu, 26 Jun 2025 06:32:08 +0000 (08:32 +0200)] 
de-inline DNSName::canonCompare(). NFC

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agoIntroduce pdns_ilexicographical_compare_three_way()...
Miod Vallat [Thu, 26 Jun 2025 06:23:11 +0000 (08:23 +0200)] 
Introduce pdns_ilexicographical_compare_three_way()...

...and rewrite pdns_ilexicographical_compare() and pdns_iequals() as
trivial wrappers around it.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agoFactor out triplicated comparison code.
Miod Vallat [Wed, 25 Jun 2025 17:17:21 +0000 (19:17 +0200)] 
Factor out triplicated comparison code.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agoLet toLowerCanonic() invoke toLowerInPlace() instead of duplicating it.
Miod Vallat [Wed, 25 Jun 2025 17:15:20 +0000 (19:15 +0200)] 
Let toLowerCanonic() invoke toLowerInPlace() instead of duplicating it.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agoUse twice as fewer dns_tolower() calls in pdns_ilexicographical_compare().
Miod Vallat [Wed, 25 Jun 2025 17:07:07 +0000 (19:07 +0200)] 
Use twice as fewer dns_tolower() calls in pdns_ilexicographical_compare().

[Although the compiler had probably been smart enough to optimize this
already]

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agoMark dns_{isspace,tolower,toupper} pure.
Miod Vallat [Wed, 25 Jun 2025 17:01:16 +0000 (19:01 +0200)] 
Mark dns_{isspace,tolower,toupper} pure.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agomeson: do not download effective_tld_names.dat if already existing. 15724/head
Miod Vallat [Wed, 25 Jun 2025 13:17:55 +0000 (15:17 +0200)] 
meson: do not download effective_tld_names.dat if already existing.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agoMerge pull request #15721 from omoerbeek/rec-prep-5.3.0-alpha1
Otto Moerbeek [Wed, 25 Jun 2025 08:42:11 +0000 (10:42 +0200)] 
Merge pull request #15721 from omoerbeek/rec-prep-5.3.0-alpha1

Rec: prep for rec-5.3.0-alpha1

5 weeks agoRec: prep for rec-5.3.0-alpha1 15721/head
Otto Moerbeek [Tue, 24 Jun 2025 10:53:06 +0000 (12:53 +0200)] 
Rec: prep for rec-5.3.0-alpha1

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
5 weeks agoMerge pull request #15671 from miodvallat/lucky_number
Miod Vallat [Wed, 25 Jun 2025 05:38:51 +0000 (07:38 +0200)] 
Merge pull request #15671 from miodvallat/lucky_number

Better LMDB error information

5 weeks agoAlways put mdb error information in exceptions. 15671/head
Miod Vallat [Fri, 13 Jun 2025 12:36:21 +0000 (14:36 +0200)] 
Always put mdb error information in exceptions.

Fixes: #15458
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agoMerge pull request #15643 from kpfleming/gh-actions-spectral-cli
Peter van Dijk [Tue, 24 Jun 2025 13:27:32 +0000 (15:27 +0200)] 
Merge pull request #15643 from kpfleming/gh-actions-spectral-cli

gh actions: Use Spectral CLI to validate auth Swagger API spec

5 weeks agoadjust swagger 15621/head
Peter van Dijk [Tue, 24 Jun 2025 11:30:01 +0000 (13:30 +0200)] 
adjust swagger

5 weeks agofix test
Peter van Dijk [Tue, 24 Jun 2025 10:32:47 +0000 (12:32 +0200)] 
fix test

5 weeks agoMerge pull request #15668 from omoerbeek/opentelemetry-trace rec-5.3.0-alpha1
Otto Moerbeek [Tue, 24 Jun 2025 09:36:07 +0000 (11:36 +0200)] 
Merge pull request #15668 from omoerbeek/opentelemetry-trace

rec: generate trace data in OpenTelemetry format

5 weeks agoUse get_view() instead of get_data() 15668/head
Otto Moerbeek [Tue, 24 Jun 2025 08:53:37 +0000 (10:53 +0200)] 
Use get_view() instead of get_data()

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
5 weeks agoduck typing 15698/head
Peter van Dijk [Fri, 20 Jun 2025 14:53:20 +0000 (16:53 +0200)] 
duck typing

5 weeks agoformat burtle.hh
Peter van Dijk [Fri, 20 Jun 2025 13:43:29 +0000 (15:43 +0200)] 
format burtle.hh

5 weeks agoformat lmdbbackend.cc
Peter van Dijk [Fri, 20 Jun 2025 13:43:18 +0000 (15:43 +0200)] 
format lmdbbackend.cc

5 weeks agorunning this test on both ends of a -both is pointless
Peter van Dijk [Fri, 20 Jun 2025 13:06:28 +0000 (15:06 +0200)] 
running this test on both ends of a -both is pointless

5 weeks agono predictable IDs in the lmdb2 secondary
Peter van Dijk [Fri, 20 Jun 2025 11:45:56 +0000 (13:45 +0200)] 
no predictable IDs in the lmdb2 secondary

5 weeks agoadd boost::container::string version of burtleCI
Peter van Dijk [Fri, 20 Jun 2025 10:41:38 +0000 (12:41 +0200)] 
add boost::container::string version of burtleCI

5 weeks agomove NOLINT
Peter van Dijk [Fri, 20 Jun 2025 10:22:27 +0000 (12:22 +0200)] 
move NOLINT

5 weeks agopredictable IDs for other objects
Peter van Dijk [Fri, 20 Jun 2025 09:48:52 +0000 (11:48 +0200)] 
predictable IDs for other objects