You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-dns/opendnssec/files/opendnssec-openssl1.1.patch

56 lines
1.8 KiB

--- a/signer/src/wire/tsig-openssl.c
+++ b/signer/src/wire/tsig-openssl.c
@@ -126,7 +126,11 @@ static void
cleanup_context(void *data)
{
HMAC_CTX* context = (HMAC_CTX*) data;
+#ifdef HAVE_SSL_NEW_HMAC
+ HMAC_CTX_free(context);
+#else
HMAC_CTX_cleanup(context);
+#endif
}
static void
@@ -146,8 +150,13 @@ static void*
create_context()
{
HMAC_CTX* context;
+#ifdef HAVE_SSL_NEW_HMAC
+ CHECKALLOC(context = HMAC_CTX_new());
+ HMAC_CTX_reset(context);
+#else
CHECKALLOC(context = (HMAC_CTX*) malloc(sizeof(HMAC_CTX)));
HMAC_CTX_init(context);
+#endif
context_add_cleanup(context);
return context;
}
--- a/m4/acx_ssl.m4 2016-10-14 09:40:13.000000000 -0400
+++ b/m4/acx_ssl.m4 2019-02-18 13:52:49.861127549 -0500
@@ -35,12 +35,21 @@
if test x_$ssldir = x_/usr/sfw; then
SSL_LIBS="$SSL_LIBS -R$ssldir/lib";
fi
- AC_CHECK_LIB(crypto, HMAC_CTX_init,, [
- AC_MSG_ERROR([OpenSSL found in $ssldir, but version 0.9.7 or higher is required])
- ])
+ save_LIBS=$LIBS
+ AC_CHECK_LIB(crypto, HMAC_CTX_reset, [
+ AC_DEFINE_UNQUOTED([HAVE_SSL_NEW_HMAC], [], [Define if you have the SSL libraries with new HMAC related functions.])
+ ], [
+ AC_CHECK_LIB(crypto, HMAC_CTX_init,, [
+ AC_MSG_ERROR([OpenSSL found in $ssldir, but version 0.9.7 or higher is required])
+ ])
+ ] )
+ SSL_LIBS="$SSL_LIBS -lcrypto";
+ LIBS="$SSL_LIBS $LIBS"
AC_CHECK_FUNCS([EVP_sha1 EVP_sha256])
+ LIBS=$saveLIBS
fi
AC_SUBST(HAVE_SSL)
+ AC_SUBST(HAVE_SSL_NEW_HMAC)
AC_SUBST(SSL_INCLUDES)
AC_SUBST(SSL_LIBS)
fi