aboutsummaryrefslogtreecommitdiff
path: root/dns
diff options
context:
space:
mode:
authorRalf van der Enden <tremere@cainites.net>2022-05-07 17:36:37 +0000
committerFlorian Smeets <flo@FreeBSD.org>2022-05-07 17:37:25 +0000
commit8aa2acaac4516bf3c179eb496abfbc978b2beff0 (patch)
treee7ab1a53626ee08724ea786f422be9888704f19a /dns
parent40176a65fc92647c2106c89cbc8af74464f163be (diff)
downloadports-8aa2acaac4516bf3c179eb496abfbc978b2beff0.tar.gz
ports-8aa2acaac4516bf3c179eb496abfbc978b2beff0.zip
dns/dnsdist: update to 1.7.1
PR: 263809
Diffstat (limited to 'dns')
-rw-r--r--dns/dnsdist/Makefile5
-rw-r--r--dns/dnsdist/distinfo6
-rw-r--r--dns/dnsdist/files/patch-credentials.cc101
3 files changed, 106 insertions, 6 deletions
diff --git a/dns/dnsdist/Makefile b/dns/dnsdist/Makefile
index 2ec3cb1fa635..a313d42a06cf 100644
--- a/dns/dnsdist/Makefile
+++ b/dns/dnsdist/Makefile
@@ -1,7 +1,7 @@
# Created by: Carlos J Puga Medina <cpm@fbsd.es>
PORTNAME= dnsdist
-DISTVERSION= 1.7.0
+DISTVERSION= 1.7.1
CATEGORIES= dns net
MASTER_SITES= https://downloads.powerdns.com/releases/
@@ -25,9 +25,8 @@ LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \
USES= bison:alias compiler:c++14-lang cpe gmake libedit libtool \
localbase pkgconfig tar:bz2
-USE_RC_SUBR= dnsdist
-
CPE_VENDOR= powerdns
+USE_RC_SUBR= dnsdist
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --bindir=${PREFIX}/sbin \
diff --git a/dns/dnsdist/distinfo b/dns/dnsdist/distinfo
index bff8ffa2fd60..e3ec6ae86bc9 100644
--- a/dns/dnsdist/distinfo
+++ b/dns/dnsdist/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1642434869
-SHA256 (dnsdist-1.7.0.tar.bz2) = 78cc72cb0ccf7fb5f3f2fae09c79eda65a5256374da09bb541b735ea6868fc64
-SIZE (dnsdist-1.7.0.tar.bz2) = 1392585
+TIMESTAMP = 1651452973
+SHA256 (dnsdist-1.7.1.tar.bz2) = 273a8212be2ddfaf754f752bcda4c2abc671ca5d42f776263312eb4661ea2d66
+SIZE (dnsdist-1.7.1.tar.bz2) = 1392179
diff --git a/dns/dnsdist/files/patch-credentials.cc b/dns/dnsdist/files/patch-credentials.cc
new file mode 100644
index 000000000000..4d71e65ad7aa
--- /dev/null
+++ b/dns/dnsdist/files/patch-credentials.cc
@@ -0,0 +1,101 @@
+--- credentials.cc.orig 2021-11-23 18:39:17 UTC
++++ credentials.cc
+@@ -28,7 +28,7 @@
+ #include <sodium.h>
+ #endif
+
+-#ifdef HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT
++#if defined(HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT) && defined(EVP_PKEY_SCRYPT)
+ #include <openssl/evp.h>
+ #include <openssl/kdf.h>
+ #include <openssl/rand.h>
+@@ -42,7 +42,7 @@
+ #include "credentials.hh"
+ #include "misc.hh"
+
+-#ifdef HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT
++#if defined(HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT) && defined(EVP_PKEY_SCRYPT)
+ static size_t const pwhash_max_size = 128U; /* maximum size of the output */
+ static size_t const pwhash_output_size = 32U; /* size of the hashed output (before base64 encoding) */
+ static unsigned int const pwhash_salt_size = 16U; /* size of the salt (before base64 encoding */
+@@ -95,7 +95,7 @@ void SensitiveData::clear()
+
+ static std::string hashPasswordInternal(const std::string& password, const std::string& salt, uint64_t workFactor, uint64_t parallelFactor, uint64_t blockSize)
+ {
+-#ifdef HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT
++#if defined(HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT) && defined(EVP_PKEY_SCRYPT)
+ auto pctx = std::unique_ptr<EVP_PKEY_CTX, void (*)(EVP_PKEY_CTX*)>(EVP_PKEY_CTX_new_id(EVP_PKEY_SCRYPT, nullptr), EVP_PKEY_CTX_free);
+ if (!pctx) {
+ throw std::runtime_error("Error getting a scrypt context to hash the supplied password");
+@@ -142,7 +142,7 @@ static std::string hashPasswordInternal(const std::str
+
+ static std::string generateRandomSalt()
+ {
+-#ifdef HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT
++#if defined(HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT) && defined(EVP_PKEY_SCRYPT)
+ /* generate a random salt */
+ std::string salt;
+ salt.resize(pwhash_salt_size);
+@@ -159,7 +159,7 @@ static std::string generateRandomSalt()
+
+ std::string hashPassword(const std::string& password, uint64_t workFactor, uint64_t parallelFactor, uint64_t blockSize)
+ {
+-#ifdef HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT
++#if defined(HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT) && defined(EVP_PKEY_SCRYPT)
+ std::string result;
+ result.reserve(pwhash_max_size);
+
+@@ -187,7 +187,7 @@ std::string hashPassword(const std::string& password,
+
+ std::string hashPassword(const std::string& password)
+ {
+-#ifdef HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT
++#if defined(HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT) && defined(EVP_PKEY_SCRYPT)
+ return hashPassword(password, CredentialsHolder::s_defaultWorkFactor, CredentialsHolder::s_defaultParallelFactor, CredentialsHolder::s_defaultBlockSize);
+ #else
+ throw std::runtime_error("Hashing a password requires scrypt support in OpenSSL, and it is not available");
+@@ -196,7 +196,7 @@ std::string hashPassword(const std::string& password)
+
+ bool verifyPassword(const std::string& binaryHash, const std::string& salt, uint64_t workFactor, uint64_t parallelFactor, uint64_t blockSize, const std::string& binaryPassword)
+ {
+-#ifdef HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT
++#if defined(HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT) && defined(EVP_PKEY_SCRYPT)
+ auto expected = hashPasswordInternal(binaryPassword, salt, workFactor, parallelFactor, blockSize);
+ return constantTimeStringEquals(expected, binaryHash);
+ #else
+@@ -207,7 +207,7 @@ bool verifyPassword(const std::string& binaryHash, con
+ /* parse a hashed password in PHC string format */
+ static void parseHashed(const std::string& hash, std::string& salt, std::string& hashedPassword, uint64_t& workFactor, uint64_t& parallelFactor, uint64_t& blockSize)
+ {
+-#ifdef HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT
++#if defined(HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT) && defined(EVP_PKEY_SCRYPT)
+ auto parametersEnd = hash.find('$', pwhash_prefix.size());
+ if (parametersEnd == std::string::npos || parametersEnd == hash.size()) {
+ throw std::runtime_error("Invalid hashed password format, no parameters");
+@@ -276,7 +276,7 @@ bool verifyPassword(const std::string& hash, const std
+ return false;
+ }
+
+-#ifdef HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT
++#if defined(HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT) && defined(EVP_PKEY_SCRYPT)
+ std::string salt;
+ std::string hashedPassword;
+ uint64_t workFactor = 0;
+@@ -294,7 +294,7 @@ bool verifyPassword(const std::string& hash, const std
+
+ bool isPasswordHashed(const std::string& password)
+ {
+-#ifdef HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT
++#if defined(HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT) && defined(EVP_PKEY_SCRYPT)
+ if (password.size() < pwhash_prefix_size || password.size() > pwhash_max_size) {
+ return false;
+ }
+@@ -389,7 +389,7 @@ bool CredentialsHolder::matches(const std::string& pas
+
+ bool CredentialsHolder::isHashingAvailable()
+ {
+-#ifdef HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT
++#if defined(HAVE_EVP_PKEY_CTX_SET1_SCRYPT_SALT) && defined(EVP_PKEY_SCRYPT)
+ return true;
+ #else
+ return false;