From cf8c70594fda8aaba1b2b1d1e34deefe927434f9 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 11 Jan 2019 17:04:44 +0100 Subject: openssl: adapt to 3.0.0, OpenSSL_version_num() is deprecated OpenSSL_version() replaces OpenSSL_version_num() Closes #3462 --- configure.ac | 6 ++++-- lib/vtls/openssl.c | 9 +++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 42fc0031a..817a24a8e 100755 --- a/configure.ac +++ b/configure.ac @@ -5,7 +5,7 @@ # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # -# Copyright (C) 1998 - 2018, Daniel Stenberg, , et al. +# Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms @@ -1770,10 +1770,12 @@ if test -z "$ssl_backends" -o "x$OPT_SSL" != xno && dnl Older versions of Cyassl (some time before 2.9.4) don't have dnl SSL_get_shutdown (but this check won't actually detect it there dnl as it's a macro that needs the header files be included) + dnl OpenSSL_version is introduced in 3.0.0 AC_CHECK_FUNCS( RAND_egd \ SSL_get_shutdown \ - SSLv2_client_method ) + SSLv2_client_method \ + OpenSSL_version ) AC_MSG_CHECKING([for BoringSSL]) AC_COMPILE_IFELSE([ diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c index 8bddb9a8c..45e72d6a3 100644 --- a/lib/vtls/openssl.c +++ b/lib/vtls/openssl.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2018, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -3774,7 +3774,12 @@ static size_t Curl_ossl_version(char *buffer, size_t size) { #ifdef OPENSSL_IS_BORINGSSL return msnprintf(buffer, size, OSSL_PACKAGE); -#else /* OPENSSL_IS_BORINGSSL */ +#elif defined(HAVE_OPENSSL_VERSION) && defined(OPENSSL_VERSION_STRING) + return msnprintf(buffer, size, "%s/%s", + OSSL_PACKAGE, OpenSSL_version(OPENSSL_VERSION_STRING)); +#else + /* not BoringSSL and not using OpenSSL_version */ + char sub[3]; unsigned long ssleay_value; sub[2]='\0'; -- cgit v1.2.1