net-dns/pdns-recursor: Version bump, security bug #675968
authorSven Wegener <swegener@gentoo.org>
Mon, 21 Jan 2019 15:21:45 +0000 (15:21 +0000)
committerSven Wegener <swegener@gentoo.org>
Mon, 21 Jan 2019 15:22:20 +0000 (15:22 +0000)
Bug: https://bugs.gentoo.org/675968
Signed-off-by: Sven Wegener <swegener@gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

net-dns/pdns-recursor/Manifest
net-dns/pdns-recursor/files/pdns-recursor-4.1.9-protobuf-fix.patch [new file with mode: 0644]
net-dns/pdns-recursor/pdns-recursor-4.1.9.ebuild [new file with mode: 0644]

index e3bcab62e0c65781f306ad82a464c091c511c5a5..63a87021f038bd84a91feb98473530db262fad37 100644 (file)
@@ -1 +1,2 @@
 DIST pdns-recursor-4.1.8.tar.bz2 1237750 BLAKE2B 1170198ea2ed9f1d16f7d8fa76e4c9f8bc56e3c72a391d094e7380d84657b55daa6f45acf4737a9d9b144f2deae64103c40dc3b95550a853ee6f41f0f8a92c78 SHA512 5c09b8ce3f2f3ed6bb350cbd20e6cad4b66f9db85677605d57eca67187c05ddde5071af246a7398e2821c9ed2e5ff101d2b4928366b3ddf12013020fa9b74e61
+DIST pdns-recursor-4.1.9.tar.bz2 1237727 BLAKE2B e060120edbbccd6688f614e0c00f0ecb9954b2d1f96194f7fff53d7111ec8c843348c25e206e998e1d0eb920b68b4a4631fb0806810e14956bd04957ece0c960 SHA512 2deaf1cdc8c32087f744efe0d142421cfd2d89dc9b31edcdea55c1efc2637987e8557891716498e3703c4b1af4b0d301e2a53316c5a97c7a18ec85016ccfa8f1
diff --git a/net-dns/pdns-recursor/files/pdns-recursor-4.1.9-protobuf-fix.patch b/net-dns/pdns-recursor/files/pdns-recursor-4.1.9-protobuf-fix.patch
new file mode 100644 (file)
index 0000000..b0e3f4f
--- /dev/null
@@ -0,0 +1,32 @@
+From 6b34c39dce4483f97d48201929ff6acd4abbef84 Mon Sep 17 00:00:00 2001
+From: Remi Gacogne <remi.gacogne@powerdns.com>
+Date: Mon, 21 Jan 2019 16:07:29 +0100
+Subject: [PATCH] rec: Fix compilation in handleRunningTCPQuestion without
+ protobuf support
+
+---
+ pdns/pdns_recursor.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/pdns_recursor.cc b/pdns_recursor.cc
+index d92b1ffae..98232dca2 100644
+--- a/pdns_recursor.cc
++++ b/pdns_recursor.cc
+@@ -1535,6 +1535,9 @@ static void handleRunningTCPQuestion(int fd, FDMultiplexer::funcparam_t& var)
+             L<<Logger::Warning<<"Error parsing a query packet for tag determination, setting tag=0: "<<e.what()<<endl;
+         }
+       }
++
++      const struct dnsheader* dh = (const struct dnsheader*) conn->data;
++
+ #ifdef HAVE_PROTOBUF
+       if(luaconfsLocal->protobufServer || luaconfsLocal->outgoingProtobufServer) {
+         dc->d_requestorId = requestorId;
+@@ -1542,7 +1545,6 @@ static void handleRunningTCPQuestion(int fd, FDMultiplexer::funcparam_t& var)
+         dc->d_uuid = (*t_uuidGenerator)();
+       }
+-      const struct dnsheader* dh = (const struct dnsheader*) conn->data;
+       if(luaconfsLocal->protobufServer) {
+         try {
diff --git a/net-dns/pdns-recursor/pdns-recursor-4.1.9.ebuild b/net-dns/pdns-recursor/pdns-recursor-4.1.9.ebuild
new file mode 100644 (file)
index 0000000..2bf5e32
--- /dev/null
@@ -0,0 +1,82 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic
+
+DESCRIPTION="The PowerDNS Recursor"
+HOMEPAGE="https://www.powerdns.com/"
+SRC_URI="https://downloads.powerdns.com/releases/${P/_/-}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="libressl luajit protobuf snmp sodium systemd"
+
+DEPEND="!luajit? ( >=dev-lang/lua-5.1:= )
+       luajit? ( dev-lang/luajit:= )
+       protobuf? (
+               dev-libs/protobuf
+               >=dev-libs/boost-1.42:=
+       )
+       systemd? ( sys-apps/systemd:0= )
+       snmp? ( net-analyzer/net-snmp )
+       sodium? ( dev-libs/libsodium:= )
+       libressl? ( dev-libs/libressl:= )
+       !libressl? ( dev-libs/openssl:= )
+       >=dev-libs/boost-1.35:="
+RDEPEND="${DEPEND}
+       !<net-dns/pdns-2.9.20-r1"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}"/${P/_/-}
+
+PATCHES=(
+       "${FILESDIR}"/${P}-protobuf-fix.patch
+)
+
+pkg_setup() {
+       filter-flags -ftree-vectorize
+}
+
+src_configure() {
+       econf \
+               --sysconfdir=/etc/powerdns \
+               $(use_enable systemd) \
+               $(use_enable sodium libsodium) \
+               $(use_with !luajit lua) \
+               $(use_with luajit luajit) \
+               $(use_with protobuf) \
+               $(use_with snmp net-snmp)
+}
+
+src_install() {
+       default
+
+       mv "${D}"/etc/powerdns/recursor.conf{-dist,}
+
+       # set defaults: setuid=nobody, setgid=nobody
+       sed -i \
+               -e 's/^# set\([ug]\)id=$/set\1id=nobody/' \
+               -e 's/^# quiet=$/quiet=on/' \
+               -e 's/^# chroot=$/chroot=\/var\/lib\/powerdns/' \
+               "${D}"/etc/powerdns/recursor.conf
+
+       newinitd "${FILESDIR}"/pdns-recursor-r1 pdns-recursor
+
+       keepdir /var/lib/powerdns
+}
+
+pkg_postinst() {
+       local old
+
+       for old in ${REPLACING_VERSIONS}; do
+               ver_test ${old} -lt 4.0.0-r1 || continue
+
+               ewarn "Starting with 4.0.0-r1 the init script has been renamed from precursor"
+               ewarn "to pdns-recursor, please update your runlevels accordingly."
+
+               break
+       done
+}