package/erlang: fix build with libressl >= 3.5.0

Fix the following build failure with libressl >= 3.5.0 raised since bump
to version 3.5.2 in commit 8b216927db080b38fdbf1f8b025b6f90a89d4bc2:

api_ng.c: In function 'EVP_CIPHER_CTX_copy':
api_ng.c:392:28: error: invalid use of incomplete typedef 'EVP_CIPHER_CTX' {aka 'const struct evp_cipher_ctx_st'}
  392 |     if ((in == NULL) || (in->cipher == NULL))
      |                            ^~

Fixes:
 - http://autobuild.buildroot.org/results/90f7365d8477d35fca452b7b3f38babba086375e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 2625406643)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022.11.x
Fabrice Fontaine 2023-02-23 15:06:06 +01:00 committed by Peter Korsgaard
parent 1c00bbd2e7
commit b4b32468cb
1 changed files with 30 additions and 0 deletions

View File

@ -0,0 +1,30 @@
From 8e5170d79e387d7e898d948a78e0c70407a4030c Mon Sep 17 00:00:00 2001
From: Hans Nilsson <hans@erlang.org>
Date: Mon, 14 Feb 2022 15:51:35 +0100
Subject: [PATCH] crypto: Fixes for LibreSSL 3.5.0
[Retrieved (and backported) from:
https://github.com/erlang/otp/commit/8e5170d79e387d7e898d948a78e0c70407a4030c]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
lib/crypto/c_src/openssl_config.h | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/crypto/c_src/openssl_config.h b/lib/crypto/c_src/openssl_config.h
index 6fdd049fb30a..39e4b2d9d7c0 100644
--- a/lib/crypto/c_src/openssl_config.h
+++ b/lib/crypto/c_src/openssl_config.h
@@ -122,7 +122,14 @@
# endif
#endif
+#ifdef HAS_LIBRESSL
+# if LIBRESSL_VERSION_NUMBER >= 0x3050000fL
+# define HAS_EVP_PKEY_CTX
+# define HAVE_EVP_CIPHER_CTX_COPY
+# endif
+#endif
+
#ifndef HAS_LIBRESSL
# if OPENSSL_VERSION_NUMBER >= PACKED_OPENSSL_VERSION_PLAIN(1,0,0)
# define HAS_EVP_PKEY_CTX