Lines Matching full:n
40 print "FAILED: @_\n";
87 print "OK\n";
97 print 'Executing: ', @_, "\n";
106 die "cannot exec [$cmdline]: $!\n";
137 $SIG{ALRM} = sub { die "timeout\n" };
144 foreach (split /\n/, $out) {
156 write_file($config, "access_log_file access.log\n" .
157 "listening_ports 127.0.0.1:12345\n");
159 o("GET /test/hello.txt HTTP/1.0\n\n", 'HTTP/1.1 200 OK', 'Loading config file');
179 o("GET /hello.txt HTTP/1.1\nConnection: close\nRange: bytes=3-50\r\n\r\n",
182 o("GET /hello.txt HTTP/1.1\n\n GET /hello.txt HTTP/1.0\n\n",
188 o("POST /env.cgi HTTP/1.0\r\nContent-Length: $len\r\n\r\n$x",
192 req('POST ' . '/..' x 100 . 'ABCD' x 3000 . "\n\n", 0); # don't log this one
194 o("GET /hello.txt HTTP/1.0\n\n", 'HTTP/1.1 200 OK', 'GET regular file');
195 o("GET /hello.txt HTTP/1.0\nContent-Length: -2147483648\n\n",
197 o("GET /hello.txt HTTP/1.0\n\n", 'Content-Length: 17\s',
199 o("GET /%68%65%6c%6c%6f%2e%74%78%74 HTTP/1.0\n\n",
208 ($slow_cgi_reply = req("GET /timeout.cgi HTTP/1.0\r\n\r\n", 0, 1)) =~ /Some data/s;
209 print "OK\n";
215 o("GET /a+.txt HTTP/1.0\n\n", 'HTTP/1.1 200 OK', 'URL-decoding, + in URI');
218 o("GET / HTTPX/1.0\r\n\r\n", '^HTTP/1.1 500', 'Bad HTTP Version', 0);
219 o("GET / HTTP/x.1\r\n\r\n", '^HTTP/1.1 505', 'Bad HTTP maj Version', 0);
220 o("GET / HTTP/1.1z\r\n\r\n", '^HTTP/1.1 505', 'Bad HTTP min Version', 0);
221 o("GET / HTTP/02.0\r\n\r\n", '^HTTP/1.1 505', 'HTTP Version >1.1', 0);
224 o("GET /.leading.dot.txt HTTP/1.0\n\n", 'abc123', 'Leading dot 1');
225 o("GET /...leading.dot.txt HTTP/1.0\n\n", 'abc123', 'Leading dot 2');
226 o("GET /../\\\\/.//...leading.dot.txt HTTP/1.0\n\n", 'abc123', 'Leading dot 3')
228 o("GET .. HTTP/1.0\n\n", '400 Bad Request', 'Leading dot 4', 0);
231 o("GET /$test_dir_uri/not_exist HTTP/1.0\n\n",
233 o("GET /$test_dir_uri HTTP/1.0\n\n", 'HTTP/1.1 301', 'Directory redirection');
234 o("GET /$test_dir_uri/ HTTP/1.0\n\n", 'Modified', 'Directory listing');
236 o("GET /$test_dir_uri/ HTTP/1.0\n\n", 'tralala', 'Index substitution');
237 o("GET / HTTP/1.0\n\n", 'embed.c', 'Directory listing - file name');
238 o("GET /ta/ HTTP/1.0\n\n", 'Modified', 'Aliases');
239 o("GET /not-exist HTTP/1.0\r\n\n", 'HTTP/1.1 404', 'Not existent file');
244 o("GET /$test_dir_uri/x/ HTTP/1.0\n\n", "Content-Type: text/html\r\n\r\n",
248 o("GET /$test_dir_uri/x/ HTTP/1.0\n\n",
250 o("GET /ta/x/ HTTP/1.0\n\n", "SCRIPT_NAME=/ta/x/index.cgi",
252 o("GET /hello.txt HTTP/1.1\nConnection: close\n\n", 'Connection: close',
257 write_file($path, "#!../../myperl\n" .
258 "print \"Content-Type: text/plain\\n\\nhi\";");
260 o("GET /$test_dir_uri/x/a.cgi HTTP/1.0\n\n", "hi", 'Relative CGI interp path');
261 o("GET * HTTP/1.0\n\n", "^HTTP/1.1 404", '* URI');
280 o("GET /$filename HTTP/1.0\n\n",
290 my $f1 = req("GET /$binary_file HTTP/1.0\r\n\n");
291 while ($f1 =~ /^.*\r\n/) { $f1 =~ s/^.*\r\n// }
294 my $range_request = "GET /hello.txt HTTP/1.1\nConnection: close\n".
295 "Range: bytes=3-5\r\n\r\n";
312 o("GET /$test_dir_uri/sort/?n HTTP/1.0\n\n",
315 o("GET /$test_dir_uri/sort/?nd HTTP/1.0\n\n",
318 o("GET /$test_dir_uri/sort/?s HTTP/1.0\n\n",
321 o("GET /$test_dir_uri/sort/?sd HTTP/1.0\n\n",
324 o("GET /$test_dir_uri/sort/?d HTTP/1.0\n\n",
327 o("GET /$test_dir_uri/sort/?dd HTTP/1.0\n\n",
334 o("GET /hello.txt HTTP/1.1\n\n", '401 Unauthorized',
336 o("GET / HTTP/1.1\n\n", '401 Unauthorized',
340 …", empty2=, quoted=\"blah foo bar, baz\\\"\\\" more\\\"\", unterminatedquoted=\" doesn't stop\n\n",
345 …o("GET /hello.txt HTTP/1.0\nAuthorization: $auth_header\n\n", 'HTTP/1.1 200 OK', 'GET regular file…
346 o("GET / HTTP/1.0\nAuthorization: $auth_header\n\n", '^(.(?!(.htpasswd)))*$',
348 o("GET / HTTP/1.0\nAuthorization: $auth_header\n\n", '^(.(?!(exploit.pl)))*$',
350 o("GET /.htpasswd HTTP/1.0\nAuthorization: $auth_header\n\n",
352 o("GET /exploit.pl HTTP/1.0\nAuthorization: $auth_header\n\n",
357 o("GET /dir%20with%20spaces/hello.cgi HTTP/1.0\n\r\n",
359 o("GET /env.cgi HTTP/1.0\n\r\n", 'HTTP/1.1 200 OK', 'GET CGI file');
360 o("GET /bad2.cgi HTTP/1.0\n\n", "HTTP/1.1 123 Please pass me to the client\r",
362 o("GET /sh.cgi HTTP/1.0\n\r\n", 'shell script CGI',
364 o("GET /env.cgi?var=HELLO HTTP/1.0\n\n", 'QUERY_STRING=var=HELLO',
366 o("POST /env.cgi HTTP/1.0\r\nContent-Length: 9\r\n\r\nvar=HELLO",
368 o("POST /env.cgi HTTP/1.0\r\nContent-Length: 9\r\n\r\nvar=HELLO",
370 o("GET /env.cgi HTTP/1.0\nMy-HdR: abc\n\r\n",
372 o("GET /env.cgi HTTP/1.0\n\r\nSOME_TRAILING_DATA_HERE",
375 o("GET /env.cgi%20 HTTP/1.0\n\r\n",
377 o("GET /env.cgi%ff HTTP/1.0\n\r\n",
379 o("GET /env.cgi%2e HTTP/1.0\n\r\n",
381 o("GET /env.cgi%2b HTTP/1.0\n\r\n",
383 o("GET /env.cgi HTTP/1.0\n\r\n", '\nHTTPS=off\n', 'CGI HTTPS');
384 o("GET /env.cgi HTTP/1.0\n\r\n", '\nCGI_FOO=foo\n', '-cgi_env 1');
385 o("GET /env.cgi HTTP/1.0\n\r\n", '\nCGI_BAR=bar\n', '-cgi_env 2');
386 o("GET /env.cgi HTTP/1.0\n\r\n", '\nCGI_BAZ=baz\n', '-cgi_env 3');
387 o("GET /env.cgi/a/b/98 HTTP/1.0\n\r\n", 'PATH_INFO=/a/b/98\n', 'PATH_INFO');
388 o("GET /env.cgi/a/b/9 HTTP/1.0\n\r\n", 'PATH_INFO=/a/b/9\n', 'PATH_INFO');
394 o("GET /$test_dir_uri/env.cgi HTTP/1.0\n\n",
398 o("GET /ssi1.shtml HTTP/1.0\n\n",
400 o("GET /ssi2.shtml HTTP/1.0\n\n",
403 o("GET /$ssi_exec HTTP/1.0\n\n",
407 o("GET /$abs_path HTTP/1.0\n\n",
409 o("GET /ssi7.shtml HTTP/1.0\n\n",
411 o("GET /ssi8.shtml HTTP/1.0\n\n",
436 "nc=00000002, cnonce=53eddd3be4e26a98\n";
438 o("PUT /a/put.txt HTTP/1.0\nContent-Length: 7\n$auth_header\n1234567",
442 o("PUT /a/put.txt HTTP/1.0\nContent-Length: 4\n$auth_header\nabcd",
446 o("PUT /a/put.txt HTTP/1.0\n$auth_header\nabcd",
448 o("PUT /a/put.txt HTTP/1.0\nExpect: blah\nContent-Length: 1\n".
451 o("PUT /a/put.txt HTTP/1.0\nExpect: 100-continue\nContent-Length: 4\n".
461 print "SUCCESS! All tests passed.\n";