devel/boost: fix upcoming build failure in dependent ports
Use accessors instead of reaching into SSL_CTX. The requisite accessors have been available since LibreSSL 2.7.2 and are thus present in all supported versions. positive feedback from brad, looks good to jsing
This commit is contained in:
parent
c376717119
commit
c1bbcfa9d9
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.112 2021/05/06 11:36:14 rsadowski Exp $
|
||||
# $OpenBSD: Makefile,v 1.113 2021/05/10 15:08:50 tb Exp $
|
||||
|
||||
ONLY_FOR_ARCHS-md = aarch64 amd64 arm i386 mips64 mips64el powerpc powerpc64
|
||||
|
||||
@ -13,7 +13,7 @@ CATEGORIES= devel
|
||||
MASTER_SITES= https://boostorg.jfrog.io/artifactory/main/release/${VERSION}/source/
|
||||
EXTRACT_SUFX= .tar.bz2
|
||||
FIX_EXTRACT_PERMISSIONS = Yes
|
||||
REVISION-main= 0
|
||||
REVISION-main= 1
|
||||
|
||||
SO_VERSION= 14.0
|
||||
BOOST_LIBS= boost_atomic-mt \
|
||||
|
86
devel/boost/patches/patch-boost_asio_ssl_impl_context_ipp
Normal file
86
devel/boost/patches/patch-boost_asio_ssl_impl_context_ipp
Normal file
@ -0,0 +1,86 @@
|
||||
$OpenBSD: patch-boost_asio_ssl_impl_context_ipp,v 1.3 2021/05/10 15:08:50 tb Exp $
|
||||
|
||||
Use accessors instead of reaching into SSL_CTX. The requisite
|
||||
accessors have been available since LibreSSL 2.7.2 and are thus
|
||||
present in all supported versions.
|
||||
|
||||
Index: boost/asio/ssl/impl/context.ipp
|
||||
--- boost/asio/ssl/impl/context.ipp.orig
|
||||
+++ boost/asio/ssl/impl/context.ipp
|
||||
@@ -387,9 +387,7 @@ context::~context()
|
||||
{
|
||||
if (handle_)
|
||||
{
|
||||
-#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
|
||||
- && !defined(LIBRESSL_VERSION_NUMBER)) \
|
||||
- || defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
|
||||
#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
|
||||
void* cb_userdata = handle_->default_passwd_callback_userdata;
|
||||
@@ -400,9 +398,7 @@ context::~context()
|
||||
static_cast<detail::password_callback_base*>(
|
||||
cb_userdata);
|
||||
delete callback;
|
||||
-#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
|
||||
- && !defined(LIBRESSL_VERSION_NUMBER)) \
|
||||
- || defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
::SSL_CTX_set_default_passwd_cb_userdata(handle_, 0);
|
||||
#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
|
||||
handle_->default_passwd_callback_userdata = 0;
|
||||
@@ -739,9 +735,7 @@ BOOST_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)) \
|
||||
- || defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(BOOST_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_);
|
||||
#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
|
||||
@@ -768,9 +762,7 @@ BOOST_ASIO_SYNC_OP_VOID context::use_certificate_chain
|
||||
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
||||
}
|
||||
|
||||
-#if ((OPENSSL_VERSION_NUMBER >= 0x10002000L) \
|
||||
- && !defined(LIBRESSL_VERSION_NUMBER)) \
|
||||
- || defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
+#if (OPENSSL_VERSION_NUMBER >= 0x10002000L) || defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
::SSL_CTX_clear_chain_certs(handle_);
|
||||
#else
|
||||
if (handle_->extra_certs)
|
||||
@@ -847,9 +839,7 @@ BOOST_ASIO_SYNC_OP_VOID context::use_private_key(
|
||||
{
|
||||
::ERR_clear_error();
|
||||
|
||||
-#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
|
||||
- && !defined(LIBRESSL_VERSION_NUMBER)) \
|
||||
- || defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(BOOST_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_);
|
||||
#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
|
||||
@@ -916,9 +906,7 @@ BOOST_ASIO_SYNC_OP_VOID context::use_rsa_private_key(
|
||||
{
|
||||
::ERR_clear_error();
|
||||
|
||||
-#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
|
||||
- && !defined(LIBRESSL_VERSION_NUMBER)) \
|
||||
- || defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(BOOST_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_);
|
||||
#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
|
||||
@@ -1157,9 +1145,7 @@ int context::verify_callback_function(int preverified,
|
||||
BOOST_ASIO_SYNC_OP_VOID context::do_set_password_callback(
|
||||
detail::password_callback_base* callback, boost::system::error_code& ec)
|
||||
{
|
||||
-#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \
|
||||
- && !defined(LIBRESSL_VERSION_NUMBER)) \
|
||||
- || defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
void* old_callback = ::SSL_CTX_get_default_passwd_cb_userdata(handle_);
|
||||
::SSL_CTX_set_default_passwd_cb_userdata(handle_, callback);
|
||||
#else // (OPENSSL_VERSION_NUMBER >= 0x10100000L)
|
Loading…
Reference in New Issue
Block a user