From bc7ea73da59dde1c205859b73768593cc37de31d Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Fri, 27 Nov 2020 17:29:23 +0000 Subject: Use ServerClientTestCase in a test for default_socket_timeout=-1 --- ext/openssl/tests/bug62890.phpt | 47 ++++++++++++++++++++++++++++++++++++----- 1 file 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-- --INI-- default_socket_timeout=-1 --FILE-- ['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-- + +--EXPECTF-- +resource(%d) of type (stream) -- cgit v1.2.1