diff options
author | Jakub Zelenka <bukka@php.net> | 2021-03-21 21:21:05 +0000 |
---|---|---|
committer | Jakub Zelenka <bukka@php.net> | 2021-03-21 21:21:05 +0000 |
commit | 4dca1140cff1d4c8d6568b2ee6a409a74ce838ac (patch) | |
tree | 6f296384184f7a80b37fc7c28bbcb1dabaaa837e | |
parent | 713b82131b9bb75f1fa3bdc487f13086aa590e20 (diff) | |
parent | bc7ea73da59dde1c205859b73768593cc37de31d (diff) | |
download | php-git-4dca1140cff1d4c8d6568b2ee6a409a74ce838ac.tar.gz |
Merge branch 'PHP-7.4' into PHP-8.0
-rw-r--r-- | ext/openssl/tests/bug62890.phpt | 47 |
1 files changed, 42 insertions, 5 deletions
diff --git a/ext/openssl/tests/bug62890.phpt b/ext/openssl/tests/bug62890.phpt index 2d38571b65..4f5d48bf6c 100644 --- a/ext/openssl/tests/bug62890.phpt +++ b/ext/openssl/tests/bug62890.phpt @@ -3,14 +3,51 @@ Bug #62890 (default_socket_timeout=-1 causes connection to timeout) --SKIPIF-- <?php if (!extension_loaded('openssl')) die('skip openssl extension not available'); -if (getenv('SKIP_ONLINE_TESTS')) die('skip online test'); +if (!function_exists("proc_open")) die("skip no proc_open"); ?> --INI-- default_socket_timeout=-1 --FILE-- <?php -$clientCtx = stream_context_create(['ssl' => ['verify_peer' => false]]); -var_dump((bool) file_get_contents('https://www.php.net', false, $clientCtx)); +$certFile = __DIR__ . DIRECTORY_SEPARATOR . 'bug62890.pem.tmp'; + +$serverCode = <<<'CODE' + $flags = STREAM_SERVER_BIND|STREAM_SERVER_LISTEN; + $ctx = stream_context_create(['ssl' => [ + 'local_cert' => '%s', + 'security_level' => 1, + ]]); + + $server = stream_socket_server('tls://127.0.0.1:64321', $errno, $errstr, $flags, $ctx); + phpt_notify(); + @stream_socket_accept($server, 3); +CODE; +$serverCode = sprintf($serverCode, $certFile); + +$clientCode = <<<'CODE' + $flags = STREAM_CLIENT_CONNECT; + $ctx = stream_context_create(['ssl' => [ + 'verify_peer' => false, + 'verify_peer_name' => false, + 'security_level' => 1, + ]]); + + phpt_wait(); + + $client = stream_socket_client("tls://127.0.0.1:64321", $errno, $errstr, 3, $flags, $ctx); + var_dump($client); +CODE; + +include 'CertificateGenerator.inc'; +$certificateGenerator = new CertificateGenerator(); +$certificateGenerator->saveNewCertAsFileWithKey('bug62890', $certFile); + +include 'ServerClientTestCase.inc'; +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); ?> ---EXPECT-- -bool(true) +--CLEAN-- +<?php +@unlink(__DIR__ . DIRECTORY_SEPARATOR . 'bug62890.pem.tmp'); +?> +--EXPECTF-- +resource(%d) of type (stream) |