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:00:38 -0700 |
commit | e82878a200b0e29da468c10e64beceaf6eb844fd (patch) | |
tree | 7c80b7c1c78f2f5c99e12f03142058f30fcde3e9 | |
parent | 10bc5fd4c4c8e1dd57bd911b086e9872a56300a0 (diff) | |
download | php-git-e82878a200b0e29da468c10e64beceaf6eb844fd.tar.gz |
Update test to run locally instead of remotely
-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 |