mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-11 02:50:24 +00:00
dns/dnsdist: update to 1.7.1
PR: 263809
This commit is contained in:
parent
40176a65fc
commit
8aa2acaac4
@ -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 \
|
||||
|
@ -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
|
||||
|
101
dns/dnsdist/files/patch-credentials.cc
Normal file
101
dns/dnsdist/files/patch-credentials.cc
Normal file
@ -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;
|
Loading…
Reference in New Issue
Block a user