diff options
Diffstat (limited to 'ext/openssl/tests/bug46127.phpt')
-rw-r--r-- | ext/openssl/tests/bug46127.phpt | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/ext/openssl/tests/bug46127.phpt b/ext/openssl/tests/bug46127.phpt index 5bfa0cebb0..26c7378dcb 100644 --- a/ext/openssl/tests/bug46127.phpt +++ b/ext/openssl/tests/bug46127.phpt @@ -1,5 +1,5 @@ --TEST-- -#46127, openssl_sign/verify: accept different algos +#46127 php_openssl_tcp_sockop_accept forgets to set context on accepted stream --SKIPIF-- <?php if (!extension_loaded("openssl")) die("skip openssl not loaded"); @@ -7,11 +7,13 @@ if (!function_exists("proc_open")) die("skip no proc_open"); ?> --FILE-- <?php +$certFile = __DIR__ . DIRECTORY_SEPARATOR . 'bug46127.pem.tmp'; + $serverCode = <<<'CODE' $serverUri = "ssl://127.0.0.1:64321"; $serverFlags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN; $serverCtx = stream_context_create(['ssl' => [ - 'local_cert' => __DIR__ . '/bug46127.pem', + 'local_cert' => '%s', ]]); $sock = stream_socket_server($serverUri, $errno, $errstr, $serverFlags, $serverCtx); @@ -20,6 +22,7 @@ $serverCode = <<<'CODE' $link = stream_socket_accept($sock); fwrite($link, "Sending bug 46127\n"); CODE; +$serverCode = sprintf($serverCode, $certFile); $clientCode = <<<'CODE' $serverUri = "ssl://127.0.0.1:64321"; @@ -36,8 +39,16 @@ $clientCode = <<<'CODE' echo fgets($sock); CODE; +include 'CertificateGenerator.inc'; +$certificateGenerator = new CertificateGenerator(); +$certificateGenerator->saveNewCertAsFileWithKey('bug46127', $certFile); + include 'ServerClientTestCase.inc'; ServerClientTestCase::getInstance()->run($clientCode, $serverCode); ?> +--CLEAN-- +<?php +@unlink(__DIR__ . DIRECTORY_SEPARATOR . 'bug46127.pem.tmp'); +?> --EXPECT-- Sending bug 46127 |