diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2019-09-04 14:25:09 +0200 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2019-09-04 14:25:09 +0200 |
commit | a2ad929640f62ee1f854564366ce1cd8547de455 (patch) | |
tree | 8b3771197e486d0098e1cf640e6b95d7e0e2eb4c | |
parent | ec74ee4d120a48c74dffc301b2db6a788648b6d4 (diff) | |
download | tdelibs-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.cc | 4 |
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); |