summaryrefslogtreecommitdiff
path: root/net-dns
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-26 03:04:32 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-26 03:04:32 -0500
commit8a7e9bb6193b9b54ffb149bdf92c9689a3798e00 (patch)
treea65a4cafeec5fa345fbaad47d0c3892cbb3bd183 /net-dns
parenta2d754850b88dddfc90152e4eaf858d6907b5201 (diff)
downloadbaldeagleos-repo-8a7e9bb6193b9b54ffb149bdf92c9689a3798e00.tar.gz
baldeagleos-repo-8a7e9bb6193b9b54ffb149bdf92c9689a3798e00.tar.xz
baldeagleos-repo-8a7e9bb6193b9b54ffb149bdf92c9689a3798e00.zip
Adding metadata
Diffstat (limited to 'net-dns')
-rw-r--r--net-dns/dnsdist/Manifest2
-rw-r--r--net-dns/dnsdist/dnsdist-2.0.7.ebuild182
-rw-r--r--net-dns/nsd/Manifest2
-rw-r--r--net-dns/nsd/nsd-4.14.3.ebuild190
-rw-r--r--net-dns/pdns-recursor/Manifest5
-rw-r--r--net-dns/pdns-recursor/pdns-recursor-5.3.8.ebuild193
-rw-r--r--net-dns/pdns-recursor/pdns-recursor-5.4.3.ebuild (renamed from net-dns/pdns-recursor/pdns-recursor-5.4.1.ebuild)2
-rw-r--r--net-dns/pdns/Manifest3
-rw-r--r--net-dns/pdns/pdns-5.0.6.ebuild (renamed from net-dns/pdns/pdns-5.1.1.ebuild)0
-rw-r--r--net-dns/pdns/pdns-5.1.2.ebuild133
10 files changed, 708 insertions, 4 deletions
diff --git a/net-dns/dnsdist/Manifest b/net-dns/dnsdist/Manifest
index bb84bbf2f95f..56625f8f745c 100644
--- a/net-dns/dnsdist/Manifest
+++ b/net-dns/dnsdist/Manifest
@@ -1,5 +1,7 @@
DIST dnsdist-2.0.5.tar.xz 2289448 BLAKE2B e00273f837d24b07c3d424c507fff8fea6f0c579014ad20a24dbd75a86c8c24a9a3d3477b3e044999303b34fa02ffa2e28d22dade967fdc1cca540b91c135015 SHA512 82eb29c378ac05e1a029a8bd04ca4144a9636ac777020c97090ce0bea3ad215cd7a6fde9218ec4bcb8a4d773730f34ba9f476484f42e7fea34e84717a43f9286
DIST dnsdist-2.0.6.tar.xz 2293488 BLAKE2B 5584784ae29553659e7c6b6001adf0c616fa4107ec77829fe70ef3107fed88b78d45dcc849526e58f1600ad529c0fa086258de422c6ce57497599ee28046697d SHA512 fe8ebb819d73eea8344c56108264f00f1d185a2ffed2a64c5f13997a159bb93b0384fba7c49ee562b3d42f6d091dd34a0e792402e1bec0b47f5988a5dd30c2bd
+DIST dnsdist-2.0.7.tar.xz 2294560 BLAKE2B b1b4abfc418c58919b970ca2f670dd0ad2ffb4a8178dace00c0f52289287ae94d5c65e3e26763e14f24d894b842eafeb23aa8ba1e075340f13cd6ecdbcb45925 SHA512 709f8fde8a5e7d40ed7588cd95aa7ae0f65b4b71f964a6c0bd8b3836ca37ee9b4cd4a94d2ed7fdb7368c1337421693050475c0ece13f4efd4158954c3f0e6c60
DIST dnsdist-rust-2.0.5-crates.tar.xz 5268364 BLAKE2B 36b370eacb7332d04de0fa1be2a49983c030c94df00abcc6681180b1ad5fa8bfe3e19744543b3707e305d57649837a632c1400fd4ae1b4626f084310db8f9bad SHA512 a9f1e10a71a9fb2e6879077224823dd278f1a27c5698076e69bc4bcdf89cff5e54ffd0fce90113131358398289400da263b90c895d167cb3c007fcc96654e116
DIST dnsdist-rust-2.0.6-crates.tar.xz 5268364 BLAKE2B 36b370eacb7332d04de0fa1be2a49983c030c94df00abcc6681180b1ad5fa8bfe3e19744543b3707e305d57649837a632c1400fd4ae1b4626f084310db8f9bad SHA512 a9f1e10a71a9fb2e6879077224823dd278f1a27c5698076e69bc4bcdf89cff5e54ffd0fce90113131358398289400da263b90c895d167cb3c007fcc96654e116
+DIST dnsdist-rust-2.0.7-crates.tar.xz 5268364 BLAKE2B 36b370eacb7332d04de0fa1be2a49983c030c94df00abcc6681180b1ad5fa8bfe3e19744543b3707e305d57649837a632c1400fd4ae1b4626f084310db8f9bad SHA512 a9f1e10a71a9fb2e6879077224823dd278f1a27c5698076e69bc4bcdf89cff5e54ffd0fce90113131358398289400da263b90c895d167cb3c007fcc96654e116
DIST dnsdist-rust-9999-630a017b-crates.tar.xz 3275568 BLAKE2B 1185b4c96fb0ec94e96333fea49b1bfee20384cf6515acc9dc95056ae7a759933cbe885175766c2239f2d86524af0df264a92256f7853a6b16c01e257267ad1b SHA512 10221f627bf6733c03882f3f050c2fa40b5d601c6744672d4f2903d863dfa6378b9582feaaa11cdc10b6ca3900db2805bccd84e3bc69a5623eaa24c5d4569047
diff --git a/net-dns/dnsdist/dnsdist-2.0.7.ebuild b/net-dns/dnsdist/dnsdist-2.0.7.ebuild
new file mode 100644
index 000000000000..e213b788168d
--- /dev/null
+++ b/net-dns/dnsdist/dnsdist-2.0.7.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+PYTHON_COMPAT=( python3_{13..14} )
+RUST_MIN_VER="1.85.0"
+RUST_OPTIONAL=1
+
+inherit cargo flag-o-matic lua-single meson python-any-r1 toolchain-funcs
+
+DESCRIPTION="A highly DNS-, DoS- and abuse-aware loadbalancer"
+HOMEPAGE="https://www.dnsdist.org/index.html"
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/PowerDNS/pdns"
+ EGIT_BRANCH="master"
+ inherit git-r3
+else
+ SRC_URI="https://downloads.powerdns.com/releases/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+SRC_URI+="
+ yaml? ( https://www.applied-asynchrony.com/distfiles/${PN}-rust-${PV}-crates.tar.xz )
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="bpf cdb dnscrypt dnstap doh doh3 ipcipher lmdb quic regex snmp +ssl systemd test web xdp yaml"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ dnscrypt? ( ssl )
+ doh? ( ssl )
+ doh3? ( ssl quic )
+ ipcipher? ( ssl )
+ quic? ( ssl )"
+
+RDEPEND="acct-group/dnsdist
+ acct-user/dnsdist
+ bpf? ( dev-libs/libbpf:= )
+ cdb? ( dev-db/tinycdb:= )
+ sys-libs/libcap
+ dev-libs/libedit
+ dev-libs/libsodium:=
+ dnstap? ( dev-libs/fstrm )
+ doh? ( net-libs/nghttp2:= )
+ doh3? ( net-libs/quiche:= )
+ lmdb? ( dev-db/lmdb:= )
+ quic? ( net-libs/quiche )
+ regex? ( dev-libs/re2:= )
+ snmp? ( net-analyzer/net-snmp:= )
+ ssl? ( dev-libs/openssl:= )
+ systemd? ( sys-apps/systemd:0= )
+ xdp? ( net-libs/xdp-tools )
+ ${LUA_DEPS}
+"
+
+DEPEND="${RDEPEND}
+ dev-libs/boost:=
+"
+BDEPEND="$(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+ virtual/pkgconfig
+ yaml? ( ${RUST_DEPEND} )
+"
+
+# special requirements for live
+if [[ ${PV} == *9999* ]] ; then
+ BDEPEND+=" dev-util/ragel"
+ S="${S}/pdns/dnsdistdist"
+fi
+
+PATCHES=(
+ "${FILESDIR}"/2.0.2-roundrobin-fast-path.patch
+ "${FILESDIR}"/2.0.2-speed-up-cache-hits.patch
+)
+
+pkg_setup() {
+ lua-single_pkg_setup
+ python-any-r1_pkg_setup
+ use yaml && rust_pkg_setup
+}
+
+python_check_deps() {
+ python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+}
+
+# git-r3 overrides automatic SRC_URI unpacking
+src_unpack() {
+ default
+
+ if [[ ${PV} == *9999* ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+
+ # clean up duplicate file
+ rm -f README.md
+}
+
+src_configure() {
+ # bug #822855
+ append-lfs-flags
+
+ # There is currently no reliable way to handle mixed C++/Rust + LTO
+ # correctly: https://bugs.gentoo.org/963128
+ if use yaml && tc-is-lto ; then
+ ewarn "Disabling LTO because of mixed C++/Rust toolchains."
+ filter-lto
+ fi
+
+ # some things can only be enabled/disabled by defines
+ ! use dnstap && append-cppflags -DDISABLE_PROTOBUF
+ ! use web && append-cppflags -DDISABLE_BUILTIN_HTML
+
+ local emesonargs=(
+ --sysconfdir="${EPREFIX}/etc/dnsdist"
+ # always use libsodium
+ -Dlibsodium=enabled
+ -Dlua=${ELUA}
+ # never try to build man pages (virtualenv)
+ -Dman-pages=false
+ # never use gnutls (openssl only)
+ -Dtls-gnutls=disabled
+ $(meson_feature bpf ebpf)
+ $(meson_feature cdb)
+ $(meson_feature dnscrypt)
+ $(meson_feature dnstap)
+ $(meson_feature doh dns-over-https)
+ $(meson_feature doh nghttp2)
+ $(meson_feature doh3 dns-over-http3)
+ $(meson_feature ipcipher)
+ $(meson_feature lmdb)
+ $(meson_feature quic dns-over-quic)
+ $(meson_feature regex re2)
+ $(meson_feature snmp)
+ $(meson_feature ssl libcrypto)
+ $(meson_feature ssl tls-libssl)
+ $(meson_feature ssl dns-over-tls)
+ $(meson_feature systemd systemd-service)
+ $(meson_use test unit-tests)
+ $(meson_feature xdp xsk)
+ $(meson_feature yaml)
+ )
+
+ meson_src_configure
+}
+
+# explicitly implement src_compile/test to override the
+# otherwise automagic cargo_src_compile/test phases
+
+src_compile() {
+ cargo_gen_config
+ cargo_env meson_src_compile
+}
+
+src_test() {
+ meson_src_test
+}
+
+src_install() {
+ meson_src_install
+
+ insinto /etc/dnsdist
+ doins "${FILESDIR}"/dnsdist.conf.example
+
+ newconfd "${FILESDIR}"/dnsdist.confd ${PN}
+ newinitd "${FILESDIR}"/dnsdist.initd ${PN}
+}
+
+pkg_postinst() {
+ elog "dnsdist provides multiple instances support. You can create more instances"
+ elog "by symlinking the dnsdist init script to another name."
+ elog
+ elog "The name must be in the format dnsdist.<suffix> and dnsdist will use the"
+ elog "/etc/dnsdist/dnsdist-<suffix>.conf configuration file instead of the default."
+}
diff --git a/net-dns/nsd/Manifest b/net-dns/nsd/Manifest
index 5bdfa7f80588..ace449c5097e 100644
--- a/net-dns/nsd/Manifest
+++ b/net-dns/nsd/Manifest
@@ -1,2 +1,4 @@
DIST nsd-4.14.2.tar.gz 1601116 BLAKE2B 2e71805ecc22549bdb6ddb8fcccb5ffaf241d0de9fe8fbdaa8b839473af413c3d0d794f458240d97a81a6b8db640f37c1c9dc0f7a59b90800bc2519c95100920 SHA512 deb7cae8ad5096d65aebdccf60165d44c0b33f6e4568f7f731c38c3d15fa6d4ea9e6edbadf9385784be0248ef8c60c972a0478560d366c11d1c8bf25db9b8002
DIST nsd-4.14.2.tar.gz.asc 659 BLAKE2B 6faeb85caba54eeaf531ec321d888a993d291932762b24bd7cc1fb18f8c5a7e6bec1aa2fd26b5d1dffe75046c30e2283668cd4163a5dbfe2b50a44a641ceae8b SHA512 7bdd5f69725a35b9f02b635d6696d09bb7d9e3906d664dd31f015e6caafa6fa63e5ca57b20eef929b888cdc12201028d0690224908b2a4a2114dab12f7057d46
+DIST nsd-4.14.3.tar.gz 1617135 BLAKE2B d958a854433d25af6f05f9815fb27e6755871d489b7f800119b2ecbed575eb2067bc1d9cab0ae52ab51f71182bc1fb5c231c219943805f361c2b962487e32d42 SHA512 7acabc0e54eb24ca85578f406009f20721da0137f310eb78b3e3c88f66a4369edc2d15c513aa4c11939e4d8caf0cfb29ea6801ee085f34d1845afbbc14a35cc0
+DIST nsd-4.14.3.tar.gz.asc 659 BLAKE2B c2ea88f6ada05e5f2a92dd11b94e69de7f7d1b3433fb38e3e3d110952ba73e78dcaa7a6da7c7a09dd0a14462afda3fda55460f72e53194f1ca35d9e4f45f11f2 SHA512 8604ad8e7f4b3a4fd2b8feefe27cd5ba3e18e661c4f163d61922aac285e2521429a035f4164b153ac9c657106168b14b2faba5fbb8c2d474f67685e894e6e923
diff --git a/net-dns/nsd/nsd-4.14.3.ebuild b/net-dns/nsd/nsd-4.14.3.ebuild
new file mode 100644
index 000000000000..c41a61629aa3
--- /dev/null
+++ b/net-dns/nsd/nsd-4.14.3.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nlnetlabs.asc
+inherit autotools systemd tmpfiles toolchain-funcs verify-sig
+
+DESCRIPTION="An authoritative only, high performance, open source name server"
+HOMEPAGE="https://www.nlnetlabs.nl/projects/nsd/about/"
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/NLnetLabs/nsd.git"
+else
+ # Version voodoo needed only for non-release tarballs: 4.0.0_rc1 => 4.0.0rc1
+ MY_PV="${PV/_beta/b}"
+ MY_PV="${MY_PV/_rc/rc}"
+ MY_P="${PN}-${MY_PV}"
+
+ if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then
+ SRC_URI="
+ https://www.nlnetlabs.nl/downloads/${PN}/${MY_P}.tar.gz
+ verify-sig? ( https://www.nlnetlabs.nl/downloads/nsd/${MY_P}.tar.gz.asc )
+ "
+ S="${WORKDIR}"/${MY_P}
+
+ KEYWORDS="~amd64 ~arm64 ~x86"
+ BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-nlnetlabs-20260101 ) "
+ fi
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="+bind8-stats debug +dnstap +ipv6 libevent memclean minimal-responses mmap munin"
+IUSE+=" +nsec3 +radix-tree +ratelimit recvmmsg selinux +simdzone ssl systemd +tfo xdp verify-sig"
+
+RDEPEND="
+ acct-group/nsd
+ acct-user/nsd
+ dnstap? (
+ >=dev-libs/fstrm-0.4
+ dev-libs/protobuf-c:=
+ )
+ libevent? ( dev-libs/libevent )
+ munin? ( net-analyzer/munin )
+ ssl? ( dev-libs/openssl:= )
+ systemd? ( sys-apps/systemd )
+ xdp? (
+ dev-libs/libbpf:=
+ net-libs/xdp-tools
+ sys-libs/libcap
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND+="
+ app-alternatives/lex
+ app-alternatives/yacc
+ systemd? ( virtual/pkgconfig )
+ xdp? ( llvm-core/clang:*[llvm_targets_BPF] )
+"
+RDEPEND+=" selinux? ( sec-policy/selinux-nsd )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-munin-gentoo-paths.patch"
+)
+
+NSD_DBDIR="/var/db/nsd" # Default dir for NSD's databases.
+NSD_ZNDIR="/var/lib/nsd" # Default dir for NSD's zone files.
+
+QA_EXECSTACK="
+ usr/lib/nsd/xdp-*.o
+"
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == *9999 ]] ; then
+ # When building from git, the configure script and simdzone sources are missing
+ # See README.md
+ git submodule update --init || die "Could't update submodules"
+ autoreconf -fi || die "autoreconf -fi failed"
+ else
+ # Required to get correct pkg-config macros with USE="systemd".
+ # See bugs #663618 & #758050.
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ --cache-file="${S}"/config.cache
+
+ $(use_enable bind8-stats)
+ $(use_enable bind8-stats zone-stats)
+ $(use_enable debug checking)
+ $(use_enable dnstap)
+ $(use_enable ipv6)
+ $(use_enable memclean)
+ $(use_enable minimal-responses)
+ $(use_enable mmap)
+ $(use_enable nsec3)
+ --disable-packed
+ $(use_enable radix-tree)
+ $(use_enable ratelimit)
+ $(use_enable recvmmsg)
+ $(use_enable systemd)
+ $(use_enable tfo tcp-fastopen)
+ $(use_enable xdp)
+ $(use_with libevent)
+ $(use_with ssl)
+
+ --with-cookiesecretsfile="${EPREFIX}${NSD_DBDIR}/cookiesecrets.txt"
+ --with-dbfile="${EPREFIX}${NSD_DBDIR}/nsd.db"
+ --with-dbdir="${EPREFIX}${NSD_DBDIR}"
+ --with-logfile="${EPREFIX}/var/log/nsd.log"
+ --with-pidfile="${EPREFIX}/run/nsd.pid"
+ # sharedfilesdir is used for xdp (bpf) objects
+ --with-sharedfilesdir="${EPREFIX}/usr/lib/nsd"
+ --with-xfrdfile="${EPREFIX}${NSD_DBDIR}/xfrd.state"
+ --with-xfrdir="${EPREFIX}${NSD_DBDIR}"
+ --with-zonelistfile="${EPREFIX}${NSD_DBDIR}/zone.list"
+ --with-zonesdir="${EPREFIX}${NSD_ZNDIR}"
+ )
+
+ # NSD 4.10.x introduced a new zone parser, "simdzone", which
+ # replaces the older parser that used flex & bison:
+ # https://github.com/NLnetLabs/simdzone
+ # It leverages SSE4.2 and/or AVX2 instruction sets for faster
+ # zone parsing on x86_64 architectures. Other CPU archs will
+ # use a fallback implementation.
+ if use amd64; then
+ myconf+=(
+ $(use_enable simdzone haswell)
+ $(use_enable simdzone westmere)
+ )
+ fi
+
+ # If the compiler indicates that time_t is at least 64-bits wide,
+ # then enable it in the package to support timestamps greater than
+ # the year 2038 (D_TIME_BITS=64). This configure switch only
+ # appears on glibc-based userlands.
+ if use elibc_glibc && tc-has-64bit-time_t; then
+ myconf+=( --enable-year2038 )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc doc/{ChangeLog,CREDITS,NSD-4-features,NSD-FOR-BIND-USERS,README,RELNOTES,REQUIREMENTS}
+ newinitd contrib/nsd.openrc nsd
+ newconfd contrib/nsd.openrc.conf nsd
+ newtmpfiles contrib/nsd-tmpfiles.conf nsd.conf
+
+ # Install munin plugin and config, if requested.
+ if use munin ; then
+ exeinto /usr/libexec/munin/plugins
+ doexe contrib/nsd_munin_
+ insinto /etc/munin/plugin-conf.d
+ newins "${FILESDIR}"/nsd.munin-conf nsd_munin
+ fi
+
+ # Use the upstream-provided systemd service file.
+ systemd_dounit contrib/nsd.service
+
+ # Remove the /run directory that usually resides on tmpfs and is
+ # being taken care of by the nsd init script anyway (checkpath).
+ rm -r "${ED}"/run || die "Failed to remove /run"
+
+ # BPF
+ dostrip -x /usr/lib/nsd
+
+ keepdir "${NSD_DBDIR}"
+}
+
+pkg_postinst() {
+ # See eclass/tmpfiles.eclass for info.
+ tmpfiles_process nsd.conf
+
+ # Database directory
+ # Writable by nsd:nsd for database updates and zone transfers.
+ install -d -m 750 -o nsd -g nsd "${EROOT}/${NSD_DBDIR}"
+
+ # Zones directory
+ # Writable by nsd:nsd for zone file updates (via 'nsd-control write').
+ install -d -m 750 -o nsd -g nsd "${EROOT}/${NSD_ZNDIR}"
+}
diff --git a/net-dns/pdns-recursor/Manifest b/net-dns/pdns-recursor/Manifest
index bc9a6064c75d..f64b241d6787 100644
--- a/net-dns/pdns-recursor/Manifest
+++ b/net-dns/pdns-recursor/Manifest
@@ -71,7 +71,8 @@ DIST object-0.36.7.crate 329938 BLAKE2B 0b02cf2f44e99002909b38125edada1a259feae5
DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8
DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
DIST pdns-recursor-5.3.6.tar.xz 1369856 BLAKE2B b760eb6c8f8099f5baa6c6f8b6aff3122f8077db11230b4a12352aa4c811e0ce42fc172384b06a289028c0a796b9a75323407d6ccedbcbd27469008c7cf38154 SHA512 1f53b47c18a940fe85d3693e26e323f39b323a97372bd2fb479d89e3a54e2720536c0369a1c5315198d78ea0868dde1d1ce47b6108a09c27ca0ec2372fc64eb8
-DIST pdns-recursor-5.4.1.tar.xz 1393844 BLAKE2B 5d35a68bd85d3798fa17615ec8908736b4fea4e07f57090a3aa3c10084abe55d8d25dd091a318215bf932a8cb180d116504f8ee414ce174a27cd515f4e868836 SHA512 70896397c80985f4ee4313b06e40187c3a4fc9d7e3c9e171943128fde5b000551f486ca9e9942e5640299cac39731c552f8d9c12a5a8cd5174f9e70dbf7f7e83
+DIST pdns-recursor-5.3.8.tar.xz 1370448 BLAKE2B 193f8d649128e0c0dcabb3687bed0e78f3440867478ef8a08cd37a5efbfa6ce1382eae2abadde3f909d21aef834ad6a41e68f81bb79904dd7bdaabc2d344b592 SHA512 ab249316c087805786567396558f7f0b26b922204670dcb55686d68f17cd9132026964a1244a27c4b53298c74e5a0013519bd06f66cc5f3392f4b836171c7130
+DIST pdns-recursor-5.4.3.tar.xz 1394600 BLAKE2B de971a46981d2f4d4f65512f651ce2c8a40b2dc38c7781e113959ebf594ec58e0842674667f16a9e06abf66d8b47b44883780e68a111dbb7588b5cf2f5c8d69b SHA512 8b51a693bcf57efa66e57b077a61efda4449d5a69f56ab1045929a7a8982c20dc15b36a09229986e0e12c81642196877534d57eb1c3d4b07e9cdb4639bf8b42b
DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
DIST percent-encoding-2.3.2.crate 11583 BLAKE2B 58925243b23a6a1decc3d92c4ce17d06af5206844ad283b49e69e523ac0db2c36c3f4407af4104ab92c029c2581c228bdf416a054a2531191a9e912448ba4408 SHA512 495b4aac88a7a46420811671d6bd82817e4eb2fe51d5068d11c5b50d0d927895d54c855cb07d4f4ad5a2d42b22f9419ad0183c14781dbfa240804fd49761035a
DIST pin-project-lite-0.2.16.crate 30504 BLAKE2B efd0b426fcc6ea8852bce499fac61f9755a11c6a2999cbec514f093ba7b3f94b1f2d437ee9abb243e31f3838ac1c74491a212851d7798eb249e209b35e015332 SHA512 971adfe54cfed304647fd944c1c915e78b37eaf0de3a582fb984a5e91f1b7d4db2cf0f53a9a64b64427062d4b41c0a36baddef782411a76ae3be0f8ca45f0718
@@ -89,7 +90,7 @@ DIST rustls-pemfile-2.2.0.crate 25849 BLAKE2B dfb94a77fe9d86b17b0c6badc6b715f247
DIST rustls-pki-types-1.11.0.crate 63933 BLAKE2B 487099180f45163b87614a8ba7088f189547191ef628011911f76ae6f6aa615b16e969682e26f26ce47f52463def702395f2a5dcf6a1742a87fb7c6d559a2e59 SHA512 60a6d20b66b15f077cbded6abcbfbc8524a02229209a3a73ed676a218ecffa26e375ab086247c05aec826ad63bcd9d446748a061191fe2ba5d9f35ec05b698fb
DIST rustls-pki-types-1.13.1.crate 34901 BLAKE2B ebe0a3ef59097ec96491337df232efc1644768ac1d7d9e465e9762a05282c072d9f6dbaf9dbca935405bcad48049f0a8b91db7b3182e16d4c5aca27f1b26033b SHA512 0357a3c66e31447fdf39ed9e29576e2dfbbb012171e71efe322c2cb13856e7441115936375555fb2f700e6a7bc97565c74dc4bc18f8b8b01d335357e220a2c1b
DIST rustls-webpki-0.102.8.crate 204327 BLAKE2B 8db832f181b46bdecc419e1433dd5550bc181cbffa1961aa90b2533f92696ebe15d71d742225bf806e2dc3a4ebb110d48bf62b0677089df1eede6d5a072c0a28 SHA512 8cdd5d07bb8d6c3f0d1d6663babc3b7ccbe8c9b1463870a3dd095c67f46addf4097a715da796c70f1891ebc1d045ae7d7c3a352400e8bfd6687e6cddfd33b1ba
-DIST rustls-webpki-0.103.8.crate 85810 BLAKE2B a6af950b130e130c0959013662b7be31d73d1bd98e00f507a20a9d980d7b133ee9bdeeeffa6313cdc75a02bbf06e24a314431a6f1a460ac4e00e37d046604412 SHA512 934f630a0c8be9bdc41d491ff8c6cdeb225f180c77b7f1b242d0c4a61390fce7c925ffa09527e5cf872993384a6197ba4685dd0b7466241b4e1811a557366336
+DIST rustls-webpki-0.103.13.crate 87513 BLAKE2B c1b8db65355e598a240b545f5fdee8db234df9f4f1c2ffa41ab6e8759365fe88f867686a61dbf4002fb3330c67a172e1c97b53773e0378dbaad6c799646c74af SHA512 367829afe3432a9d80bb4da82e075dd05bc37ecaf801c0944e1af9184565d743abf92d59e6fd433e7f051daac15099273b823e6f417ec46b6b5da43bbdad59b6
DIST ryu-1.0.19.crate 48770 BLAKE2B 588ca156238ff7285edc90d62c41991f6ec6b732656ef874c4bd5723350d2db19eeae844fa8998123a26b34a7feba0ad897731d73cb4daa88a24a3587b860dbd SHA512 b80d07d609237e13ce1f8cbef5b16738308c540800c7ec18387aec876fb2204029754f20f1f273a0ea07f54dfbaa4595fd0a90044d09f124c1c99e46f1005a99
DIST ryu-1.0.20.crate 48738 BLAKE2B b126085448cb58639a7b5867fe313dcaabaf19df478f67fcb6cf15b8e881a21e641878345e0bf1fea7d24b56b921e667fd26a39cb81fca7ea02585332068263f SHA512 329c581429d9b8baa7d9edd9cf20e23fb8002f339d9fb3d50ed4c7eb68fb19c1ba966d52a9c9602265ca5f59f2bd4393ddcb3a7ac20c64aee3096e137eb2a384
DIST scratch-1.0.7.crate 7997 BLAKE2B cb92a93751d209c68cd003792e45365d186138a115b936f190ad22b33f87c1e1aea2bcd20937188ba496cbe709539bf5fc1d73c0760020e5159121e88c82aed8 SHA512 2cdd160a89844101b62b4d6c23a56d3f9089828b8914031ca973bcbdeffba41ee7d9fb2edb0736d5f8e19d3bf2b1491e8451ae8fe2525518939b2f5cc6310d55
diff --git a/net-dns/pdns-recursor/pdns-recursor-5.3.8.ebuild b/net-dns/pdns-recursor/pdns-recursor-5.3.8.ebuild
new file mode 100644
index 000000000000..7b7ecc80afab
--- /dev/null
+++ b/net-dns/pdns-recursor/pdns-recursor-5.3.8.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+RUST_MIN_VER="1.82"
+CRATES="
+ addr2line@0.24.2
+ adler2@2.0.0
+ anstyle@1.0.10
+ backtrace@0.3.74
+ base64@0.22.1
+ bytes@1.11.1
+ cc@1.2.11
+ cfg-if@1.0.0
+ clap@4.5.27
+ clap_builder@4.5.27
+ clap_lex@0.7.4
+ codespan-reporting@0.13.1
+ cxx@1.0.192
+ cxx-build@1.0.192
+ cxxbridge-cmd@1.0.192
+ cxxbridge-flags@1.0.192
+ cxxbridge-macro@1.0.192
+ equivalent@1.0.1
+ fnv@1.0.7
+ foldhash@0.2.0
+ form_urlencoded@1.2.1
+ futures-channel@0.3.31
+ futures-core@0.3.31
+ futures-task@0.3.31
+ futures-util@0.3.31
+ getrandom@0.2.15
+ gimli@0.31.1
+ hashbrown@0.16.1
+ http@1.2.0
+ http-body@1.0.1
+ http-body-util@0.1.2
+ httparse@1.10.0
+ httpdate@1.0.3
+ hyper@1.6.0
+ hyper-rustls@0.27.5
+ hyper-util@0.1.10
+ indexmap@2.12.1
+ ipnet@2.11.0
+ itoa@1.0.14
+ libc@0.2.169
+ link-cplusplus@1.0.12
+ memchr@2.7.4
+ miniz_oxide@0.8.3
+ mio@1.0.3
+ object@0.36.7
+ once_cell@1.20.2
+ percent-encoding@2.3.1
+ pin-project-lite@0.2.16
+ pin-utils@0.1.0
+ proc-macro2@1.0.93
+ quote@1.0.38
+ ring@0.17.13
+ rustc-demangle@0.1.24
+ rustls@0.23.22
+ rustls-pemfile@2.2.0
+ rustls-pki-types@1.11.0
+ rustls-webpki@0.102.8
+ ryu@1.0.19
+ scratch@1.0.7
+ serde@1.0.217
+ serde_derive@1.0.217
+ serde_yaml@0.9.34+deprecated
+ shlex@1.3.0
+ smallvec@1.13.2
+ socket2@0.5.8
+ strsim@0.11.1
+ subtle@2.6.1
+ syn@2.0.98
+ termcolor@1.4.1
+ tokio@1.43.1
+ tokio-rustls@0.26.1
+ tower-service@0.3.3
+ tracing@0.1.41
+ tracing-core@0.1.33
+ try-lock@0.2.5
+ unicode-ident@1.0.16
+ unicode-width@0.1.14
+ unsafe-libyaml@0.2.11
+ untrusted@0.9.0
+ want@0.3.1
+ wasi@0.11.0+wasi-snapshot-preview1
+ winapi-util@0.1.9
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.52.6
+ zeroize@1.8.1
+"
+
+inherit cargo flag-o-matic lua-single
+
+DESCRIPTION="The PowerDNS Recursor"
+HOMEPAGE="https://www.powerdns.com/"
+SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.xz ${CARGO_CRATE_URIS}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="debug dns-over-tls dnstap snmp sodium systemd test valgrind"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+DEPEND="${LUA_DEPS}
+ dnstap? ( dev-libs/fstrm )
+ systemd? ( sys-apps/systemd:0= )
+ snmp? ( net-analyzer/net-snmp )
+ sodium? ( dev-libs/libsodium:= )
+ elibc_glibc? (
+ arm? ( >=sys-libs/glibc-2.34 )
+ x86? ( >=sys-libs/glibc-2.34 )
+ )
+ dev-libs/openssl:=
+ >=dev-libs/boost-1.54:=[context]"
+RDEPEND="${DEPEND}
+ !<net-dns/pdns-2.9.20-r1
+ acct-user/pdns
+ acct-group/pdns"
+DEPEND="${DEPEND}
+ valgrind? ( dev-debug/valgrind )"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}"/${P/_/-}
+
+pkg_setup() {
+ lua-single_pkg_setup
+ filter-flags -ftree-vectorize
+ filter-lto
+ rust_pkg_setup
+}
+
+src_configure() {
+ econf \
+ --enable-experimental-64bit-time_t-support-on-glibc \
+ --sysconfdir=/etc/powerdns \
+ --with-nod-cache-dir=/var/lib/powerdns \
+ --with-service-user=pdns \
+ --with-service-group=pdns \
+ --with-lua="${ELUA}" \
+ $(use_enable debug verbose-logging) \
+ $(use_enable systemd) \
+ $(use_enable dns-over-tls) \
+ $(use_enable dnstap dnstap) \
+ $(use_enable test unit-tests) \
+ $(use_enable valgrind) \
+ $(use_with sodium libsodium) \
+ $(use_with snmp net-snmp)
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ default
+
+ # rename .yml to .conf to facilitate easy upgrade and switch to .yml
+ mv "${D}"/etc/powerdns/recursor.{yml-dist,conf} || die
+
+ sed -i \
+ -e 's/^# set\([ug]\)id: '\'\''$/ set\1id: '\''pdns'\''/' \
+ -e 's/^# chroot: '\'\''$/ chroot: '\''\/var\/lib\/powerdns'\''/' \
+ "${D}"/etc/powerdns/recursor.conf || die
+
+ newinitd "${FILESDIR}"/pdns-recursor-r3 pdns-recursor
+
+ keepdir /var/lib/powerdns
+}
+
+src_test() {
+ default
+}
+
+pkg_postinst() {
+ einfo "Starting with 5.1.x we default to using the new yaml configuration file format."
+ einfo "The old configuration file format is still supported for now, but please update"
+ einfo "your recursor.conf to yaml using 'rec_control show-yaml'."
+}
diff --git a/net-dns/pdns-recursor/pdns-recursor-5.4.1.ebuild b/net-dns/pdns-recursor/pdns-recursor-5.4.3.ebuild
index 34b504833624..86e4d2d610cf 100644
--- a/net-dns/pdns-recursor/pdns-recursor-5.4.1.ebuild
+++ b/net-dns/pdns-recursor/pdns-recursor-5.4.3.ebuild
@@ -55,7 +55,7 @@ CRATES="
ring@0.17.14
rustls@0.23.35
rustls-pki-types@1.13.1
- rustls-webpki@0.103.8
+ rustls-webpki@0.103.13
ryu@1.0.20
scratch@1.0.9
serde@1.0.228
diff --git a/net-dns/pdns/Manifest b/net-dns/pdns/Manifest
index 2579be88b7ce..761e3b3210b7 100644
--- a/net-dns/pdns/Manifest
+++ b/net-dns/pdns/Manifest
@@ -1,2 +1,3 @@
DIST pdns-5.0.5.tar.bz2 1490386 BLAKE2B 8ed6e31c50a61f74b753115f8be2689b950c7b2a53b88265a01d0f7f4d487c8b69a0abe31a4f09a10c7a30ca39d9b1f6fdbf4e70cb396cb0cea1427470625d43 SHA512 25c04c41d6148ec80cf4eaf729f73d83b950af82a908c15a826c654097ec814629f46ee7edb17e8ac2e73c46fc507bdbfb908fbf544fe8391118788d4f1311ed
-DIST pdns-5.1.1.tar.bz2 1530406 BLAKE2B 880816e07adf1527050e2518cacc78dd4bc20b8334ebbbb94f3b2f68dfa63f4458b7ed2fba80fde312c804d65165412d3169e6c3106f5349a8820bbc20b584e4 SHA512 7a88ebf69405808475f9e67b233162e76f013266196aece6c05692a433f3274486232923815d4a195c2eb40bdbe1943bfe31435a23ccab98964dc21a00638136
+DIST pdns-5.0.6.tar.bz2 1483116 BLAKE2B 99f2974760793719c3f414225b51e4cc76cd6607408ebe743a491e3562f8b2064c5efc36448b87cc5164eebdb0d209cdd0155b8bf15daa46047a3e7dfbf81b18 SHA512 4f0fc814f3d000093294a4c810508791a87299a3bce7092479983c7dbdf83d5d1c1c9a129a551a1087652d251e494bc62b80013e8386399d94d9989c0bc4ef2e
+DIST pdns-5.1.2.tar.bz2 1549581 BLAKE2B fb8119acea7f5b81452961a927ac382962d4809654eb6458634d0a6be567e4cd93d9099ca4d4aa3b1943d23c719b75114ecc6f537a38b06c9af542d881d1452d SHA512 d67d0f0c99023b5587c2d2ddbef605489ad509c333100d0845106bca155e3eb2a47142f5c4c360d2abda0306d5b5bc73929b413db9caec000b246e547b72bf4f
diff --git a/net-dns/pdns/pdns-5.1.1.ebuild b/net-dns/pdns/pdns-5.0.6.ebuild
index 10abc8d6171a..10abc8d6171a 100644
--- a/net-dns/pdns/pdns-5.1.1.ebuild
+++ b/net-dns/pdns/pdns-5.0.6.ebuild
diff --git a/net-dns/pdns/pdns-5.1.2.ebuild b/net-dns/pdns/pdns-5.1.2.ebuild
new file mode 100644
index 000000000000..10abc8d6171a
--- /dev/null
+++ b/net-dns/pdns/pdns-5.1.2.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit lua-single python-any-r1
+
+DESCRIPTION="The PowerDNS Daemon"
+HOMEPAGE="https://www.powerdns.com/"
+SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug doc geoip ldap lmdb lua-records mysql odbc postgres remote sodium sqlite systemd tools tinydns test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+DEPEND="${LUA_DEPS}
+ dev-libs/openssl:=
+ dev-libs/boost:=
+ lmdb? ( >=dev-db/lmdb-0.9.29 )
+ lua-records? ( >=net-misc/curl-7.21.3 )
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( >=net-nds/openldap-2.0.27-r4:= app-crypt/mit-krb5 )
+ odbc? ( dev-db/unixODBC )
+ sqlite? ( dev-db/sqlite:3 )
+ geoip? ( >=dev-cpp/yaml-cpp-0.5.1:= dev-libs/geoip )
+ sodium? ( dev-libs/libsodium:= )
+ tinydns? ( >=dev-db/tinycdb-0.77 )
+ elibc_glibc? ( x86? ( >=sys-libs/glibc-2.34 ) )"
+RDEPEND="${DEPEND}
+ acct-user/pdns
+ acct-group/pdns"
+
+BDEPEND="${PYTHON_DEPS}
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )"
+
+S="${WORKDIR}"/${P/_/-}
+
+pkg_setup() {
+ lua-single_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local cnf_dynmodules="bind lua2 pipe" # the default backends, always enabled
+
+ use geoip && cnf_dynmodules+=" geoip"
+ use ldap && cnf_dynmodules+=" ldap"
+ use lmdb && cnf_dynmodules+=" lmdb"
+ use mysql && cnf_dynmodules+=" gmysql"
+ use odbc && cnf_dynmodules+=" godbc"
+ use postgres && cnf_dynmodules+=" gpgsql"
+ use remote && cnf_dynmodules+=" remote"
+ use sqlite && cnf_dynmodules+=" gsqlite3"
+ use tinydns && cnf_dynmodules+=" tinydns"
+
+ econf \
+ --enable-experimental-64bit-time_t-support-on-glibc \
+ --disable-static \
+ --sysconfdir=/etc/powerdns \
+ --libdir=/usr/$(get_libdir)/powerdns \
+ --with-service-user=pdns \
+ --with-service-group=pdns \
+ --with-modules= \
+ --with-dynmodules="${cnf_dynmodules}" \
+ --with-mysql-lib=/usr/$(get_libdir) \
+ --with-lua="${ELUA}" \
+ $(use_enable debug verbose-logging) \
+ $(use_enable lua-records) \
+ $(use_enable test unit-tests) \
+ $(use_enable tools) \
+ $(use_enable systemd) \
+ $(use_with sodium libsodium) \
+ ${myconf}
+}
+
+src_compile() {
+ default
+ use doc && emake -C codedocs codedocs
+}
+
+src_install() {
+ default
+
+ mv "${D}"/etc/powerdns/pdns.conf{-dist,}
+
+ fperms 0700 /etc/powerdns
+ fperms 0600 /etc/powerdns/pdns.conf
+
+ # set defaults: setuid=pdns, setgid=pdns
+ sed -i \
+ -e 's/^# set\([ug]\)id=$/set\1id=pdns/g' \
+ "${D}"/etc/powerdns/pdns.conf
+
+ newinitd "${FILESDIR}"/pdns-r1 pdns
+
+ keepdir /var/empty
+
+ if use doc; then
+ docinto html
+ dodoc -r codedocs/html/.
+ fi
+
+ # Install development headers
+ insinto /usr/include/pdns
+ doins pdns/*.hh
+ insinto /usr/include/pdns/backends/gsql
+ doins pdns/backends/gsql/*.hh
+
+ if use ldap ; then
+ insinto /etc/openldap/schema
+ doins "${FILESDIR}"/dnsdomain2.schema
+ fi
+
+ find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ elog "PowerDNS provides multiple instances support. You can create more instances"
+ elog "by symlinking the pdns init script to another name."
+ elog
+ elog "The name must be in the format pdns.<suffix> and PowerDNS will use the"
+ elog "/etc/powerdns/pdns-<suffix>.conf configuration file instead of the default."
+}