Annotation of embedaddon/php/ext/openssl/tests/bug46127.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: #46127, openssl_sign/verify: accept different algos
3: --SKIPIF--
4: <?php
5: if (!extension_loaded("openssl")) die("skip, openssl required");
6: if (!extension_loaded("pcntl")) die("skip, pcntl required");
7: if (OPENSSL_VERSION_NUMBER < 0x009070af) die("skip");
8: ?>
9: --FILE--
10: <?php
11:
12: function ssl_server($port) {
13: $pem = dirname(__FILE__) . '/bug46127.pem';
14: $ssl = array(
15: 'verify_peer' => false,
16: 'allow_self_signed' => true,
17: 'local_cert' => $pem,
18: // 'passphrase' => '',
19: );
20: $context = stream_context_create(array('ssl' => $ssl));
21: $sock = stream_socket_server('ssl://127.0.0.1:'.$port, $errno, $errstr, STREAM_SERVER_BIND | STREAM_SERVER_LISTEN, $context);
22: if (!$sock) return false;
23:
24: $link = stream_socket_accept($sock);
25: if (!$link) return false; // bad link?
26:
27: fputs($link, "Sending bug 46127\n");
28:
29: // close stuff
30: fclose($link);
31: fclose($sock);
32:
33: exit;
34: }
35:
36: echo "Running bug46127\n";
37:
38: $port = rand(15000, 32000);
39:
40: $pid = pcntl_fork();
41: if ($pid == 0) { // child
42: ssl_server($port);
43: exit;
44: }
45:
46: // client or failed
47: sleep(1);
48: $sock = fsockopen('ssl://127.0.0.1', $port, $errno, $errstr);
49: if (!$sock) exit;
50:
51: echo fgets($sock);
52:
53: pcntl_waitpid($pid, $status);
54:
55: ?>
56: --EXPECTF--
57: Running bug46127
58: Sending bug 46127
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>