Annotation of embedaddon/php/sapi/cli/tests/php_cli_server_014.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #60477: Segfault after two multipart/form-data POST requestes
3: --SKIPIF--
4: <?php
5: include "skipif.inc";
6: ?>
7: --FILE--
8: <?php
9: include "php_cli_server.inc";
10: php_cli_server_start('echo done, "\n";', TRUE);
11:
12: list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
13: $port = intval($port)?:80;
14: $output = '';
15:
16: $fp = fsockopen($host, $port, $errno, $errstr, 0.5);
17: if (!$fp) {
18: die("connect failed");
19: }
20:
21: if(fwrite($fp, <<<HEADER
22: POST /index.php HTTP/1.1
23: Host: {$host}
24: Content-Type: multipart/form-data; boundary=---------123456789
25: Content-Length: 70
26:
27: ---------123456789
28: Content-Type: application/x-www-form-urlencoded
29: a=b
30: HEADER
31: )) {
32: while (!feof($fp)) {
33: $output .= fgets($fp);
34: }
35: }
36:
37: fclose($fp);
38:
39: $fp = fsockopen($host, $port, $errno, $errstr, 0.5);
40: if(fwrite($fp, <<<HEADER
41: POST /main/no-exists.php HTTP/1.1
42: Host: {$host}
43: Content-Type: multipart/form-data; boundary=---------123456789
44: Content-Length: 70
45:
46: ---------123456789
47: Content-Type: application/x-www-form-urlencoded
48: a=b
49: HEADER
50: )) {
51: while (!feof($fp)) {
52: $output .= fgets($fp);
53: }
54: }
55:
56: echo preg_replace("/<style type=\"text\/css\">(.*?)<\/style>/s", "<style type=\"text/css\">AAA</style>", $output), "\n";
57: fclose($fp);
58:
59: ?>
60: --EXPECTF--
61:
62: HTTP/1.1 200 OK
63: Host: %s
64: Connection: close
65: X-Powered-By: %s
66: Content-type: %s
67:
68: done
69: HTTP/1.1 404 Not Found
70: Host: %s
71: Connection: close
72: Content-Type: %s
73: Content-Length: %d
74:
75: <html><head><title>404 Not Found</title><style type="text/css">AAA</style>
76: </head><body><h1 class="h">Not Found</h1><p>The requested resource /main/no-exists.php was not found on this server.</p></body></html>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>