]>
git.ipfire.org Git - thirdparty/pdns.git/log
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>
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
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
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>
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
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>
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
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
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>
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>
Miod Vallat [Fri, 27 Jun 2025 09:06:06 +0000 (11:06 +0200)]
Merge pull request #15733 from miodvallat/ENOSPC
Reduce ZoneName::toString mess
Peter van Dijk [Fri, 27 Jun 2025 07:41:36 +0000 (09:41 +0200)]
add test
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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
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>
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
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
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
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
Peter van Dijk [Tue, 3 Jun 2025 11:41:14 +0000 (13:41 +0200)]
remove mistaken doc section - you cannot delete views
Peter van Dijk [Tue, 3 Jun 2025 11:38:59 +0000 (13:38 +0200)]
fix missing space in error message
Peter van Dijk [Tue, 3 Jun 2025 11:36:02 +0000 (13:36 +0200)]
we were always one dot short
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>
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>
Miod Vallat [Thu, 26 Jun 2025 11:03:20 +0000 (13:03 +0200)]
Merge pull request #15728 from miodvallat/luar
Lua for all
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>
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
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
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
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>
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>
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
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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
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>
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
Peter van Dijk [Tue, 24 Jun 2025 11:30:01 +0000 (13:30 +0200)]
adjust swagger
Peter van Dijk [Tue, 24 Jun 2025 10:32:47 +0000 (12:32 +0200)]
fix test
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
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>
Peter van Dijk [Fri, 20 Jun 2025 14:53:20 +0000 (16:53 +0200)]
duck typing
Peter van Dijk [Fri, 20 Jun 2025 13:43:29 +0000 (15:43 +0200)]
format burtle.hh
Peter van Dijk [Fri, 20 Jun 2025 13:43:18 +0000 (15:43 +0200)]
format lmdbbackend.cc
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
Peter van Dijk [Fri, 20 Jun 2025 11:45:56 +0000 (13:45 +0200)]
no predictable IDs in the lmdb2 secondary
Peter van Dijk [Fri, 20 Jun 2025 10:41:38 +0000 (12:41 +0200)]
add boost::container::string version of burtleCI
Peter van Dijk [Fri, 20 Jun 2025 10:22:27 +0000 (12:22 +0200)]
move NOLINT
Peter van Dijk [Fri, 20 Jun 2025 09:48:52 +0000 (11:48 +0200)]
predictable IDs for other objects
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
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>
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>
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)
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>
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>
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
Oliver Chen [Mon, 23 Jun 2025 13:49:39 +0000 (13:49 +0000)]
add missing declaration for clearServerStateChangeCallbacks()
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>
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>
Oliver Chen [Mon, 23 Jun 2025 12:54:36 +0000 (12:54 +0000)]
fix complain from clang-tidy for void function return
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
Oliver Chen [Mon, 23 Jun 2025 12:07:44 +0000 (12:07 +0000)]
Correct the version introduced in the docs
Oliver Chen [Mon, 23 Jun 2025 12:00:35 +0000 (12:00 +0000)]
Address PR comments and add console completion in new file
Oliver Chen [Mon, 23 Jun 2025 06:15:06 +0000 (06:15 +0000)]
dnsdist: support server state change lua callback
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>
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
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>
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>
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
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>
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>
Remi Gacogne [Fri, 20 Jun 2025 14:37:31 +0000 (16:37 +0200)]
dnsdist: Python with YAML is no longer optional to build dnsdist
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
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>
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
Remi Gacogne [Fri, 20 Jun 2025 11:49:07 +0000 (13:49 +0200)]
Merge pull request #15703 from rgacogne/ddist-fix-documentation-workflow
dnsdist: Fix the documentation workflow
Otto Moerbeek [Fri, 20 Jun 2025 11:30:04 +0000 (13:30 +0200)]
Merge pull request #15705 from omoerbeek/lmdb-unsafe
auth: rename bswap64 to pdns_bswap64.