diff --git a/security/pkcs11-helper/files/patch-lib_pkcs11h-openssl.c b/security/pkcs11-helper/files/patch-lib_pkcs11h-openssl.c index e27454eb3d28..99db16701bc0 100644 --- a/security/pkcs11-helper/files/patch-lib_pkcs11h-openssl.c +++ b/security/pkcs11-helper/files/patch-lib_pkcs11h-openssl.c @@ -1,40 +1,49 @@ --- lib/pkcs11h-openssl.c.orig 2022-04-07 17:01:01 UTC +++ lib/pkcs11h-openssl.c -@@ -235,9 +235,13 @@ DSA_meth_set1_name (DSA_METHOD *meth, const char *name +@@ -235,9 +235,13 @@ DSA_meth_free (DSA_METHOD *meth) static int DSA_meth_set1_name (DSA_METHOD *meth, const char *name) { +#if (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x30500000L) + return 0; +#else CK_RV rv; rv = _pkcs11h_mem_strdup ((void *)&meth->name, name); return rv == CKR_OK ? 1 : 0; +#endif } #endif +@@ -330,7 +334,7 @@ static struct { + #endif + } __openssl_methods; + +-#if OPENSSL_VERSION_NUMBER < 0x10100001L ++#if OPENSSL_VERSION_NUMBER < 0x10100001L || defined(LIBRESSL_VERSION_NUMBER) + static + int + __pkcs11h_openssl_ex_data_dup ( @@ -341,12 +345,22 @@ __pkcs11h_openssl_ex_data_dup ( long argl, void *argp ) { -#else +#elif OPENSSL_VERSION_NUMBER < 0x30000000L int __pkcs11h_openssl_ex_data_dup ( CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, void *from_d, + int idx, + long argl, + void *argp +) { +#else +int +__pkcs11h_openssl_ex_data_dup ( + CRYPTO_EX_DATA *to, + const CRYPTO_EX_DATA *from, + void **from_d, int idx, long argl, void *argp