0001-fix-build-with-libressl-3.5.0.patch 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. From 66d1d626cf1405119d89c6fd0fb7e9019bd67f6c Mon Sep 17 00:00:00 2001
  2. From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  3. Date: Mon, 6 Jun 2022 10:24:58 +0200
  4. Subject: [PATCH] fix build with libressl >= 3.5.0
  5. Fix the following build failure with libressl >= 3.5.0:
  6. In file included from ../xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp:36:0,
  7. from enc/OpenSSL/OpenSSLCryptoKeyRSA.cpp:35:
  8. ../xsec/enc/OpenSSL/OpenSSLSupport.hpp:92:20: error: field 'mp_ctx_store' has incomplete type 'EVP_ENCODE_CTX {aka evp_Encode_Ctx_st}'
  9. EVP_ENCODE_CTX mp_ctx_store;
  10. ^~~~~~~~~~~~
  11. Fixes:
  12. - http://autobuild.buildroot.org/results/e908e59ec5b8e1ac505c44900dcb39527f0ec1d3
  13. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  14. [Upstream status: https://issues.apache.org/jira/browse/SANTUARIO-588]
  15. ---
  16. xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp | 3 ++-
  17. xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp | 3 ++-
  18. xsec/enc/OpenSSL/OpenSSLSupport.cpp | 5 +++--
  19. xsec/enc/OpenSSL/OpenSSLSupport.hpp | 3 ++-
  20. 4 files changed, 9 insertions(+), 5 deletions(-)
  21. diff --git a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
  22. index a8ea9f1d..a9a84e3f 100644
  23. --- a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
  24. +++ b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
  25. @@ -48,7 +48,8 @@ XERCES_CPP_NAMESPACE_USE
  26. // Construction/Destruction
  27. // --------------------------------------------------------------------------------
  28. -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
  29. +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
  30. + ((defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L))
  31. OpenSSLCryptoBase64::OpenSSLCryptoBase64() : mp_ectx(&m_ectx_store), mp_dctx(&m_dctx_store) { }
  32. OpenSSLCryptoBase64::~OpenSSLCryptoBase64() { }
  33. #else
  34. diff --git a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
  35. index 82aeb0a1..7c947d50 100644
  36. --- a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
  37. +++ b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
  38. @@ -205,7 +205,8 @@ private :
  39. EVP_ENCODE_CTX *mp_ectx; // Encode context
  40. EVP_ENCODE_CTX *mp_dctx; // Decode context
  41. -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
  42. +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
  43. + ((defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L))
  44. EVP_ENCODE_CTX m_ectx_store;
  45. EVP_ENCODE_CTX m_dctx_store;
  46. #endif
  47. diff --git a/xsec/enc/OpenSSL/OpenSSLSupport.cpp b/xsec/enc/OpenSSL/OpenSSLSupport.cpp
  48. index cf874f82..c4453004 100644
  49. --- a/xsec/enc/OpenSSL/OpenSSLSupport.cpp
  50. +++ b/xsec/enc/OpenSSL/OpenSSLSupport.cpp
  51. @@ -273,7 +273,8 @@ int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
  52. #endif
  53. -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
  54. +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
  55. + ((defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L))
  56. EvpEncodeCtxRAII::EvpEncodeCtxRAII() : mp_ctx(&mp_ctx_store) { };
  57. EvpEncodeCtxRAII::~EvpEncodeCtxRAII() { }
  58. #else
  59. @@ -289,4 +290,4 @@ EVP_ENCODE_CTX
  60. return mp_ctx;
  61. }
  62. -#endif
  63. \ No newline at end of file
  64. +#endif
  65. diff --git a/xsec/enc/OpenSSL/OpenSSLSupport.hpp b/xsec/enc/OpenSSL/OpenSSLSupport.hpp
  66. index b5f67f26..09d50899 100644
  67. --- a/xsec/enc/OpenSSL/OpenSSLSupport.hpp
  68. +++ b/xsec/enc/OpenSSL/OpenSSLSupport.hpp
  69. @@ -88,7 +88,8 @@ public:
  70. private:
  71. EVP_ENCODE_CTX *mp_ctx;
  72. -#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
  73. +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
  74. + ((defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x30500000L))
  75. EVP_ENCODE_CTX mp_ctx_store;
  76. #endif
  77. };
  78. --
  79. 2.35.1