File libksi-build-with-openssl-1.1.0.patch of Package libksi

Index: libksi-3.4.0.5/src/ksi/hash_openssl.c
===================================================================
--- libksi-3.4.0.5.orig/src/ksi/hash_openssl.c
+++ libksi-3.4.0.5/src/ksi/hash_openssl.c
@@ -102,7 +102,9 @@ int KSI_isHashAlgorithmSupported(KSI_Has
 
 void KSI_DataHasher_free(KSI_DataHasher *hasher) {
 	if (hasher != NULL) {
-		KSI_free(hasher->hashContext);
+		if (hasher->hashContext != NULL) {
+			EVP_MD_CTX_destroy(hasher->hashContext);
+		}
 		KSI_free(hasher);
 	}
 }
@@ -171,7 +173,7 @@ int KSI_DataHasher_reset(KSI_DataHasher
 
 	context = hasher->hashContext;
 	if (context == NULL) {
-		context = KSI_new(EVP_MD_CTX);
+		context = EVP_MD_CTX_create();
 		if (context == NULL) {
 			KSI_pushError(hasher->ctx, res = KSI_OUT_OF_MEMORY, NULL);
 			goto cleanup;
@@ -179,7 +181,7 @@ int KSI_DataHasher_reset(KSI_DataHasher
 
 		hasher->hashContext = context;
 	} else {
-		EVP_MD_CTX_cleanup(context);
+		EVP_MD_CTX_destroy(context);
 	}
 
 	if (!EVP_DigestInit(context, evp_md)) {
Index: libksi-3.4.0.5/src/ksi/pkitruststore_openssl.c
===================================================================
--- libksi-3.4.0.5.orig/src/ksi/pkitruststore_openssl.c
+++ libksi-3.4.0.5/src/ksi/pkitruststore_openssl.c
@@ -907,13 +907,13 @@ cleanup:
 int KSI_PKITruststore_verifyRawSignature(KSI_CTX *ctx, const unsigned char *data, size_t data_len, const char *algoOid, const unsigned char *signature, size_t signature_len, const KSI_PKICertificate *certificate) {
 	int res;
 	ASN1_OBJECT* algorithm = NULL;
-    EVP_MD_CTX md_ctx;
+    EVP_MD_CTX *md_ctx;
     X509 *x509 = NULL;
 	const EVP_MD *evp_md;
 	EVP_PKEY *pubKey = NULL;
 
 	/* Needs to be initialized before jumping to cleanup. */
-    EVP_MD_CTX_init(&md_ctx);
+	md_ctx = EVP_MD_CTX_create();
 
 	KSI_ERR_clearErrors(ctx);
 
@@ -956,17 +956,17 @@ int KSI_PKITruststore_verifyRawSignature
 		goto cleanup;
 	}
 
-    if (!EVP_VerifyInit(&md_ctx, evp_md)) {
+    if (!EVP_VerifyInit(md_ctx, evp_md)) {
     	KSI_pushError(ctx, res = KSI_CRYPTO_FAILURE, NULL);
     	goto cleanup;
     }
 
-    if (!EVP_VerifyUpdate(&md_ctx, (unsigned char *)data, data_len)) {
+    if (!EVP_VerifyUpdate(md_ctx, (unsigned char *)data, data_len)) {
     	KSI_pushError(ctx, res = KSI_CRYPTO_FAILURE, NULL);
     	goto cleanup;
     }
 
-    res = EVP_VerifyFinal(&md_ctx, (unsigned char *)signature, (unsigned)signature_len, pubKey);
+    res = EVP_VerifyFinal(md_ctx, (unsigned char *)signature, (unsigned)signature_len, pubKey);
     if (res < 0) {
 		KSI_pushError(ctx, res = KSI_CRYPTO_FAILURE, NULL);
 		goto cleanup;
@@ -982,7 +982,7 @@ int KSI_PKITruststore_verifyRawSignature
 
 cleanup:
 
-	EVP_MD_CTX_cleanup(&md_ctx);
+	EVP_MD_CTX_destroy(md_ctx);
 	if (algorithm != NULL) ASN1_OBJECT_free(algorithm);
 	if (pubKey != NULL) EVP_PKEY_free(pubKey);
openSUSE Build Service is sponsored by