diff --git a/net-dns/pdns-recursor/Manifest b/net-dns/pdns-recursor/Manifest
index d508e86709aa2..587e95d0995e9 100644
--- a/net-dns/pdns-recursor/Manifest
+++ b/net-dns/pdns-recursor/Manifest
@@ -1,3 +1,2 @@
-DIST pdns-recursor-4.0.6.tar.bz2 1105423 BLAKE2B 50cc52f118630d4d8ce9876c2e11494a3c972ec90003c40fea36801eb08bd8b6173f876e6f53eb672ad8ff3da04e669946740a50f653a21459f25c1137d91297 SHA512 2203fd96469deded1da677344485da221eec036b1ad9fb418a89cd4477d73f2a6fcf984a39b574561df6946f440ddf1982de20cd39d7204da9c27e74216d1159
DIST pdns-recursor-4.0.7.tar.bz2 1107546 BLAKE2B 3ccda73878599e3ade69e4dc6b0787e588a8403fb7cacfbe574409513b8723cbfd29a3c73d857120def801da60a4bedbc0f0c396e6642adb0287204cde301331 SHA512 0c8873adcce5ed9b41f161bc71635da23496b4ae48dbffff7dcdf9c5181e720f9aa94e18bd64e0dff9fa03eae8410dc93585a74d13f0c16d38b0d1c0f4146bb2
DIST pdns-recursor-4.1.0-rc3.tar.bz2 1191353 BLAKE2B fcbc6f08f962c9c2f459448770406734eff2caab43b615690e9d910b65327e45182aa2c9bcadadeaa6eb3984a8cb463849d5e001ffb98bb618966da5b8557a8a SHA512 141e3fcbf5e7c81ae0228fb7a15c599ef5ae41e2c2d169e2f7b4f57c6c832ac40d3e20302d219ba565c4a514b1297906684247a1a56cd740e3ea0bff4a7da51d
diff --git a/net-dns/pdns-recursor/files/CVE-2017-15090-4.0.6.patch b/net-dns/pdns-recursor/files/CVE-2017-15090-4.0.6.patch
deleted file mode 100644
index fa0bfd099abf9..0000000000000
--- a/net-dns/pdns-recursor/files/CVE-2017-15090-4.0.6.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ru pdns-recursor-4.0.6.orig/validate-recursor.cc pdns-recursor-4.0.6/validate-recursor.cc
---- pdns-recursor-4.0.6.orig/validate-recursor.cc 2017-07-04 17:43:07.000000000 +0200
-+++ pdns-recursor-4.0.6/validate-recursor.cc 2017-11-02 18:29:16.612520450 +0100
-@@ -87,6 +87,11 @@
- bool first = true;
- for(const auto& csp : cspmap) {
- for(const auto& sig : csp.second.signatures) {
-+
-+ if (!csp.first.first.isPartOf(sig->d_signer)) {
-+ return increaseDNSSECStateCounter(Bogus);
-+ }
-+
- vState newState = getKeysFor(sro, sig->d_signer, keys); // XXX check validity here
-
- if (newState == Bogus) // No hope
diff --git a/net-dns/pdns-recursor/files/CVE-2017-15092-4.0.6.patch b/net-dns/pdns-recursor/files/CVE-2017-15092-4.0.6.patch
deleted file mode 100644
index 1425c33586c24..0000000000000
--- a/net-dns/pdns-recursor/files/CVE-2017-15092-4.0.6.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-diff -ru pdns-recursor-4.0.6.orig/html/local.js pdns-recursor-4.0.6/html/local.js
---- pdns-recursor-4.0.6.orig/html/local.js 2017-07-04 17:43:07.000000000 +0200
-+++ pdns-recursor-4.0.6/html/local.js 2017-11-02 18:26:04.624586674 +0100
-@@ -63,7 +63,7 @@
-
- $.getJSON(qstring,
- function(data) {
-- var bouw="
| Number | Domain | Type |
";
-+ var table = $('');
- var num=0;
- var total=0, rest=0;
- $.each(data["entries"], function(a,b) {
-@@ -75,12 +75,26 @@
- if(b[1].length > 25)
- b[1]=b[1].substring(0,25);
-
-- bouw=bouw+("| "+b[0]+" | "+b[1]+" | "+b[2]+" |
");
-- });
-- bouw+="| "+rest+" | Rest |
";
-- bouw=bouw+"
";
-- $("#queryring").html(bouw);
--
-+ var line = $('
');
-+ var number = $(' | ');
-+ number.text(b[0]);
-+ var domain = $(' | ');
-+ domain.text(b[1]);
-+ var type = $(' | ');
-+ type.text(b[2]);
-+ line.append(number);
-+ line.append(domain);
-+ line.append(type);
-+ table.append(line);
-+ });
-+ var line = $('
');
-+ var number = $(' | ');
-+ number.text(rest);
-+ var label = $('Rest | ');
-+ line.append(number);
-+ line.append(label);
-+ table.append(line);
-+ $("#queryring").html(table);
- });
-
- filtered=$("#filter2").is(':checked')
-@@ -91,7 +105,7 @@
-
- $.getJSON(qstring,
- function(data) {
-- var bouw="| Number | Servfail domain | Type |
";
-+ var table = $('| Number | Servfail domain | Type |
|---|
');
- var num=0, total=0, rest=0;
- $.each(data["entries"], function(a,b) {
- total+=b[0];
-@@ -101,11 +115,26 @@
- }
- if(b[1].length > 25)
- b[1]=b[1].substring(0,25);
-- bouw=bouw+("| "+b[0]+" | "+b[1]+" | "+b[2]+" |
");
-+ var line = $('
');
-+ var number = $(' | ');
-+ number.text(b[0]);
-+ var domain = $(' | ');
-+ domain.text(b[1]);
-+ var type = $(' | ');
-+ type.text(b[2]);
-+ line.append(number);
-+ line.append(domain);
-+ line.append(type);
-+ table.append(line);
- });
-- bouw+="| "+rest+" | Rest |
";
-- bouw=bouw+"
";
-- $("#servfailqueryring").html(bouw);
-+ var line = $('
');
-+ var number = $(' | ');
-+ number.text(rest);
-+ var label = $('Rest | ');
-+ line.append(number);
-+ line.append(label);
-+ table.append(line);
-+ $("#servfailqueryring").html(table);
-
- });
-
diff --git a/net-dns/pdns-recursor/pdns-recursor-4.0.6-r1.ebuild b/net-dns/pdns-recursor/pdns-recursor-4.0.6-r1.ebuild
deleted file mode 100644
index 30f31e4cc5bbb..0000000000000
--- a/net-dns/pdns-recursor/pdns-recursor-4.0.6-r1.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit toolchain-funcs flag-o-matic eutils versionator
-
-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 lua luajit protobuf systemd"
-REQUIRED_USE="?? ( lua luajit )"
-
-DEPEND="lua? ( >=dev-lang/lua-5.1:= )
- luajit? ( dev-lang/luajit:= )
- protobuf? (
- dev-libs/protobuf
- >=dev-libs/boost-1.42:=
- )
- systemd? ( sys-apps/systemd:0= )
- libressl? ( dev-libs/libressl:= )
- !libressl? ( dev-libs/openssl:= )
- >=dev-libs/boost-1.35:="
-RDEPEND="${DEPEND}
- !=dev-lang/lua-5.1:= )
- luajit? ( dev-lang/luajit:= )
- protobuf? (
- dev-libs/protobuf
- >=dev-libs/boost-1.42:=
- )
- systemd? ( sys-apps/systemd:0= )
- libressl? ( dev-libs/libressl:= )
- !libressl? ( dev-libs/openssl:= )
- >=dev-libs/boost-1.35:="
-RDEPEND="${DEPEND}
- !