From 88520151fd7b7f814ce2ffeb5bd484e48da4f6d9 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Fri, 7 Apr 2017 13:02:50 +0200 Subject: [PATCH] openssl_stream: use new initialization function on OpenSSL version >=1.1 Previous to OpenSSL version 1.1, the user had to initialize at least the error strings as well as the SSL algorithms by himself. OpenSSL version 1.1 instead provides a new function `OPENSSL_init_ssl`, which handles initialization of all subsystems. As the new API call will by default load error strings and initialize the SSL algorithms, we can safely replace these calls when compiling against version 1.1 or later. This fixes a compiler error when compiling against OpenSSL version 1.1 which has been built without stubs for deprecated syntax. --- src/openssl_stream.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/openssl_stream.c b/src/openssl_stream.c index fadff5c69..841dcce50 100644 --- a/src/openssl_stream.c +++ b/src/openssl_stream.c @@ -103,8 +103,13 @@ int git_openssl_stream_global_init(void) ssl_opts |= SSL_OP_NO_COMPRESSION; #endif +#if OPENSSL_VERSION_NUMBER < 0x10100000L SSL_load_error_strings(); OpenSSL_add_ssl_algorithms(); +#else + OPENSSL_init_ssl(0, NULL); +#endif + /* * Load SSLv{2,3} and TLSv1 so that we can talk with servers * which use the SSL hellos, which are often used for