summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2017-04-07 13:02:50 +0200
committerPatrick Steinhardt <ps@pks.im>2017-04-10 11:29:07 +0200
commit88520151fd7b7f814ce2ffeb5bd484e48da4f6d9 (patch)
tree806a0f2968e9ba6d1700fa4827c8dd11db8764b7
parent29081c2fd4c951b2c166f327b145dca5212c9fca (diff)
downloadlibgit2-88520151fd7b7f814ce2ffeb5bd484e48da4f6d9.tar.gz
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.
-rw-r--r--src/openssl_stream.c5
1 files changed, 5 insertions, 0 deletions
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