From 6b4dbecbcfe35d36fea264c04c41b338852d4e88 Mon Sep 17 00:00:00 2001 From: Nick Parker Date: Wed, 1 Mar 2017 15:35:43 -0600 Subject: [PATCH] Guard OpenSSL init and cleanup routines on versions less than 1.1.0 (cherry picked from commit 1c495b933cee3381f1ea6a70edcbcda1754d7409) Signed-off-by: Matt Weber Conflicts: src/crypto_openssl.c --- src/crypto_openssl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/crypto_openssl.c b/src/crypto_openssl.c index 6822325..09bc2a2 100644 --- a/src/crypto_openssl.c +++ b/src/crypto_openssl.c @@ -102,7 +102,9 @@ static int sqlcipher_openssl_activate(void *ctx) { if(openssl_init_count == 0 && openssl_external_init == 0) { /* if the library was not externally initialized, then should be now */ +#if OPENSSL_VERSION_NUMBER < 0x10100000L OpenSSL_add_all_algorithms(); +#endif } #ifndef SQLCIPHER_OPENSSL_NO_MUTEX_RAND @@ -131,7 +133,9 @@ static int sqlcipher_openssl_deactivate(void *ctx) { Note: this code will only be reached if OpensSSL_add_all_algorithms() is called by SQLCipher internally. This should prevent SQLCipher from "cleaning up" openssl when it was initialized externally by the program */ +#if OPENSSL_VERSION_NUMBER < 0x10100000L EVP_cleanup(); +#endif } #ifndef SQLCIPHER_OPENSSL_NO_MUTEX_RAND sqlite3_mutex_free(openssl_rand_mutex); -- 1.9.1