From 70b82ae359a5538711e103b0e8dfb92654296644 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 27 Oct 2018 12:48:57 +0100 Subject: gentoo resync : 27.10.2018 --- ...esmtp-1.0.6-openssl-1.1-api-compatibility.patch | 72 ++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 net-libs/libesmtp/files/libesmtp-1.0.6-openssl-1.1-api-compatibility.patch (limited to 'net-libs/libesmtp/files/libesmtp-1.0.6-openssl-1.1-api-compatibility.patch') diff --git a/net-libs/libesmtp/files/libesmtp-1.0.6-openssl-1.1-api-compatibility.patch b/net-libs/libesmtp/files/libesmtp-1.0.6-openssl-1.1-api-compatibility.patch new file mode 100644 index 000000000000..bc3e3f356848 --- /dev/null +++ b/net-libs/libesmtp/files/libesmtp-1.0.6-openssl-1.1-api-compatibility.patch @@ -0,0 +1,72 @@ +diff --git a/configure.ac b/configure.ac +index 556f220..2c0693d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -303,7 +303,7 @@ if test x$with_openssl != xno ; then + ) + fi + if test x$with_openssl != xno ; then +- AC_CHECK_LIB(ssl, SSL_library_init, [ ++ AC_CHECK_LIB(ssl, SSL_new, [ + with_openssl=yes + LIBS="-lssl -lcrypto $LIBS" + ], [ +diff --git a/smtp-tls.c b/smtp-tls.c +index 9a66806..cfc6589 100644 +--- a/smtp-tls.c ++++ b/smtp-tls.c +@@ -57,6 +57,7 @@ static void *ctx_password_cb_arg; + #ifdef USE_PTHREADS + #include + static pthread_mutex_t starttls_mutex = PTHREAD_MUTEX_INITIALIZER; ++#if OPENSSL_VERSION_NUMBER < 0x10100000 + static pthread_mutex_t *openssl_mutex; + + static void +@@ -70,6 +71,7 @@ openssl_mutexcb (int mode, int n, + pthread_mutex_unlock (&openssl_mutex[n]); + } + #endif ++#endif + + static int + starttls_init (void) +@@ -77,6 +79,10 @@ starttls_init (void) + if (tls_init) + return 1; + ++#if OPENSSL_VERSION_NUMBER < 0x10100000 ++ /* starting from OpenSSL 1.1.0, OpenSSL uses a new threading API and does its own locking */ ++ /* also initialization has been reworked and is done automatically */ ++ /* so there's not much to do here any more */ + #ifdef USE_PTHREADS + /* Set up mutexes for the OpenSSL library */ + if (openssl_mutex == NULL) +@@ -94,9 +100,10 @@ starttls_init (void) + CRYPTO_set_locking_callback (openssl_mutexcb); + } + #endif +- tls_init = 1; + SSL_load_error_strings (); + SSL_library_init (); ++#endif ++ tls_init = 1; + return 1; + } + +@@ -201,7 +208,15 @@ starttls_create_ctx (smtp_session_t session) + 3207. Servers typically support SSL as well as TLS because some + versions of Netscape do not support TLS. I am assuming that all + currently deployed servers correctly support TLS. */ ++#if OPENSSL_VERSION_NUMBER < 0x10100000 + ctx = SSL_CTX_new (TLSv1_client_method ()); ++#else ++ ctx = SSL_CTX_new (TLS_client_method ()); ++ if (!SSL_CTX_set_min_proto_version(ctx, TLS1_VERSION)) { ++ /* FIXME: set an error code AND free the allocated ctx */ ++ return NULL; ++ } ++#endif + + /* Load our keys and certificates. To avoid messing with configuration + variables etc, use fixed paths for the certificate store. These are -- cgit v1.2.3