[Buildroot] [git commit] package/xml-security-c: fix build with libressl >= 3.5.0

Peter Korsgaard peter at korsgaard.com
Mon Jun 6 09:14:45 UTC 2022


commit: https://git.buildroot.net/buildroot/commit/?id=1fe77cc29c85b3541261c7c08ab82e3789fd1d4e
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

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

In file included from ../xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp:36:0,
                 from enc/OpenSSL/OpenSSLCryptoKeyRSA.cpp:35:
../xsec/enc/OpenSSL/OpenSSLSupport.hpp:92:20: error: field 'mp_ctx_store' has incomplete type 'EVP_ENCODE_CTX {aka evp_Encode_Ctx_st}'
     EVP_ENCODE_CTX mp_ctx_store;
                    ^~~~~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/e908e59ec5b8e1ac505c44900dcb39527f0ec1d3

Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 .../0001-fix-build-with-libressl-3.5.0.patch       | 91 ++++++++++++++++++++++
 1 file changed, 91 insertions(+)

diff --git a/package/xml-security-c/0001-fix-build-with-libressl-3.5.0.patch b/package/xml-security-c/0001-fix-build-with-libressl-3.5.0.patch
new file mode 100644
index 0000000000..1b2591aa36
--- /dev/null
+++ b/package/xml-security-c/0001-fix-build-with-libressl-3.5.0.patch
@@ -0,0 +1,91 @@
+From 66d1d626cf1405119d89c6fd0fb7e9019bd67f6c Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
+Date: Mon, 6 Jun 2022 10:24:58 +0200
+Subject: [PATCH] fix build with libressl >= 3.5.0
+
+Fix the following build failure with libressl >= 3.5.0:
+
+In file included from ../xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp:36:0,
+                 from enc/OpenSSL/OpenSSLCryptoKeyRSA.cpp:35:
+../xsec/enc/OpenSSL/OpenSSLSupport.hpp:92:20: error: field 'mp_ctx_store' has incomplete type 'EVP_ENCODE_CTX {aka evp_Encode_Ctx_st}'
+     EVP_ENCODE_CTX mp_ctx_store;
+                    ^~~~~~~~~~~~
+
+Fixes:
+ - http://autobuild.buildroot.org/results/e908e59ec5b8e1ac505c44900dcb39527f0ec1d3
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
+[Upstream status: https://issues.apache.org/jira/browse/SANTUARIO-588]
+---
+ xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp | 3 ++-
+ xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp | 3 ++-
+ xsec/enc/OpenSSL/OpenSSLSupport.cpp      | 5 +++--
+ xsec/enc/OpenSSL/OpenSSLSupport.hpp      | 3 ++-
+ 4 files changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
+index a8ea9f1d..a9a84e3f 100644
+--- a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
++++ b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
+@@ -48,7 +48,8 @@ XERCES_CPP_NAMESPACE_USE
+ //           Construction/Destruction
+ // --------------------------------------------------------------------------------
+ 
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
++	((defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L))
+ OpenSSLCryptoBase64::OpenSSLCryptoBase64() : mp_ectx(&m_ectx_store), mp_dctx(&m_dctx_store) { }
+ OpenSSLCryptoBase64::~OpenSSLCryptoBase64() { }
+ #else
+diff --git a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
+index 82aeb0a1..7c947d50 100644
+--- a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
++++ b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
+@@ -205,7 +205,8 @@ private :
+     EVP_ENCODE_CTX *mp_ectx;              // Encode context
+     EVP_ENCODE_CTX *mp_dctx;              // Decode context
+ 
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
++	((defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L))
+     EVP_ENCODE_CTX m_ectx_store;
+     EVP_ENCODE_CTX m_dctx_store;
+ #endif 
+diff --git a/xsec/enc/OpenSSL/OpenSSLSupport.cpp b/xsec/enc/OpenSSL/OpenSSLSupport.cpp
+index cf874f82..c4453004 100644
+--- a/xsec/enc/OpenSSL/OpenSSLSupport.cpp
++++ b/xsec/enc/OpenSSL/OpenSSLSupport.cpp
+@@ -273,7 +273,8 @@ int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
+ 
+ #endif
+ 
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
++	 ((defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L))
+ EvpEncodeCtxRAII::EvpEncodeCtxRAII() : mp_ctx(&mp_ctx_store) { };
+ EvpEncodeCtxRAII::~EvpEncodeCtxRAII() { }
+ #else
+@@ -289,4 +290,4 @@ EVP_ENCODE_CTX
+     return mp_ctx;
+ }
+ 
+-#endif
+\ No newline at end of file
++#endif
+diff --git a/xsec/enc/OpenSSL/OpenSSLSupport.hpp b/xsec/enc/OpenSSL/OpenSSLSupport.hpp
+index b5f67f26..09d50899 100644
+--- a/xsec/enc/OpenSSL/OpenSSLSupport.hpp
++++ b/xsec/enc/OpenSSL/OpenSSLSupport.hpp
+@@ -88,7 +88,8 @@ public:
+ 
+ private:
+     EVP_ENCODE_CTX *mp_ctx;
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
++	((defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L))
+     EVP_ENCODE_CTX mp_ctx_store;
+ #endif    
+ };
+-- 
+2.35.1
+



More information about the buildroot mailing list