Skip to content

Commit

Permalink
databases/galera26: Fix build with LibreSSL
Browse files Browse the repository at this point in the history
 * None of the LibreSSL versions (35+) in ports require patching

codership/galera#640

PR:		264180
  • Loading branch information
Sp1l committed Apr 17, 2023
1 parent 2433bf3 commit 6c9469b
Show file tree
Hide file tree
Showing 2 changed files with 143 additions and 11 deletions.
143 changes: 143 additions & 0 deletions databases/galera26/files/patch-asio_asio_ssl_impl_context.ipp
@@ -0,0 +1,143 @@
--- asio/asio/ssl/impl/context.ipp.orig 2023-02-03 12:20:21 UTC
+++ asio/asio/ssl/impl/context.ipp
@@ -87,7 +87,7 @@ context::context(context::method m)
#endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(OPENSSL_NO_SSL2)

// SSL v3.
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
case context::sslv3:
handle_ = ::SSL_CTX_new(::TLS_method());
if (handle_)
@@ -132,7 +132,7 @@ context::context(context::method m)
#endif // defined(OPENSSL_NO_SSL3)

// TLS v1.0.
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
case context::tlsv1:
handle_ = ::SSL_CTX_new(::TLS_method());
if (handle_)
@@ -177,7 +177,7 @@ context::context(context::method m)
#endif // defined(SSL_TXT_TLSV1)

// TLS v1.1.
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
case context::tlsv11:
handle_ = ::SSL_CTX_new(::TLS_method());
if (handle_)
@@ -222,7 +222,7 @@ context::context(context::method m)
#endif // defined(SSL_TXT_TLSV1_1)

// TLS v1.2.
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
case context::tlsv12:
handle_ = ::SSL_CTX_new(::TLS_method());
if (handle_)
@@ -267,8 +267,7 @@ context::context(context::method m)
#endif // defined(SSL_TXT_TLSV1_2)

// TLS v1.3.
-#if (OPENSSL_VERSION_NUMBER >= 0x10101000L) \
- && !defined(LIBRESSL_VERSION_NUMBER)
+#if (OPENSSL_VERSION_NUMBER >= 0x10101000L)
case context::tlsv13:
handle_ = ::SSL_CTX_new(::TLS_method());
if (handle_)
@@ -294,7 +293,6 @@ context::context(context::method m)
}
break;
#else // (OPENSSL_VERSION_NUMBER >= 0x10101000L)
- // && !defined(LIBRESSL_VERSION_NUMBER)
case context::tlsv13:
case context::tlsv13_client:
case context::tlsv13_server:
@@ -302,7 +300,6 @@ context::context(context::method m)
asio::error::invalid_argument, "context");
break;
#endif // (OPENSSL_VERSION_NUMBER >= 0x10101000L)
- // && !defined(LIBRESSL_VERSION_NUMBER)

// Any supported SSL/TLS version.
case context::sslv23:
@@ -316,7 +313,7 @@ context::context(context::method m)
break;

// Any supported TLS version.
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
case context::tls:
handle_ = ::SSL_CTX_new(::TLS_method());
if (handle_)
@@ -386,8 +383,7 @@ context::~context()
{
if (handle_)
{
-#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
- && !defined(LIBRESSL_VERSION_NUMBER)) \
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \
|| defined(ASIO_USE_WOLFSSL)
void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
@@ -399,8 +395,7 @@ context::~context()
static_cast<detail::password_callback_base*>(
cb_userdata);
delete callback;
-#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
- && !defined(LIBRESSL_VERSION_NUMBER)) \
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \
|| defined(ASIO_USE_WOLFSSL)
::SSL_CTX_set_default_passwd_cb_userdata(handle_, 0);
#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
@@ -738,8 +733,7 @@ ASIO_SYNC_OP_VOID context::use_certificate_chain(
bio_cleanup bio = { make_buffer_bio(chain) };
if (bio.p)
{
-#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
- && !defined(LIBRESSL_VERSION_NUMBER)) \
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \
|| defined(ASIO_USE_WOLFSSL)
pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
@@ -767,8 +761,7 @@ ASIO_SYNC_OP_VOID context::use_certificate_chain(
ASIO_SYNC_OP_VOID_RETURN(ec);
}

-#if ((OPENSSL_VERSION_NUMBER >= 0x10002000L) \
- && !defined(LIBRESSL_VERSION_NUMBER)) \
+#if (OPENSSL_VERSION_NUMBER >= 0x10002000L) \
|| defined(ASIO_USE_WOLFSSL)
::SSL_CTX_clear_chain_certs(handle_);
#else
@@ -846,8 +839,7 @@ ASIO_SYNC_OP_VOID context::use_private_key(
{
::ERR_clear_error();

-#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
- && !defined(LIBRESSL_VERSION_NUMBER)) \
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \
|| defined(ASIO_USE_WOLFSSL)
pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
@@ -915,8 +907,7 @@ ASIO_SYNC_OP_VOID context::use_rsa_private_key(
{
::ERR_clear_error();

-#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
- && !defined(LIBRESSL_VERSION_NUMBER)) \
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \
|| defined(ASIO_USE_WOLFSSL)
pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_);
void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
@@ -1156,8 +1147,7 @@ int context::verify_callback_function(int preverified,
ASIO_SYNC_OP_VOID context::do_set_password_callback(
detail::password_callback_base* callback, asio::error_code& ec)
{
-#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
- && !defined(LIBRESSL_VERSION_NUMBER)) \
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \
|| defined(ASIO_USE_WOLFSSL)
void* old_callback = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
::SSL_CTX_set_default_passwd_cb_userdata(handle_, callback);

This file was deleted.

0 comments on commit 6c9469b

Please sign in to comment.