diff options
Diffstat (limited to 'openssl-sslv3.patch')
-rw-r--r-- | openssl-sslv3.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/openssl-sslv3.patch b/openssl-sslv3.patch new file mode 100644 index 000000000000..38605183b3d3 --- /dev/null +++ b/openssl-sslv3.patch @@ -0,0 +1,46 @@ +--- a/ext/openssl/xp_ssl.c ++++ b/ext/openssl/xp_ssl.c +@@ -339,9 +339,14 @@ + 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(); +@@ -351,9 +356,14 @@ + 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"); +@@ -949,8 +959,13 @@ + sslsock->method = STREAM_CRYPTO_METHOD_SSLv2_CLIENT; + #endif + } else if (strncmp(proto, "sslv3", protolen) == 0) { ++#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 NULL; ++#else + sslsock->enable_on_connect = 1; + sslsock->method = STREAM_CRYPTO_METHOD_SSLv3_CLIENT; ++#endif + } else if (strncmp(proto, "tls", protolen) == 0) { + sslsock->enable_on_connect = 1; + sslsock->method = STREAM_CRYPTO_METHOD_TLS_CLIENT; |