From: Wez Furlong Date: Fri, 10 Sep 2004 11:44:10 +0000 (+0000) Subject: MFH: fix for Bug #29296 X-Git-Tag: php-5.0.2RC1~20 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=16dd07c5e09f3fbdc4ad24a001ef112a7ca5fd07;p=php MFH: fix for Bug #29296 --- 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;