elektra: Fix compilation without deprecated OpenSSL APIs

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2019-05-15 14:49:47 -07:00
parent 762778b36e
commit ec46d03854
2 changed files with 36 additions and 1 deletions

View File

@ -15,7 +15,7 @@ PKG_NAME:=elektra
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.md
PKG_VERSION:=0.8.21
PKG_RELEASE:=1
PKG_RELEASE:=2
# Use this for official releasees
PKG_HASH:=51892570f18d1667d0da4d0908a091e41b41c20db9835765677109a3d150cd26

View File

@ -0,0 +1,35 @@
--- a/src/plugins/crypto/openssl_operations.c
+++ b/src/plugins/crypto/openssl_operations.c
@@ -25,6 +25,10 @@
#include <stdlib.h>
#include <string.h>
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#define EVP_CIPHER_CTX_reset EVP_CIPHER_CTX_cleanup
+#endif
+
#define KEY_BUFFER_SIZE (ELEKTRA_CRYPTO_SSL_KEYSIZE + ELEKTRA_CRYPTO_SSL_BLOCKSIZE)
/*
@@ -144,8 +148,10 @@ int elektraCryptoOpenSSLInit (Key * errorKey ELEKTRA_UNUSED)
// initialize OpenSSL according to
// https://wiki.openssl.org/index.php/Library_Initialization
pthread_mutex_lock (&mutex_ssl);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
OpenSSL_add_all_algorithms ();
ERR_load_crypto_strings ();
+#endif
pthread_mutex_unlock (&mutex_ssl);
return 1;
}
@@ -246,8 +252,8 @@ void elektraCryptoOpenSSLHandleDestroy (elektraCryptoHandle * handle)
if (handle)
{
pthread_mutex_lock (&mutex_ssl);
- EVP_CIPHER_CTX_cleanup (handle->encrypt);
- EVP_CIPHER_CTX_cleanup (handle->decrypt);
+ EVP_CIPHER_CTX_reset (handle->encrypt);
+ EVP_CIPHER_CTX_reset (handle->decrypt);
EVP_CIPHER_CTX_free (handle->encrypt);
EVP_CIPHER_CTX_free (handle->decrypt);
pthread_mutex_unlock (&mutex_ssl);