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>