package/mtd: fix build with OpenSSL 4.0.0

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Bernd Kuhls
2026-09-27 12:42:35 +02:00
committed by Thomas Petazzoni
parent 441ccd8dab
commit 0b1caae22b

View File

@@ -0,0 +1,62 @@
From 50136f0ec6d8c9763889d49b31ca6965189afba5 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Date: Sat, 29 Aug 2026 19:25:02 +0200
Subject: [PATCH] ubifs-utils: Don't compile engine support if not available
OpenSSL 4.0 dropped engine support which was deprecated since 3.0. The
replacement is the "providers" API.
Add an ifndef OPENSSL_NO_ENGINE around the engine code so it can be left
out where it is not supported.
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Upstream: https://lists.infradead.org/pipermail/linux-mtd/2026-August/114868.html
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
ubifs-utils/common/sign.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/ubifs-utils/common/sign.c b/ubifs-utils/common/sign.c
index 032a6ac..5f94c0a 100644
--- a/ubifs-utils/common/sign.c
+++ b/ubifs-utils/common/sign.c
@@ -23,11 +23,14 @@
#include <openssl/bio.h>
#include <openssl/pem.h>
#include <openssl/err.h>
-#include <openssl/engine.h>
#include <openssl/cms.h>
#include <openssl/conf.h>
#include <err.h>
+#ifndef OPENSSL_NO_ENGINE
+#include <openssl/engine.h>
+#endif
+
#include "linux_types.h"
#include "sign.h"
#include "ubifs.h"
@@ -139,6 +142,7 @@ static EVP_PKEY *read_private_key(const char *private_key_name, X509 **cert)
*cert = NULL;
if (!strncmp(private_key_name, "pkcs11:", 7)) {
+#ifndef OPENSSL_NO_ENGINE
ENGINE *e;
struct {
const char *url;
@@ -177,6 +181,10 @@ static EVP_PKEY *read_private_key(const char *private_key_name, X509 **cert)
}
*cert = parms.cert;
fprintf(stderr, "Using cert %p\n", *cert);
+#else
+ ssl_err_msg("PKCS#11 ENGINE support not available.");
+ return NULL;
+#endif
} else {
BIO *b;
--
2.47.3