From: Wez Furlong Date: Fri, 10 Sep 2004 11:43:47 +0000 (+0000) Subject: Fix Bug #29296: add explicit sslv2 and sslv3 transports X-Git-Tag: PRE_NEW_VM_GEN_PATCH~333 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0bc0ccce2b858673f59d0cb90f5bf0d037683e1f;p=php Fix Bug #29296: add explicit sslv2 and sslv3 transports --- diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 002fd47748..bd496b0535 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -632,6 +632,8 @@ PHP_MINIT_FUNCTION(openssl) } php_stream_xport_register("ssl", php_openssl_ssl_socket_factory TSRMLS_CC); + php_stream_xport_register("sslv3", php_openssl_ssl_socket_factory TSRMLS_CC); + php_stream_xport_register("sslv2", php_openssl_ssl_socket_factory TSRMLS_CC); php_stream_xport_register("tls", php_openssl_ssl_socket_factory TSRMLS_CC); /* override the default tcp socket provider */ diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c index 4171312907..9bb0fad3fe 100644 --- a/ext/openssl/xp_ssl.c +++ b/ext/openssl/xp_ssl.c @@ -691,6 +691,12 @@ php_stream *php_openssl_ssl_socket_factory(const char *proto, long protolen, if (strncmp(proto, "ssl", protolen) == 0) { sslsock->enable_on_connect = 1; sslsock->method = STREAM_CRYPTO_METHOD_SSLv23_CLIENT; + } else if (strncmp(proto, "sslv2", protolen) == 0) { + sslsock->enable_on_connect = 1; + sslsock->method = STREAM_CRYPTO_METHOD_SSLv2_CLIENT; + } else if (strncmp(proto, "sslv3", protolen) == 0) { + sslsock->enable_on_connect = 1; + sslsock->method = STREAM_CRYPTO_METHOD_SSLv3_CLIENT; } else if (strncmp(proto, "tls", protolen) == 0) { sslsock->enable_on_connect = 1; sslsock->method = STREAM_CRYPTO_METHOD_TLS_CLIENT;