update boost
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
// ssl/detail/impl/engine.ipp
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
//
|
||||
// Copyright (c) 2003-2019 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
||||
// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
@@ -56,18 +56,63 @@ engine::engine(SSL_CTX* context)
|
||||
::SSL_set_bio(ssl_, int_bio, int_bio);
|
||||
}
|
||||
|
||||
engine::engine(SSL* ssl_impl)
|
||||
: ssl_(ssl_impl)
|
||||
{
|
||||
#if (OPENSSL_VERSION_NUMBER < 0x10000000L)
|
||||
accept_mutex().init();
|
||||
#endif // (OPENSSL_VERSION_NUMBER < 0x10000000L)
|
||||
|
||||
::SSL_set_mode(ssl_, SSL_MODE_ENABLE_PARTIAL_WRITE);
|
||||
::SSL_set_mode(ssl_, SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER);
|
||||
#if defined(SSL_MODE_RELEASE_BUFFERS)
|
||||
::SSL_set_mode(ssl_, SSL_MODE_RELEASE_BUFFERS);
|
||||
#endif // defined(SSL_MODE_RELEASE_BUFFERS)
|
||||
|
||||
::BIO* int_bio = 0;
|
||||
::BIO_new_bio_pair(&int_bio, 0, &ext_bio_, 0);
|
||||
::SSL_set_bio(ssl_, int_bio, int_bio);
|
||||
}
|
||||
|
||||
#if defined(BOOST_ASIO_HAS_MOVE)
|
||||
engine::engine(engine&& other) BOOST_ASIO_NOEXCEPT
|
||||
: ssl_(other.ssl_),
|
||||
ext_bio_(other.ext_bio_)
|
||||
{
|
||||
other.ssl_ = 0;
|
||||
other.ext_bio_ = 0;
|
||||
}
|
||||
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
||||
|
||||
engine::~engine()
|
||||
{
|
||||
if (SSL_get_app_data(ssl_))
|
||||
if (ssl_ && SSL_get_app_data(ssl_))
|
||||
{
|
||||
delete static_cast<verify_callback_base*>(SSL_get_app_data(ssl_));
|
||||
SSL_set_app_data(ssl_, 0);
|
||||
}
|
||||
|
||||
::BIO_free(ext_bio_);
|
||||
::SSL_free(ssl_);
|
||||
if (ext_bio_)
|
||||
::BIO_free(ext_bio_);
|
||||
|
||||
if (ssl_)
|
||||
::SSL_free(ssl_);
|
||||
}
|
||||
|
||||
#if defined(BOOST_ASIO_HAS_MOVE)
|
||||
engine& engine::operator=(engine&& other) BOOST_ASIO_NOEXCEPT
|
||||
{
|
||||
if (this != &other)
|
||||
{
|
||||
ssl_ = other.ssl_;
|
||||
ext_bio_ = other.ext_bio_;
|
||||
other.ssl_ = 0;
|
||||
other.ext_bio_ = 0;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
#endif // defined(BOOST_ASIO_HAS_MOVE)
|
||||
|
||||
SSL* engine::native_handle()
|
||||
{
|
||||
return ssl_;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
//
|
||||
// Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com
|
||||
// Copyright (c) 2005-2019 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
||||
// Copyright (c) 2005-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
@@ -86,9 +86,13 @@ public:
|
||||
#endif // (OPENSSL_VERSION_NUMBER >= 0x10002000L)
|
||||
// && (OPENSSL_VERSION_NUMBER < 0x10100000L)
|
||||
// && !defined(SSL_OP_NO_COMPRESSION)
|
||||
#if !defined(OPENSSL_IS_BORINGSSL)
|
||||
#if !defined(OPENSSL_IS_BORINGSSL) \
|
||||
&& !defined(BOOST_ASIO_USE_WOLFSSL) \
|
||||
&& (OPENSSL_VERSION_NUMBER < 0x30000000L)
|
||||
::CONF_modules_unload(1);
|
||||
#endif // !defined(OPENSSL_IS_BORINGSSL)
|
||||
// && !defined(BOOST_ASIO_USE_WOLFSSL)
|
||||
// && (OPENSSL_VERSION_NUMBER < 0x30000000L)
|
||||
#if !defined(OPENSSL_NO_ENGINE) \
|
||||
&& (OPENSSL_VERSION_NUMBER < 0x10100000L)
|
||||
::ENGINE_cleanup();
|
||||
|
||||
Reference in New Issue
Block a user