]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Extend openssl configure tests to check for relevant headers and functions. update-openssl-bench
authorNiels Möller <nisse@lysator.liu.se>
Tue, 5 Dec 2023 19:52:33 +0000 (20:52 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Tue, 5 Dec 2023 19:52:33 +0000 (20:52 +0100)
ChangeLog
configure.ac
examples/hogweed-benchmark.c

index 8e79d4876a7136b02a8f425cc89e9dffe5446e8c..eb9e70062c6619d6377b4f3009bab8934bba7839 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2023-12-05  Niels Möller  <nisse@lysator.liu.se>
 
+       * configure.ac: In openssl tests, check for the headers actually
+       used by the benchmarking code, and for a subset of the relevant
+       functions.
+
        * examples/nettle-openssl.c: Trim openssl includes and defines,
        and use Nettle's definition of sha1 and md5 constants.
        (nettle_openssl_init): Deleted.
index c0709498ab2bf88caaee66f82bb6df889a239b88..a7d4cfa4b622ad4ebff87cdade2e0323319b92c2 100644 (file)
@@ -197,7 +197,7 @@ AC_TYPE_SIZE_T
 AC_CHECK_SIZEOF(long)
 AC_CHECK_SIZEOF(size_t)
 
-AC_CHECK_HEADERS([openssl/evp.h openssl/ecdsa.h],,
+AC_CHECK_HEADERS([openssl/evp.h openssl/ec.h openssl/rsa.h],,
 [enable_openssl=no
  break])
 
@@ -1170,11 +1170,15 @@ AC_SUBST(IF_MINI_GMP)
 
 OPENSSL_LIBFLAGS=''
 
-# Check for openssl's libcrypto (used only for benchmarking)
+# Check for openssl's libcrypto (used only for benchmarking), test for
+# a few of the functions used.
 if test x$enable_openssl = xyes ; then
-  AC_CHECK_LIB(crypto, EVP_CIPHER_CTX_new,
-    [OPENSSL_LIBFLAGS='-lcrypto'],
-    [enable_openssl=no])
+  for fun in EVP_CIPHER_CTX_new EVP_MD_CTX_new EVP_DigestVerifyFinal ; do
+    AC_CHECK_LIB(crypto, $fun,
+                [OPENSSL_LIBFLAGS='-lcrypto'],
+                [enable_openssl=no
+                 break])
+  done
 fi
 
 AH_TEMPLATE([WITH_OPENSSL],
index 20698a88a7df560f3e66a99bbe5e6ecf02ab48e1..3f8588331989e87a67108665ad1924df71abd8f9 100644 (file)
@@ -711,7 +711,7 @@ bench_openssl_init (EVP_PKEY *key, const EVP_MD *md)
     die ("OpenSSL key eneration failed.\n");
   ctx->key = key;
   ctx->md = md;
-  ctx->md_ctx = EVP_MD_CTX_create();
+  ctx->md_ctx = EVP_MD_CTX_new();
   if (!ctx->md_ctx)
     die ("OpenSSL EVP_MD_CTX_create failed.");