]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
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`

5 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

5 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

5 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>
5 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>
5 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>
5 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

5 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>
5 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

5 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

5 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>
5 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>
5 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

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

5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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.

5 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

5 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>
5 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
5 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

5 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

5 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

5 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

5 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

5 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

5 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>
5 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>
5 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

5 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>
5 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

5 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

5 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

5 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>
5 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>
5 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

5 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>
5 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>
5 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>
5 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

5 weeks agoMerge pull request #15717 from rgacogne/ddist-generate-files-when-building-release...
Remi Gacogne [Tue, 24 Jun 2025 08:29:55 +0000 (10:29 +0200)] 
Merge pull request #15717 from rgacogne/ddist-generate-files-when-building-release-tarball

dnsdist: Generate files when building the release tarball

5 weeks agoUse std::copy instead of memcpy
Otto Moerbeek [Tue, 24 Jun 2025 07:56:22 +0000 (09:56 +0200)] 
Use std::copy instead of memcpy

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
5 weeks agoProcess review comments by rgacogne and Habbie
Otto Moerbeek [Tue, 24 Jun 2025 07:21:41 +0000 (09:21 +0200)] 
Process review comments by rgacogne and Habbie

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
5 weeks agoMerge pull request #15686 from omoerbeek/rec-auth-stop
Otto Moerbeek [Mon, 23 Jun 2025 18:00:22 +0000 (20:00 +0200)] 
Merge pull request #15686 from omoerbeek/rec-auth-stop

rec and auth: implement stop command as alias for quit(-nicely)

5 weeks agodnsdist: We no longer need to call `set-configure-ac-version.sh` during tarball gener... 15717/head
Remi Gacogne [Mon, 23 Jun 2025 15:29:29 +0000 (17:29 +0200)] 
dnsdist: We no longer need to call `set-configure-ac-version.sh` during tarball generation

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
5 weeks agoUse the mdb_strerror() wrapper everywhere consistently.
Miod Vallat [Fri, 13 Jun 2025 12:22:17 +0000 (14:22 +0200)] 
Use the mdb_strerror() wrapper everywhere consistently.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agoMerge pull request #15696 from miodvallat/rmdb_dash_rf
Miod Vallat [Mon, 23 Jun 2025 14:00:58 +0000 (16:00 +0200)] 
Merge pull request #15696 from miodvallat/rmdb_dash_rf

better rm in LMDB #2

5 weeks agoadd missing declaration for clearServerStateChangeCallbacks() 15714/head
Oliver Chen [Mon, 23 Jun 2025 13:49:39 +0000 (13:49 +0000)] 
add missing declaration for clearServerStateChangeCallbacks()

5 weeks agoClose race window during which various flag values might be incorrect. 15696/head
Miod Vallat [Mon, 23 Jun 2025 08:27:52 +0000 (10:27 +0200)] 
Close race window during which various flag values might be incorrect.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agoTry and speedup deletion if flag-deleted by not doing get requests.
Miod Vallat [Thu, 19 Jun 2025 13:14:32 +0000 (15:14 +0200)] 
Try and speedup deletion if flag-deleted by not doing get requests.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agofix complain from clang-tidy for void function return
Oliver Chen [Mon, 23 Jun 2025 12:54:36 +0000 (12:54 +0000)] 
fix complain from clang-tidy for void function return

5 weeks agoMerge pull request #15716 from miodvallat/commited_to_abortion
Miod Vallat [Mon, 23 Jun 2025 12:32:16 +0000 (14:32 +0200)] 
Merge pull request #15716 from miodvallat/commited_to_abortion

auth backend transaction fixes in error cases

5 weeks agoCorrect the version introduced in the docs
Oliver Chen [Mon, 23 Jun 2025 12:07:44 +0000 (12:07 +0000)] 
Correct the version introduced in the docs

5 weeks agoAddress PR comments and add console completion in new file
Oliver Chen [Mon, 23 Jun 2025 12:00:35 +0000 (12:00 +0000)] 
Address PR comments and add console completion in new file

5 weeks agodnsdist: support server state change lua callback
Oliver Chen [Mon, 23 Jun 2025 06:15:06 +0000 (06:15 +0000)] 
dnsdist: support server state change lua callback

5 weeks agodnsdist: Generate files when building the release tarball
Remi Gacogne [Mon, 23 Jun 2025 08:42:56 +0000 (10:42 +0200)] 
dnsdist: Generate files when building the release tarball

Some build systems are very unhappy with `dnsdist-rust-lib/rust/src/lib.rs`
not existing before actually starting the build process (mostly because
of `cargo-vendor`), so let's make their life easier.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
5 weeks agoMerge pull request #15715 from omoerbeek/rec-coverity-validate-skew
Otto Moerbeek [Mon, 23 Jun 2025 09:02:19 +0000 (11:02 +0200)] 
Merge pull request #15715 from omoerbeek/rec-coverity-validate-skew

rec: avoid implicit truncating cast of inception skew

5 weeks agoBe sure to always abort transactions if we don't plan to commit them. 15716/head
Miod Vallat [Mon, 23 Jun 2025 07:49:59 +0000 (09:49 +0200)] 
Be sure to always abort transactions if we don't plan to commit them.

Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
5 weeks agorec: avoid implicit truncating cast of inception skew 15715/head
Otto Moerbeek [Mon, 23 Jun 2025 07:07:00 +0000 (09:07 +0200)] 
rec: avoid implicit truncating cast of inception skew

Avoid coverity complaint:
store_truncates_time_t: A time_t value is stored in an integer with too few bits to accommodate it.
The expression sig.d_siginception - g_signatureInceptionSkew is cast to unsigned int.

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
6 weeks agoMerge pull request #15711 from rgacogne/ddist-document-python-yaml-needed
Remi Gacogne [Fri, 20 Jun 2025 15:43:43 +0000 (17:43 +0200)] 
Merge pull request #15711 from rgacogne/ddist-document-python-yaml-needed

dnsdist: Python with YAML is no longer optional to build dnsdist

6 weeks agoAdd `rustc` to the spell-checker list 15711/head
Remi Gacogne [Fri, 20 Jun 2025 14:54:04 +0000 (16:54 +0200)] 
Add `rustc` to the spell-checker list

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 weeks agodnsdist: As suggested by Otto, we need `rustc` and `cargo`, not just Rust
Remi Gacogne [Fri, 20 Jun 2025 14:51:16 +0000 (16:51 +0200)] 
dnsdist: As suggested by Otto, we need `rustc` and `cargo`, not just Rust

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
6 weeks agodnsdist: Python with YAML is no longer optional to build dnsdist
Remi Gacogne [Fri, 20 Jun 2025 14:37:31 +0000 (16:37 +0200)] 
dnsdist: Python with YAML is no longer optional to build dnsdist

6 weeks agoMerge pull request #15709 from omoerbeek/libssl-depends-on-libcrypto
Otto Moerbeek [Fri, 20 Jun 2025 14:23:23 +0000 (16:23 +0200)] 
Merge pull request #15709 from omoerbeek/libssl-depends-on-libcrypto

libssl depends on libcrypto

6 weeks agolibssl depends on libcrypto 15709/head
Otto Moerbeek [Fri, 20 Jun 2025 13:50:14 +0000 (15:50 +0200)] 
libssl depends on libcrypto

Otherwise all kinds of meson setup logic goes wrong,
symptom: DoH connection from 127.0.0.1:44825 expected ALPN value 'h2', got ''

Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
6 weeks agoMerge pull request #15706 from rgacogne/rec-fix-zonetocache-unit-tests
Otto Moerbeek [Fri, 20 Jun 2025 12:03:49 +0000 (14:03 +0200)] 
Merge pull request #15706 from rgacogne/rec-fix-zonetocache-unit-tests

rec: Prevent a crash in the ZoneToCache unit tests