Date: Tuesday, November 1, 2022 @ 18:37:25
Author: felixonmars
Revision: 1340219
add a patch for openssl 3
Added:
opensc/trunk/opensc-openssl-3.patch
Modified:
opensc/trunk/PKGBUILD
------------------------+
PKGBUILD | 13 ++++++++-
opensc-openssl-3.patch | 64 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 75 insertions(+), 2 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2022-11-01 18:25:20 UTC (rev 1340218)
+++ PKGBUILD 2022-11-01 18:37:25 UTC (rev 1340219)
@@ -14,9 +14,18 @@
makedepends=('docbook-xsl')
depends=('pcsclite' 'glib2' 'libltdl')
options=(!emptydirs !lto)
-source=("https://github.com/OpenSC/OpenSC/releases/download/$pkgver/opensc-$pkgver.tar.gz")
-sha512sums=('70ad5f1219f2ec2a5529a30d8e9955510c77c87d0bc857d5951c7227c75cf9de1c6071f43dd3816a2034123ebd902709793ff776e84d5379fdd54c811ccfaaee')
+source=("https://github.com/OpenSC/OpenSC/releases/download/$pkgver/opensc-$pkgver.tar.gz"
+ opensc-openssl-3.patch)
+sha512sums=('70ad5f1219f2ec2a5529a30d8e9955510c77c87d0bc857d5951c7227c75cf9de1c6071f43dd3816a2034123ebd902709793ff776e84d5379fdd54c811ccfaaee'
+
'53cbfd98ac49c0436cc39f069cf2a099d66d337a102682fcd17031f4ffcf6ebf7625a7b7aad44170010e291b7265954bc9a8e6650df86672ce3be88c85dae659')
+prepare() {
+ cd $pkgname-$pkgver
+ patch -p1 -i ../opensc-openssl-3.patch
+ # Remove -Werror to ignore openssl 3 deprecation warnings
+ sed -i 's/-Werror//' configure.ac
+}
+
build() {
cd $pkgname-$pkgver
Added: opensc-openssl-3.patch
===================================================================
--- opensc-openssl-3.patch (rev 0)
+++ opensc-openssl-3.patch 2022-11-01 18:37:25 UTC (rev 1340219)
@@ -0,0 +1,64 @@
+From c3dcab8b237d42961c0dc12ab2105f3df9073116 Mon Sep 17 00:00:00 2001
+From: xhanulik <[email protected]>
+Date: Mon, 25 Oct 2021 15:47:44 +0200
+Subject: [PATCH] pkcs11-tool: load legacy provider for RIPEMD160 in test
+
+---
+ src/tools/pkcs11-tool.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/src/tools/pkcs11-tool.c b/src/tools/pkcs11-tool.c
+index 66f1acaf4e..53e7c7d75f 100644
+--- a/src/tools/pkcs11-tool.c
++++ b/src/tools/pkcs11-tool.c
+@@ -52,6 +52,7 @@
+ #include <openssl/asn1t.h>
+ #include <openssl/rsa.h>
+ #include <openssl/pem.h>
++#include <openssl/provider.h>
+ #if !defined(OPENSSL_NO_EC) && !defined(OPENSSL_NO_ECDSA)
+ #include <openssl/ec.h>
+ #include <openssl/ecdsa.h>
+@@ -71,6 +72,10 @@
+ #include "util.h"
+ #include "libopensc/sc-ossl-compat.h"
+
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++OSSL_PROVIDER *legacy_provider = NULL;
++#endif
++
+ #ifdef _WIN32
+ #ifndef STDOUT_FILENO
+ #define STDOUT_FILENO 1
+@@ -5766,7 +5771,6 @@ static int test_digest(CK_SESSION_HANDLE session)
+ CK_ULONG hashLen1, hashLen2;
+ CK_MECHANISM_TYPE firstMechType;
+ CK_SESSION_INFO sessionInfo;
+-
+ CK_MECHANISM_TYPE mechTypes[] = {
+ CKM_MD5,
+ CKM_RIPEMD160,
+@@ -5868,6 +5872,11 @@ static int test_digest(CK_SESSION_HANDLE session)
+ #endif
+ for (; mechTypes[i] != 0xffffff; i++) {
+ ck_mech.mechanism = mechTypes[i];
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++ if (!legacy_provider) {
++ legacy_provider = OSSL_PROVIDER_load(NULL, "legacy");
++ }
++#endif
+
+ rv = p11->C_DigestInit(session, &ck_mech);
+ if (rv == CKR_MECHANISM_INVALID)
+@@ -6065,6 +6074,11 @@ static int sign_verify_openssl(CK_SESSION_HANDLE
session,
+ EVP_sha256(),
+ };
+ #endif
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++ if (!legacy_provider) {
++ legacy_provider = OSSL_PROVIDER_load(NULL, "legacy");
++ }
++#endif
+
+ rv = p11->C_SignInit(session, ck_mech, privKeyObject);
+ /* mechanism not implemented, don't test */