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
+DIST pdns-recursor-4.1.0.tar.bz2 1222751 BLAKE2B b2b5a7dee227b28eb3a1451a4d07cb1804e039e6b405c332f30fbb8df39f395906607f3c074b2469b01885b702d12e86e4ffd6114811404134c16956905c744f SHA512 1e4d70f3794005c3f45b2ec0ab580c3697e7de3096f3378b9b9d1cd53f10f95e577522ca9f634eb235b166f007e8a2bfa99f312ddf19f266ad4bb0965167fd7c
+++ /dev/null
-diff -ru pdns-recursor-4.0.6.orig/ws-recursor.cc pdns-recursor-4.0.6/ws-recursor.cc
---- pdns-recursor-4.0.6.orig/ws-recursor.cc 2017-07-04 17:43:07.000000000 +0200
-+++ pdns-recursor-4.0.6/ws-recursor.cc 2017-11-02 18:13:55.762458134 +0100
-@@ -76,10 +76,11 @@
- throw ApiException("'value' must be an array");
- }
-
-+ NetmaskGroup nmg;
- for (auto value : jlist.array_items()) {
- try {
-- Netmask(value.string_value());
-- } catch (NetmaskException &e) {
-+ nmg.addMask(value.string_value());
-+ } catch (const NetmaskException &e) {
- throw ApiException(e.reason);
- }
- }
-@@ -91,9 +92,7 @@
-
- // Clear allow-from, and provide a "parent" value
- ss << "allow-from=" << endl;
-- for (auto value : jlist.array_items()) {
-- ss << "allow-from+=" << value.string_value() << endl;
-- }
-+ ss << "allow-from+=" << nmg.toString() << endl;
-
- apiWriteConfigFile("allow-from", ss.str());
-
-@@ -201,10 +200,15 @@
- if (server == "") {
- throw ApiException("Forwarded-to server must not be an empty string");
- }
-- if (!serverlist.empty()) {
-- serverlist += ";";
-+ try {
-+ ComboAddress ca = parseIPAndPort(server, 53);
-+ if (!serverlist.empty()) {
-+ serverlist += ";";
-+ }
-+ serverlist += ca.toStringWithPort();
-+ } catch (const PDNSException &e) {
-+ throw ApiException(e.reason);
- }
-- serverlist += server;
- }
- if (serverlist == "")
- throw ApiException("Need at least one upstream server when forwarding");
+++ /dev/null
-diff -ru pdns-recursor-4.0.6.orig/opensslsigners.cc pdns-recursor-4.0.6/opensslsigners.cc
---- pdns-recursor-4.0.6.orig/opensslsigners.cc 2017-07-04 17:43:07.000000000 +0200
-+++ pdns-recursor-4.0.6/opensslsigners.cc 2017-11-02 18:18:37.489408103 +0100
-@@ -474,7 +474,7 @@
- if (iqmp == NULL) {
- RSA_free(key);
- BN_clear_free(dmq1);
-- BN_clear_free(iqmp);
-+ BN_clear_free(dmp1);
- throw runtime_error(getName()+" allocation of BIGNUM iqmp failed");
- }
- RSA_set0_crt_params(key, dmp1, dmq1, iqmp);
-@@ -562,6 +562,7 @@
- BIGNUM *n = BN_bin2bn((unsigned char*)modulus.c_str(), modulus.length(), NULL);
- if (!n) {
- RSA_free(key);
-+ BN_clear_free(e);
- throw runtime_error(getName()+" error loading n value of public key");
- }
-
-@@ -866,6 +867,7 @@
-
- int ret = EC_POINT_oct2point(d_ecgroup, pub_key, (unsigned char*) ecdsaPoint.c_str(), ecdsaPoint.length(), d_ctx);
- if (ret != 1) {
-+ EC_POINT_free(pub_key);
- throw runtime_error(getName()+" reading ECP point from binary failed");
- }
-