From 2fe4bdeb8cdd0b0f46d9caed807812855d51ea56 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 28 Mar 2018 20:11:05 +0300
Subject: [PATCH] Port tests to openssl 1.1

Upstream-Status: Accepted [https://github.com/cryptodev-linux/cryptodev-linux/pull/36]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>

---
 tests/openssl_wrapper.c | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/tests/openssl_wrapper.c b/tests/openssl_wrapper.c
index 038c58f..dea2496 100644
--- a/tests/openssl_wrapper.c
+++ b/tests/openssl_wrapper.c
@@ -4,6 +4,7 @@
 #include <openssl/aes.h>
 #include <openssl/evp.h>
 #include <openssl/hmac.h>
+#include <openssl/opensslv.h>
 
 //#define DEBUG
 
@@ -23,10 +24,17 @@ enum ctx_type {
 	ctx_type_md,
 };
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+union openssl_ctx {
+	HMAC_CTX *hmac;
+	EVP_MD_CTX *md;
+};
+#else
 union openssl_ctx {
 	HMAC_CTX hmac;
 	EVP_MD_CTX md;
 };
+#endif
 
 struct ctx_mapping {
 	__u32 ses;
@@ -63,6 +71,16 @@ static void remove_mapping(__u32 ses)
 	switch (mapping->type) {
 	case ctx_type_none:
 		break;
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+	case ctx_type_hmac:
+		dbgp("%s: calling HMAC_CTX_free\n", __func__);
+		HMAC_CTX_free(mapping->ctx.hmac);
+		break;
+	case ctx_type_md:
+		dbgp("%s: calling EVP_MD_CTX_free\n", __func__);
+		EVP_MD_CTX_free(mapping->ctx.md);
+		break;
+#else
 	case ctx_type_hmac:
 		dbgp("%s: calling HMAC_CTX_cleanup\n", __func__);
 		HMAC_CTX_cleanup(&mapping->ctx.hmac);
@@ -71,6 +89,7 @@ static void remove_mapping(__u32 ses)
 		dbgp("%s: calling EVP_MD_CTX_cleanup\n", __func__);
 		EVP_MD_CTX_cleanup(&mapping->ctx.md);
 		break;
+#endif
 	}
 	memset(mapping, 0, sizeof(*mapping));
 }
@@ -127,10 +146,17 @@ static int openssl_hmac(struct session_op *sess, struct crypt_op *cop)
 
 		mapping->ses = sess->ses;
 		mapping->type = ctx_type_hmac;
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+		ctx = mapping->ctx.hmac;
+
+		dbgp("calling HMAC_CTX_new");
+		ctx = HMAC_CTX_new();
+#else
 		ctx = &mapping->ctx.hmac;
 
 		dbgp("calling HMAC_CTX_init");
 		HMAC_CTX_init(ctx);
+#endif
 		dbgp("calling HMAC_Init_ex");
 		if (!HMAC_Init_ex(ctx, sess->mackey, sess->mackeylen,
 				sess_to_evp_md(sess), NULL)) {
@@ -172,10 +198,17 @@ static int openssl_md(struct session_op *sess, struct crypt_op *cop)
 
 		mapping->ses = sess->ses;
 		mapping->type = ctx_type_md;
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+		ctx = mapping->ctx.md;
+
+		dbgp("calling EVP_MD_CTX_new");
+		ctx = EVP_MD_CTX_new();
+#else
 		ctx = &mapping->ctx.md;
 
 		dbgp("calling EVP_MD_CTX_init");
 		EVP_MD_CTX_init(ctx);
+#endif
 		dbgp("calling EVP_DigestInit");
 		EVP_DigestInit(ctx, sess_to_evp_md(sess));
 	}
