On 5/18/23 02:18, Brad Smith wrote:
> 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.
why can't this use the library from devel/boost ?
>
> 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