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:27:08 +0200
commit8a26a48f42d2dbe055033edfaaac76162445bcb8 (patch)
tree8befd419f41d6e0b11cbb599e5d269f4d0fdefb3
parentf41c1bba8b7221acf2f226ab7249057f1d9559b5 (diff)
downloadtdelibs-8a26a48f42d2dbe055033edfaaac76162445bcb8.tar.gz
tdelibs-8a26a48f42d2dbe055033edfaaac76162445bcb8.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> (cherry picked from commit a2ad929640f62ee1f854564366ce1cd8547de455)
-rw-r--r--kio/kssl/kopenssl.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/kio/kssl/kopenssl.cc b/kio/kssl/kopenssl.cc
index dc46281d0..91a36df9b 100644
--- a/kio/kssl/kopenssl.cc
+++ b/kio/kssl/kopenssl.cc
@@ -661,9 +661,9 @@ KConfig *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);