mirror of
https://github.com/php/php-src.git
synced 2024-12-19 23:11:42 +08:00
769d2d9b62
If SSLv3 is disabled in OpenSSL, then sslv3 is not available so the accept times out. This commit removes the extra accept if SSLv3 is disabled.
50 lines
1.3 KiB
PHP
50 lines
1.3 KiB
PHP
--TEST--
|
|
tlsv1.0 stream wrapper
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded("openssl")) die("skip openssl not loaded");
|
|
if (!function_exists("proc_open")) die("skip no proc_open");
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
$serverCode = <<<'CODE'
|
|
$flags = STREAM_SERVER_BIND|STREAM_SERVER_LISTEN;
|
|
$ctx = stream_context_create(['ssl' => [
|
|
'local_cert' => __DIR__ . '/streams_crypto_method.pem',
|
|
]]);
|
|
|
|
$server = stream_socket_server('tlsv1.0://127.0.0.1:64321', $errno, $errstr, $flags, $ctx);
|
|
phpt_notify();
|
|
|
|
for ($i = 0; $i < (phpt_has_sslv3() ? 3 : 2); $i++) {
|
|
@stream_socket_accept($server, 3);
|
|
}
|
|
CODE;
|
|
|
|
$clientCode = <<<'CODE'
|
|
$flags = STREAM_CLIENT_CONNECT;
|
|
$ctx = stream_context_create(['ssl' => [
|
|
'verify_peer' => false,
|
|
'verify_peer_name' => false,
|
|
]]);
|
|
|
|
phpt_wait();
|
|
|
|
$client = stream_socket_client("tlsv1.0://127.0.0.1:64321", $errno, $errstr, 3, $flags, $ctx);
|
|
var_dump($client);
|
|
|
|
$client = @stream_socket_client("sslv3://127.0.0.1:64321", $errno, $errstr, 3, $flags, $ctx);
|
|
var_dump($client);
|
|
|
|
$client = @stream_socket_client("tlsv1.2://127.0.0.1:64321", $errno, $errstr, 3, $flags, $ctx);
|
|
var_dump($client);
|
|
CODE;
|
|
|
|
include 'ServerClientTestCase.inc';
|
|
ServerClientTestCase::getInstance()->run($clientCode, $serverCode);
|
|
?>
|
|
--EXPECTF--
|
|
resource(%d) of type (stream)
|
|
bool(false)
|
|
bool(false)
|