]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
evp_md_ctx_new/free was called evp_md_ctx_create/destroy in OpenSSL < 1.1
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Tue, 18 Jan 2022 07:17:28 +0000 (08:17 +0100)
committerOtto Moerbeek <otto.moerbeek@open-xchange.com>
Tue, 18 Jan 2022 08:41:13 +0000 (09:41 +0100)
pdns/sha.hh

index bf8cc4eaf9dd101f882a32464d9c9d32a1fbbd84..26c64de9aea21b4afee0007998ed47ba369134fa 100644 (file)
@@ -59,7 +59,11 @@ class SHADigest
 {
 public:
   SHADigest(unsigned int bits) :
+#if defined(HAVE_EVP_MD_CTX_NEW) && defined(HAVE_EVP_MD_CTX_FREE)
     mdctx(std::unique_ptr<EVP_MD_CTX, decltype(&EVP_MD_CTX_free)>(EVP_MD_CTX_new(), EVP_MD_CTX_free))
+#else    
+    mdctx(std::unique_ptr<EVP_MD_CTX, decltype(&EVP_MD_CTX_destroy)>(EVP_MD_CTX_create(), EVP_MD_CTX_destroy))
+#endif
   {
     if (mdctx == nullptr) {
       throw std::runtime_error("SHADigest: EVP_MD_CTX_new failed");
@@ -109,7 +113,11 @@ public:
   }
 
 private:
+#if defined(HAVE_EVP_MD_CTX_NEW) && defined(HAVE_EVP_MD_CTX_FREE)
   std::unique_ptr<EVP_MD_CTX, decltype(&EVP_MD_CTX_free)> mdctx;
+#else
+  std::unique_ptr<EVP_MD_CTX, decltype(&EVP_MD_CTX_destroy)> mdctx;
+#endif
   const EVP_MD* md;
 };
 }