summaryrefslogtreecommitdiff
blob: 714809f37af194990d691ec9fec1e800d6322741 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
From 54cc692f997c72eb530f38e62de38ed444eb152e Mon Sep 17 00:00:00 2001
From: Frank Denis <github@pureftpd.org>
Date: Wed, 5 Apr 2017 12:30:32 -0700
Subject: [PATCH] Add strict support for the OpenSSL 1.1 API

---
 src/tls.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/tls.c b/src/tls.c
index 3c87bbb..21c83b2 100644
--- a/src/tls.c
+++ b/src/tls.c
@@ -258,9 +258,17 @@ int tls_init_library(void)
 
     tls_cnx_handshook = 0;
     tls_data_cnx_handshook = 0;
+# if OPENSSL_VERSION_NUMBER < 0x10100000L
     SSL_library_init();
     SSL_load_error_strings();
     OpenSSL_add_all_algorithms();
+# else
+    OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS |
+		     OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
+    OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS |
+			OPENSSL_INIT_ADD_ALL_DIGESTS |
+			OPENSSL_INIT_LOAD_CONFIG, NULL);
+# endif
     while (RAND_status() == 0) {
         rnd = zrand();
         RAND_seed(&rnd, (int) sizeof rnd);
@@ -347,7 +355,9 @@ void tls_free_library(void)
         SSL_CTX_free(tls_ctx);
         tls_ctx = NULL;
     }
+# if OPENSSL_API_COMPAT < 0x10100000L
     EVP_cleanup();
+# endif
 }
 
 int tls_init_new_session(void)