diff options
author | Jakub Zelenka <bukka@php.net> | 2021-03-21 21:21:38 +0000 |
---|---|---|
committer | Jakub Zelenka <bukka@php.net> | 2021-03-21 21:21:38 +0000 |
commit | a3e1082e0abac7ce6a664064bc1855061f365159 (patch) | |
tree | a140fa5c1d9261c3fd322e9db515d784e28c0df5 | |
parent | 118cd3efd3febbd5d77fadda74b8854ba69c00aa (diff) | |
parent | 4dca1140cff1d4c8d6568b2ee6a409a74ce838ac (diff) | |
download | php-git-a3e1082e0abac7ce6a664064bc1855061f365159.tar.gz |
Merge branch '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) |