Hello community, here is the log from the commit of package libksi for openSUSE:Factory checked in at 2017-09-04 12:26:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libksi (Old) and /work/SRC/openSUSE:Factory/.libksi.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libksi" Mon Sep 4 12:26:43 2017 rev:4 rq:519202 version:3.4.0.5 Changes: -------- --- /work/SRC/openSUSE:Factory/libksi/libksi.changes 2017-02-20 14:27:52.329122260 +0100 +++ /work/SRC/openSUSE:Factory/.libksi.new/libksi.changes 2017-09-04 12:26:44.488338846 +0200 @@ -1,0 +2,6 @@ +Tue Aug 22 10:58:00 UTC 2017 - [email protected] + +- Fixed errors when building with openssl-1.1.0 [bsc#1042656] + * Added patch libksi-build-with-openssl-1.1.0.patch + +------------------------------------------------------------------- New: ---- libksi-build-with-openssl-1.1.0.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libksi.spec ++++++ --- /var/tmp/diff_new_pack.p3xGFf/_old 2017-09-04 12:26:45.292225824 +0200 +++ /var/tmp/diff_new_pack.p3xGFf/_new 2017-09-04 12:26:45.300224700 +0200 @@ -27,6 +27,8 @@ # https://github.com/rsyslog/libksi # extracted from http://rpms.adiscon.com/v8-stable/epel-7/x86_64/RPMS/libksi1-3.4.0.5-2.el7.src.rpm Source0: %{name}-%{version}.tar.gz +# PATCH-FIX-OPENSUSE bsc#1042656 -- Fix errors building with openssl-1.1.0 +Patch0: libksi-build-with-openssl-1.1.0.patch BuildRequires: curl-devel BuildRequires: openssl-devel BuildRequires: pkg-config @@ -54,6 +56,7 @@ %prep %setup -q +%patch0 -p1 %build %configure \ ++++++ libksi-build-with-openssl-1.1.0.patch ++++++ 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);
