diff options
author | Daniel Lowrey <rdlowrey@php.net> | 2015-03-05 22:00:38 -0700 |
---|---|---|
committer | Daniel Lowrey <rdlowrey@php.net> | 2015-03-05 22:01:15 -0700 |
commit | eef261f0e47ed37d5dbbb3c0366cd9c481473dd8 (patch) | |
tree | 26f399653497b5d1a68af9b3810eedf0fd160efa /ext/openssl/tests/bug68920.phpt | |
parent | b7408234b9d9846d69d4557aa1850f5dc4622d1a (diff) | |
download | php-git-eef261f0e47ed37d5dbbb3c0366cd9c481473dd8.tar.gz |
Update test to run locally instead of remotely
Diffstat (limited to 'ext/openssl/tests/bug68920.phpt')
-rw-r--r-- | ext/openssl/tests/bug68920.phpt | 62 |
1 files changed, 43 insertions, 19 deletions
diff --git a/ext/openssl/tests/bug68920.phpt b/ext/openssl/tests/bug68920.phpt index 72e3f6c8f9..52a103f641 100644 --- a/ext/openssl/tests/bug68920.phpt +++ b/ext/openssl/tests/bug68920.phpt @@ -1,29 +1,53 @@ --TEST-- Bug #68920: peer_fingerprint input checks should be strict --SKIPIF-- -<?php +<?php if (!extension_loaded("openssl")) die("skip openssl not loaded"); +if (!function_exists("proc_open")) die("skip no proc_open"); --FILE-- <?php -error_reporting(E_ALL); - -$ctx = stream_context_create(['ssl' => ['verify_peer'=> false, 'peer_fingerprint' => true]]); -$sock = stream_socket_client("ssl://php.net:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $ctx); -var_dump($sock); - -$ctx = stream_context_create(['ssl' => ['verify_peer'=> false, 'peer_fingerprint' => null]]); -$sock = stream_socket_client("ssl://php.net:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $ctx); -var_dump($sock); - -$ctx = stream_context_create(['ssl' => ['verify_peer'=> false, 'peer_fingerprint' => []]]); -$sock = stream_socket_client("ssl://php.net:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $ctx); -var_dump($sock); - -$ctx = stream_context_create(['ssl' => ['verify_peer'=> false, 'peer_fingerprint' => ['foo']]]); -$sock = stream_socket_client("ssl://php.net:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $ctx); -var_dump($sock); +$serverCode = <<<'CODE' + $serverUri = "ssl://127.0.0.1:64321"; + $serverFlags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN; + $serverCtx = stream_context_create(['ssl' => [ + 'local_cert' => __DIR__ . '/san-cert.pem', + ]]); + + $server = stream_socket_server($serverUri, $errno, $errstr, $serverFlags, $serverCtx); + phpt_notify(); + + stream_socket_accept($server, 30); + stream_socket_accept($server, 30); + stream_socket_accept($server, 30); + stream_socket_accept($server, 30); +CODE; + +$clientCode = <<<'CODE' + $serverUri = "ssl://127.0.0.1:64321"; + $clientFlags = STREAM_CLIENT_CONNECT; + + phpt_wait(); + + $ctx = stream_context_create(['ssl' => ['verify_peer'=> false, 'peer_fingerprint' => true]]); + $sock = stream_socket_client($serverUri, $errno, $errstr, 30, $clientFlags, $ctx); + var_dump($sock); + + $ctx = stream_context_create(['ssl' => ['verify_peer'=> false, 'peer_fingerprint' => null]]); + $sock = stream_socket_client($serverUri, $errno, $errstr, 30, $clientFlags, $ctx); + var_dump($sock); + + $ctx = stream_context_create(['ssl' => ['verify_peer'=> false, 'peer_fingerprint' => []]]); + $sock = stream_socket_client($serverUri, $errno, $errstr, 30, $clientFlags, $ctx); + var_dump($sock); + + $ctx = stream_context_create(['ssl' => ['verify_peer'=> false, 'peer_fingerprint' => ['foo']]]); + $sock = stream_socket_client($serverUri, $errno, $errstr, 30, $clientFlags, $ctx); + var_dump($sock); +CODE; + +include 'ServerClientTestCase.inc'; +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); --EXPECTF-- - Warning: stream_socket_client(): Expected peer fingerprint must be a string or an array in %s on line %d Warning: stream_socket_client(): Failed to enable crypto in %s on line %d |