diff --git a/include/boost/asio/ssl/old/detail/openssl_context_service.hpp b/include/boost/asio/ssl/old/detail/openssl_context_service.hpp index 9b45e358..61eac6ef 100644 --- a/include/boost/asio/ssl/old/detail/openssl_context_service.hpp +++ b/include/boost/asio/ssl/old/detail/openssl_context_service.hpp @@ -85,6 +85,13 @@ class openssl_context_service impl = ::SSL_CTX_new(::SSLv2_server_method()); break; #endif // defined(OPENSSL_NO_SSL2) +#if defined(OPENSSL_NO_SSL3) + case context_base::sslv3: + case context_base::sslv3_client: + case context_base::sslv3_server: + boost::asio::detail::throw_error(boost::asio::error::invalid_argument); + break; +#else // defined(OPENSSL_NO_SSL3) case context_base::sslv3: impl = ::SSL_CTX_new(::SSLv3_method()); break; @@ -94,6 +101,7 @@ class openssl_context_service case context_base::sslv3_server: impl = ::SSL_CTX_new(::SSLv3_server_method()); break; +#endif // defined(OPENSSL_NO_SSL3) case context_base::tlsv1: impl = ::SSL_CTX_new(::TLSv1_method()); break;