Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libkrunfw for openSUSE:Factory 
checked in at 2026-09-07 11:30:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libkrunfw (Old)
 and      /work/SRC/openSUSE:Factory/.libkrunfw.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libkrunfw"

Mon Sep  7 11:30:27 2026 rev:15 rq:1375762 version:5.5.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libkrunfw/libkrunfw.changes      2026-06-15 
19:54:33.531383704 +0200
+++ /work/SRC/openSUSE:Factory/.libkrunfw.new.1265/libkrunfw.changes    
2026-09-07 11:32:24.519472473 +0200
@@ -1,0 +2,6 @@
+Mon Aug  3 21:11:36 UTC 2026 - Matej Cepl <[email protected]>
+
+- Add use-evp-api.patch which replaces the deprecated OpenSSL 3.0
+  digest APIs with the correct modern EVP API.
+
+-------------------------------------------------------------------

New:
----
  use-evp-api.patch

----------(New B)----------
  New:
- Add use-evp-api.patch which replaces the deprecated OpenSSL 3.0
  digest APIs with the correct modern EVP API.
----------(New E)----------

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

Other differences:
------------------
++++++ libkrunfw.spec ++++++
--- /var/tmp/diff_new_pack.M6MK92/_old  2026-09-07 11:32:27.418574104 +0200
+++ /var/tmp/diff_new_pack.M6MK92/_new  2026-09-07 11:32:27.422574244 +0200
@@ -41,6 +41,9 @@
 URL:            https://github.com/containers/libkrunfw
 Source0:        
https://github.com/containers/libkrunfw/archive/v%{version}.tar.gz#/libkrunfw-%{version}.tar.gz
 Source1:        https://www.kernel.org/pub/linux/kernel/v6.x/%{kernel}.tar.xz
+# PATCH-FIX-UPSTREAM use-evp-api.patch [email protected]
+# make the package compatible with OpenSSL 3.*
+Patch0:         use-evp-api.patch
 ExclusiveArch:  x86_64 aarch64
 # For building libkrunfw itself, we need:
 BuildRequires:  gcc
@@ -110,7 +113,7 @@
 %endif
 
 %prep
-%autosetup -S git
+%autosetup -p1 -S git
 mkdir tarballs
 cp %{SOURCE1} tarballs/
 

++++++ use-evp-api.patch ++++++
Port to modern OpenSSL EVP API to fix deprecation warnings

The `krunfw_measurement.c` tool uses `SHA256_Init`, `SHA256_Update`, 
`SHA256_Final` and `SHA384` directly. These are deprecated in 
OpenSSL 3.0+. This causes a build failure if warnings are treated 
as errors or due to stricter compilation flags in the OBS environment.

Switch to `EVP_DigestInit_ex`, `EVP_DigestUpdate`, `EVP_DigestFinal_ex`,
and `EVP_Q_digest` to maintain compatibility with modern OpenSSL versions.

Signed-off-by: AI Assistant
---
 utils/krunfw_measurement.c |   53 ++++++++++++++++++++++++---------------------
 1 file changed, 29 insertions(+), 24 deletions(-)

Index: libkrunfw-5.5.0/utils/krunfw_measurement.c
===================================================================
--- libkrunfw-5.5.0.orig/utils/krunfw_measurement.c     2026-06-08 
16:54:35.000000000 +0200
+++ libkrunfw-5.5.0/utils/krunfw_measurement.c  2026-08-03 22:26:08.661075833 
+0200
@@ -3,6 +3,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <dlfcn.h>
+#include <openssl/evp.h>
 #include <openssl/sha.h>
 #include <unistd.h>
 #include <asm/bootparam.h>
