On Sun, May 14, 2023 at 05:10:08PM -0400, Brad Smith wrote:
> Here is a port for asio.
> 
> This is the standalone copy unlike the Boost integrated version.
> 
> 
> Information for inst:asio-1.28.0
> 
> Comment:
> header-only C++ library for asynchronous I/O programming
> 
> Description:
> Asio is a cross-platform C++ library for network and low-level I/O
> programming that provides developers with a consistent asynchronous
> model using a modern C++ approach.

and here is a diff to have galera use the external copy. The included
version is very old.


Index: Makefile
===================================================================
RCS file: /home/cvs/ports/databases/galera/Makefile,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 Makefile
--- Makefile    14 May 2023 10:42:59 -0000      1.1.1.1
+++ Makefile    15 May 2023 01:09:44 -0000
@@ -2,6 +2,7 @@ COMMENT=        synchronous multi-master replic
 
 VERSION=       26.4.14
 DISTNAME=      galera-${VERSION}
+REVISION=      0
 
 CATEGORIES=    databases
 
@@ -26,7 +27,8 @@ COMPILER=     base-clang ports-gcc
 
 MODULES=       devel/cmake
 
-BUILD_DEPENDS= devel/check
+BUILD_DEPENDS= devel/asio \
+               devel/check
 LIB_DEPENDS=   devel/boost
 
 WANTLIB += ${COMPILER_LIBCXX} boost_program_options-mt c crypto m ssl
Index: patches/patch-asio_asio_ssl_impl_context_ipp
===================================================================
RCS file: patches/patch-asio_asio_ssl_impl_context_ipp
diff -N patches/patch-asio_asio_ssl_impl_context_ipp
--- patches/patch-asio_asio_ssl_impl_context_ipp        14 May 2023 10:42:59 
-0000      1.1.1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,144 +0,0 @@
-Index: asio/asio/ssl/impl/context.ipp
---- asio/asio/ssl/impl/context.ipp.orig
-+++ 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);

Reply via email to