Annotation of embedaddon/php/ext/openssl/tests/bug46127.phpt, revision 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>