Hello community,

here is the log from the commit of package ima-evm-utils for openSUSE:Factory 
checked in at 2017-11-10 14:57:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ima-evm-utils (Old)
 and      /work/SRC/openSUSE:Factory/.ima-evm-utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ima-evm-utils"

Fri Nov 10 14:57:00 2017 rev:11 rq:539892 version:1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ima-evm-utils/ima-evm-utils.changes      
2017-10-24 22:23:40.719570353 +0200
+++ /work/SRC/openSUSE:Factory/.ima-evm-utils.new/ima-evm-utils.changes 
2017-11-10 14:57:21.136176123 +0100
@@ -1,0 +2,5 @@
+Wed Nov  8 12:31:07 UTC 2017 - meiss...@suse.com
+
+- ima-evm-utils-openssl1.patch: allow building against openssl 1.1 
(bsc#1066947)
+
+-------------------------------------------------------------------

New:
----
  ima-evm-utils-openssl1.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ima-evm-utils.spec ++++++
--- /var/tmp/diff_new_pack.9scVxb/_old  2017-11-10 14:57:22.304133877 +0100
+++ /var/tmp/diff_new_pack.9scVxb/_new  2017-11-10 14:57:22.308133733 +0100
@@ -28,6 +28,7 @@
 Url:            http://sourceforge.net/projects/linux-ima/
 Source0:        
http://downloads.sourceforge.net/project/linux-ima/ima-evm-utils/%{name}-%{version}.tar.gz
 Patch2:         ima-evm-utils-fix-docbook-xsl-directory.patch
+Patch3:         ima-evm-utils-openssl1.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  asciidoc
 BuildRequires:  autoconf
@@ -77,6 +78,9 @@
 %if %suse_version >= 1315
 %patch2 -p1
 %endif
+if pkg-config --atleast-version=1.1 openssl; then
+%patch3 -p1
+fi
 
 %build
 NOCONFIGURE=1 ./autogen.sh

++++++ ima-evm-utils-openssl1.patch ++++++
Index: ima-evm-utils-1.0/src/evmctl.c
===================================================================
--- ima-evm-utils-1.0.orig/src/evmctl.c
+++ ima-evm-utils-1.0/src/evmctl.c
@@ -305,7 +305,7 @@ static int calc_evm_hash(const char *fil
        struct stat st;
        int err;
        uint32_t generation = 0;
-       EVP_MD_CTX ctx;
+       EVP_MD_CTX *ctx;
        unsigned int mdlen;
        char **xattrname;
        char xattr_value[1024];
@@ -345,7 +345,8 @@ static int calc_evm_hash(const char *fil
                return -1;
        }
 
-       err = EVP_DigestInit(&ctx, EVP_sha1());
+       ctx = EVP_MD_CTX_new();
+       err = EVP_DigestInit(ctx, EVP_sha1());
        if (!err) {
                log_err("EVP_DigestInit() failed\n");
                return 1;
@@ -364,7 +365,7 @@ static int calc_evm_hash(const char *fil
                /*log_debug("name: %s, value: %s, size: %d\n", *xattrname, 
xattr_value, err);*/
                log_info("name: %s, size: %d\n", *xattrname, err);
                log_debug_dump(xattr_value, err);
-               err = EVP_DigestUpdate(&ctx, xattr_value, err);
+               err = EVP_DigestUpdate(ctx, xattr_value, err);
                if (!err) {
                        log_err("EVP_DigestUpdate() failed\n");
                        return 1;
@@ -412,7 +413,7 @@ static int calc_evm_hash(const char *fil
        log_debug("hmac_misc (%d): ", hmac_size);
        log_debug_dump(&hmac_misc, hmac_size);
 
-       err = EVP_DigestUpdate(&ctx, &hmac_misc, hmac_size);
+       err = EVP_DigestUpdate(ctx, &hmac_misc, hmac_size);
        if (!err) {
                log_err("EVP_DigestUpdate() failed\n");
                return 1;
@@ -423,14 +424,14 @@ static int calc_evm_hash(const char *fil
                if (err)
                        return -1;
 
-               err = EVP_DigestUpdate(&ctx, (const unsigned char *)uuid, 
sizeof(uuid));
+               err = EVP_DigestUpdate(ctx, (const unsigned char *)uuid, 
sizeof(uuid));
                if (!err) {
                        log_err("EVP_DigestUpdate() failed\n");
                        return 1;
                }
        }
 
-       err = EVP_DigestFinal(&ctx, hash, &mdlen);
+       err = EVP_DigestFinal(ctx, hash, &mdlen);
        if (!err) {
                log_err("EVP_DigestFinal() failed\n");
                return 1;
@@ -844,7 +845,7 @@ static int calc_evm_hmac(const char *fil
        struct stat st;
        int err = -1;
        uint32_t generation = 0;
-       HMAC_CTX ctx;
+       HMAC_CTX *ctx;
        unsigned int mdlen;
        char **xattrname;
        unsigned char xattr_value[1024];
@@ -900,7 +901,8 @@ static int calc_evm_hmac(const char *fil
                goto out;
        }
 
-       err = !HMAC_Init(&ctx, evmkey, sizeof(evmkey), EVP_sha1());
+       ctx = HMAC_CTX_new();
+       err = !HMAC_Init(ctx, evmkey, sizeof(evmkey), EVP_sha1());
        if (err) {
                log_err("HMAC_Init() failed\n");
                goto out;
@@ -919,7 +921,7 @@ static int calc_evm_hmac(const char *fil
                /*log_debug("name: %s, value: %s, size: %d\n", *xattrname, 
xattr_value, err);*/
                log_info("name: %s, size: %d\n", *xattrname, err);
                log_debug_dump(xattr_value, err);
-               err = !HMAC_Update(&ctx, xattr_value, err);
+               err = !HMAC_Update(ctx, xattr_value, err);
                if (err) {
                        log_err("HMAC_Update() failed\n");
                        goto out_ctx_cleanup;
@@ -960,16 +962,16 @@ static int calc_evm_hmac(const char *fil
        log_debug("hmac_misc (%d): ", hmac_size);
        log_debug_dump(&hmac_misc, hmac_size);
 
-       err = !HMAC_Update(&ctx, (const unsigned char *)&hmac_misc, hmac_size);
+       err = !HMAC_Update(ctx, (const unsigned char *)&hmac_misc, hmac_size);
        if (err) {
                log_err("HMAC_Update() failed\n");
                goto out_ctx_cleanup;
        }
-       err = !HMAC_Final(&ctx, hash, &mdlen);
+       err = !HMAC_Final(ctx, hash, &mdlen);
        if (err)
                log_err("HMAC_Final() failed\n");
 out_ctx_cleanup:
-       HMAC_CTX_cleanup(&ctx);
+       HMAC_CTX_free(ctx);
 out:
        free(key);
        return err ?: mdlen;
Index: ima-evm-utils-1.0/src/libimaevm.c
===================================================================
--- ima-evm-utils-1.0.orig/src/libimaevm.c
+++ ima-evm-utils-1.0/src/libimaevm.c
@@ -269,7 +269,7 @@ int ima_calc_hash(const char *file, uint
 {
        const EVP_MD *md;
        struct stat st;
-       EVP_MD_CTX ctx;
+       EVP_MD_CTX *ctx;
        unsigned int mdlen;
        int err;
 
@@ -286,7 +286,8 @@ int ima_calc_hash(const char *file, uint
                return 1;
        }
 
-       err = EVP_DigestInit(&ctx, md);
+       ctx = EVP_MD_CTX_new();
+       err = EVP_DigestInit(ctx, md);
        if (!err) {
                log_err("EVP_DigestInit() failed\n");
                return 1;
@@ -294,17 +295,17 @@ int ima_calc_hash(const char *file, uint
 
        switch (st.st_mode & S_IFMT) {
        case S_IFREG:
-               err = add_file_hash(file, &ctx);
+               err = add_file_hash(file, ctx);
                break;
        case S_IFDIR:
-               err = add_dir_hash(file, &ctx);
+               err = add_dir_hash(file, ctx);
                break;
        case S_IFLNK:
-               err = add_link_hash(file, &ctx);
+               err = add_link_hash(file, ctx);
                break;
        case S_IFIFO: case S_IFSOCK:
        case S_IFCHR: case S_IFBLK:
-               err = add_dev_hash(&st, &ctx);
+               err = add_dev_hash(&st, ctx);
                break;
        default:
                log_errno("Unsupported file type");
@@ -314,11 +315,12 @@ int ima_calc_hash(const char *file, uint
        if (err)
                return err;
 
-       err = EVP_DigestFinal(&ctx, hash, &mdlen);
+       err = EVP_DigestFinal(ctx, hash, &mdlen);
        if (!err) {
                log_err("EVP_DigestFinal() failed\n");
                return 1;
        }
+       EVP_MD_CTX_free(ctx);
 
        return mdlen;
 }
@@ -547,6 +549,7 @@ int key2bin(RSA *key, unsigned char *pub
 {
        int len, b, offset = 0;
        struct pubkey_hdr *pkh = (struct pubkey_hdr *)pub;
+       const BIGNUM *n, *e;
 
        /* add key header */
        pkh->version = 1;
@@ -556,18 +559,19 @@ int key2bin(RSA *key, unsigned char *pub
 
        offset += sizeof(*pkh);
 
-       len = BN_num_bytes(key->n);
-       b = BN_num_bits(key->n);
+       RSA_get0_key(key,&n,&e,NULL);
+       len = BN_num_bytes(n);
+       b = BN_num_bits(n);
        pub[offset++] = b >> 8;
        pub[offset++] = b & 0xff;
-       BN_bn2bin(key->n, &pub[offset]);
+       BN_bn2bin(n, &pub[offset]);
        offset += len;
 
-       len = BN_num_bytes(key->e);
-       b = BN_num_bits(key->e);
+       len = BN_num_bytes(e);
+       b = BN_num_bits(e);
        pub[offset++] = b >> 8;
        pub[offset++] = b & 0xff;
-       BN_bn2bin(key->e, &pub[offset]);
+       BN_bn2bin(e, &pub[offset]);
        offset += len;
 
        return offset;

Reply via email to