From: Otto Moerbeek Date: Fri, 5 Nov 2021 09:17:42 +0000 (+0100) Subject: cast arg of EVP_PKEY_CTX_set1_pbe_pass() to const void * to satisfy both openssl... X-Git-Tag: rec-4.6.0-beta1~9^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F10943%2Fhead;p=thirdparty%2Fpdns.git cast arg of EVP_PKEY_CTX_set1_pbe_pass() to const void * to satisfy both openssl 1.1 and 3.0 --- diff --git a/pdns/credentials.cc b/pdns/credentials.cc index f7d3417edb..b3a09e5c81 100644 --- a/pdns/credentials.cc +++ b/pdns/credentials.cc @@ -105,7 +105,8 @@ static std::string hashPasswordInternal(const std::string& password, const std:: throw std::runtime_error("Error intializing the scrypt context to hash the supplied password"); } - if (EVP_PKEY_CTX_set1_pbe_pass(pctx.get(), reinterpret_cast(password.data()), password.size()) <= 0) { + // OpenSSL 3.0 changed the string arg to const unsigned char*, other versions use const char *, so cast to const void * to satisfy both + if (EVP_PKEY_CTX_set1_pbe_pass(pctx.get(), reinterpret_cast(password.data()), password.size()) <= 0) { throw std::runtime_error("Error adding the password to the scrypt context to hash the supplied password"); }