@@ -94,7 +95,7 @@
 void digest_blob(char *current, char *blob, uint64_t load_addr, size_t size)
 {
        int i, j;
-       SHA512_CTX ctx;
+       EVP_MD_CTX *mdctx;
        struct page_info info;
 
 
@@ -103,19 +104,19 @@
                memset(&info, 0, sizeof(struct page_info));
 
                memcpy(&info.current[0], current, 48);
-               SHA384(blob + i, 4096, &info.contents[0]);
+               EVP_Q_digest(NULL, "SHA384", NULL, blob + i, 4096, 
&info.contents[0], NULL);
 
                info.length = sizeof(struct page_info);
                info.page_type = 1;
                info.gpa = load_addr + i;
 
-               SHA384((char *)&info, sizeof(struct page_info), current);
+               EVP_Q_digest(NULL, "SHA384", NULL, (char *)&info, sizeof(struct 
page_info), current, NULL);
        }
 }
 
 void digest_zero(char *current, uint64_t gaddr, size_t size, uint8_t page_type)
 {
-       SHA512_CTX ctx;
+       EVP_MD_CTX *mdctx;
        struct page_info info;
        int i;
 
@@ -128,24 +129,24 @@
                info.page_type = page_type;
                info.gpa = gaddr + i;
 
-               SHA384((char *)&info, sizeof(struct page_info), current);
+               EVP_Q_digest(NULL, "SHA384", NULL, (char *)&info, sizeof(struct 
page_info), current, NULL);
        }
 }
 
 void digest_vmsa(char *current, const char *vmsa)
 {
-       SHA512_CTX ctx;
+       EVP_MD_CTX *mdctx;
        struct page_info info;
 
        memset(&info, 0, sizeof(struct page_info));
        memcpy(&info.current[0], current, 48);
-       SHA384(vmsa, 4096, &info.contents[0]);
+       EVP_Q_digest(NULL, "SHA384", NULL, vmsa, 4096, &info.contents[0], NULL);
 
        info.length = sizeof(struct page_info);
        info.page_type = 2;
        info.gpa = 0xFFFFFFFFF000;
 
-       SHA384((char *)&info, sizeof(struct page_info), current);
+       EVP_Q_digest(NULL, "SHA384", NULL, (char *)&info, sizeof(struct 
page_info), current, NULL);
 }
 
 void measurement_snp(int num_cpus)
@@ -193,31 +194,33 @@
        char *payload_addr;
        size_t payload_size;
        size_t load_addr;
-       SHA256_CTX shactx;
+       EVP_MD_CTX *mdctx;
        char digest[33];
        int i;
 
-       SHA256_Init(&shactx);
+       mdctx = EVP_MD_CTX_new();
+       EVP_DigestInit_ex(mdctx, EVP_sha256(), NULL);
 
        payload_addr = krunfw_get_qboot(&payload_size);
-       SHA256_Update(&shactx, payload_addr, payload_size);
+       EVP_DigestUpdate(mdctx, payload_addr, payload_size);
 
        payload_addr = krunfw_get_kernel(&load_addr, &payload_size);
-       SHA256_Update(&shactx, payload_addr, payload_size);
+       EVP_DigestUpdate(mdctx, payload_addr, payload_size);
 
        payload_addr = krunfw_get_initrd(&payload_size);
-       SHA256_Update(&shactx, payload_addr, payload_size);
+       EVP_DigestUpdate(mdctx, payload_addr, payload_size);
 
        bootp.hdr.ramdisk_size = payload_size;
-       SHA256_Update(&shactx, &bootp, 4096);
+       EVP_DigestUpdate(mdctx, &bootp, 4096);
 
-       SHA256_Update(&shactx, &VMSA_BP, 4096);
+       EVP_DigestUpdate(mdctx, &VMSA_BP, 4096);
        for (i = 1; i < num_cpus; i++)
        {
-               SHA256_Update(&shactx, &VMSA_AP, 4096);
+               EVP_DigestUpdate(mdctx, &VMSA_AP, 4096);
        }
 
-       SHA256_Final(&digest[0], &shactx);
+       EVP_DigestFinal_ex(mdctx, &digest[0], NULL);
+       EVP_MD_CTX_free(mdctx);
 
        printf("SEV-ES:\t");
        for (i = 0; i < 32; ++i)
@@ -232,25 +235,27 @@
        char *payload_addr;
        size_t payload_size;
        size_t load_addr;
-       SHA256_CTX shactx;
+       EVP_MD_CTX *mdctx;
        char digest[33];
        int i;
 
-       SHA256_Init(&shactx);
+       mdctx = EVP_MD_CTX_new();
+       EVP_DigestInit_ex(mdctx, EVP_sha256(), NULL);
 
        payload_addr = krunfw_get_qboot(&payload_size);
-       SHA256_Update(&shactx, payload_addr, payload_size);
+       EVP_DigestUpdate(mdctx, payload_addr, payload_size);
 
        payload_addr = krunfw_get_kernel(&load_addr, &payload_size);
-       SHA256_Update(&shactx, payload_addr, payload_size);
+       EVP_DigestUpdate(mdctx, payload_addr, payload_size);
 
        payload_addr = krunfw_get_initrd(&payload_size);
-       SHA256_Update(&shactx, payload_addr, payload_size);
+       EVP_DigestUpdate(mdctx, payload_addr, payload_size);
 
        bootp.hdr.ramdisk_size = payload_size;
-       SHA256_Update(&shactx, &bootp, 4096);
+       EVP_DigestUpdate(mdctx, &bootp, 4096);
 
-       SHA256_Final(&digest[0], &shactx);
+       EVP_DigestFinal_ex(mdctx, &digest[0], NULL);
+       EVP_MD_CTX_free(mdctx);
 
        printf("SEV:\t");
        for (i = 0; i < 32; ++i)

Reply via email to