summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2019-09-04 14:25:09 +0200
committerSlávek Banko <slavek.banko@axis.cz>2019-09-04 14:25:09 +0200
commita2ad929640f62ee1f854564366ce1cd8547de455 (patch)
tree8b3771197e486d0098e1cf640e6b95d7e0e2eb4c
parentec74ee4d120a48c74dffc301b2db6a788648b6d4 (diff)
downloadtdelibs-a2ad929640f62ee1f854564366ce1cd8547de455.tar.gz
tdelibs-a2ad929640f62ee1f854564366ce1cd8547de455.zip
Fix SSL initialization for OpenSSL >= 1.1.
The first argument of the OPENSSL_init_ssl and OPENSSL_init_crypto functions must be a 64-bit int, not a 32-bit int, as this caused unpredictable OpenSSL behavior. This resolves bug 3024. Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--tdeio/kssl/kopenssl.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/tdeio/kssl/kopenssl.cc b/tdeio/kssl/kopenssl.cc
index 9c6d47ad4..0fa4e27b4 100644
--- a/tdeio/kssl/kopenssl.cc
+++ b/tdeio/kssl/kopenssl.cc
@@ -661,9 +661,9 @@ TDEConfig *cfg;
if (x) {
// OpenSSL >= 1.1
if (_cryptoLib) {
- ((int (*)(unsigned long, void*))x)(0, NULL);
+ ((int (*)(unsigned long long, void*))x)(0, NULL);
x = GET_CRYPTOLIB_SYMBOL("OPENSSL_init_crypto");
- if (x) ((int (*)(unsigned long, void*))x)(OPENSSL_INIT_ADD_ALL_CIPHERS
+ if (x) ((int (*)(unsigned long long, void*))x)(OPENSSL_INIT_ADD_ALL_CIPHERS
| OPENSSL_INIT_ADD_ALL_DIGESTS
| OPENSSL_INIT_LOAD_CONFIG,
NULL);