summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Lowrey <rdlowrey@php.net>2014-08-25 17:28:09 +0200
committerDaniel Lowrey <rdlowrey@php.net>2014-08-25 17:28:09 +0200
commit640214701c9cf259c899d283ea769b3045d2553c (patch)
tree843b8337504d3465390dc600084fd59093aca0df
parentc8b3bce407e7491a4d1e345d3eeb11ce0ec1d9c4 (diff)
downloadphp-git-640214701c9cf259c899d283ea769b3045d2553c.tar.gz
Bug #67850: Build when OpenSSL compiled without SSLv3 support
-rw-r--r--ext/openssl/xp_ssl.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c
index b9a30df6cf..5fddf73c4e 100644
--- a/ext/openssl/xp_ssl.c
+++ b/ext/openssl/xp_ssl.c
@@ -385,9 +385,14 @@ static inline int php_openssl_setup_crypto(php_stream *stream,
break;
#endif
case STREAM_CRYPTO_METHOD_SSLv3_CLIENT:
+#ifdef OPENSSL_NO_SSL3
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "SSLv3 support is not compiled into the OpenSSL library PHP is linked against");
+ return -1;
+#else
sslsock->is_client = 1;
method = SSLv3_client_method();
break;
+#endif
case STREAM_CRYPTO_METHOD_TLS_CLIENT:
sslsock->is_client = 1;
method = TLSv1_client_method();
@@ -397,9 +402,14 @@ static inline int php_openssl_setup_crypto(php_stream *stream,
method = SSLv23_server_method();
break;
case STREAM_CRYPTO_METHOD_SSLv3_SERVER:
+#ifdef OPENSSL_NO_SSL3
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "SSLv3 support is not compiled into the OpenSSL library PHP is linked against");
+ return -1;
+#else
sslsock->is_client = 0;
method = SSLv3_server_method();
break;
+#endif
case STREAM_CRYPTO_METHOD_SSLv2_SERVER:
#ifdef OPENSSL_NO_SSL2
php_error_docref(NULL TSRMLS_CC, E_WARNING, "SSLv2 support is not compiled into the OpenSSL library PHP is linked against");