From ce7de0261f0c1f1640da5673dd24939a37e33bd9 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 23 Jan 2020 18:53:06 -0800 Subject: [PATCH 1/2] libcrypto-compat: add extra functions Changed the define to compare OPENSSL_API_COMPAT instead of version as OpenSSL can be compiled in different ways. One is to disable all deprecated APIs. Added extra functions. The next commit will switch to them. Signed-off-by: Rosen Penev --- src/libcrypto-compat.c | 14 ++++++++++++++ src/libcrypto-compat.h | 8 +++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/libcrypto-compat.c b/src/libcrypto-compat.c index 048d1781..3604763f 100644 --- a/src/libcrypto-compat.c +++ b/src/libcrypto-compat.c @@ -280,6 +280,11 @@ void EVP_MD_CTX_free(EVP_MD_CTX *ctx) OPENSSL_free(ctx); } +int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *ctx) +{ + EVP_CIPHER_CTX_init(ctx); +} + HMAC_CTX *HMAC_CTX_new(void) { HMAC_CTX *ctx = OPENSSL_zalloc(sizeof(HMAC_CTX)); @@ -394,3 +399,12 @@ int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) } return 1; } + +const char *OpenSSL_version(int type) +{ + return SSLeay_version(type); +} +unsigned long OpenSSL_version_num(void) +{ + return SSLeay(); +} diff --git a/src/libcrypto-compat.h b/src/libcrypto-compat.h index bda0473e..44e14801 100644 --- a/src/libcrypto-compat.h +++ b/src/libcrypto-compat.h @@ -34,6 +34,8 @@ int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); EVP_MD_CTX *EVP_MD_CTX_new(void); void EVP_MD_CTX_free(EVP_MD_CTX *ctx); +int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *ctx); + HMAC_CTX *HMAC_CTX_new(void); int HMAC_CTX_reset(HMAC_CTX *ctx); void HMAC_CTX_free(HMAC_CTX *ctx); @@ -44,6 +46,10 @@ int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key); int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key); + +const char *OpenSSL_version(int type); +unsigned long OpenSSL_version_num(void); + #endif /* OPENSSL_VERSION_NUMBER */ #endif /* LIBCRYPTO_COMPAT_H */ -- 2.24.1