Browse Source
- more tests - less code to maintain - more speed git-svn-id: svn://svn.lighttpd.net/lighttpd/trunk@42 152afb58-edef-0310-8abb-c4023f1b3aa9svn/tags/release-1.3.12
66 changed files with 984 additions and 1231 deletions
@ -1,16 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
auth required, no token sent |
||||
GET /server-status HTTP/1.0 |
||||
|
||||
Status: 401 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
auth required, wrong token |
||||
GET /server-status HTTP/1.0 |
||||
Authorization: Basic amFuOmphb |
||||
|
||||
Status: 401 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
auth required, good token |
||||
GET /server-config HTTP/1.0 |
||||
Authorization: Basic amFuOmphbg== |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,16 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
valid request |
||||
GET / HTTP/1.0 |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,18 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Missing Protocol |
||||
GET / |
||||
|
||||
Status: 400 |
||||
Protocol: HTTP/0.9 |
||||
EOF |
||||
|
||||
run_test |
||||
|
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Missing Protocol + Unknown Method |
||||
ABC / |
||||
|
||||
Status: 400 |
||||
Protocol: HTTP/0.9 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Broken Request Header |
||||
ASd |
||||
|
||||
Status: 400 |
||||
Protocol: HTTP/0.9 |
||||
EOF |
||||
|
||||
run_test |
@ -1,16 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Unknown Method |
||||
ABC / HTTP/1.0 |
||||
|
||||
Status: 501 |
||||
EOF |
||||
|
||||
run_test |
@ -1,23 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
## |
||||
# using a higher protocol is always allowed as we can |
||||
# downgrade the protocol on our own in the response |
||||
# |
||||
|
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Protocoll == HTTP/1.3 |
||||
GET / HTTP/1.3 |
||||
Host: testbase.home.kneschke.de |
||||
|
||||
Status: 505 |
||||
EOF |
||||
|
||||
run_test |
@ -1,16 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
HTTP/1.1, with missing host |
||||
GET / HTTP/1.1 |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,16 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
HTTP/1.0, host in URI |
||||
GET http://www.yahoo.com/ HTTP/1.0 |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,21 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
## |
||||
# apache excepts broken request headers |
||||
# |
||||
# |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
broken requestline (4 fields) |
||||
GET http://www.yahoo.com/ HTTP/1.0 jsdh |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,21 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
## |
||||
# |
||||
# apache sends 400 |
||||
# |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Docroot protection |
||||
GET /../ HTTP/1.0 |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,18 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Header appears twice |
||||
GET / HTTP/1.0 |
||||
Foo: foo |
||||
Foo: foo |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Broken Key-Value pairs |
||||
GET / HTTP/1.0 |
||||
ABC : jsajfsfdg |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Broken Key-Value pairs |
||||
GET / HTTP/1.0 |
||||
ABC a: jsajfsfdg |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Broken Key-Value pairs |
||||
GET / HTTP/1.0 |
||||
ABC:jsajfsfdg |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,18 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Broken Key-Value pairs |
||||
GET / HTTP/1.0 |
||||
ABC : jsajfsfdg |
||||
kde.org |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,16 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
CGI |
||||
GET /cgi.pl HTTP/1.0 |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
CGI - SCRIPT_NAME (+pathinfo) |
||||
GET /cgi.pl/foo HTTP/1.0 |
||||
|
||||
Status: 200 |
||||
Content: /cgi.pl |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
CGI + pathinfo |
||||
GET /cgi-pathinfo.pl/foo HTTP/1.0 |
||||
|
||||
Status: 200 |
||||
Content: /foo |
||||
EOF |
||||
|
||||
run_test |
@ -1,32 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
docroot=/tmp/lighttpd/servers/123.example.org/pages/ |
||||
reqfile=12345.txt |
||||
test -d $docroot || exit 77 |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Content-Type |
||||
GET /$reqfile HTTP/1.0 |
||||
Host: 123.example.org |
||||
|
||||
Content-Type: text/plain |
||||
EOF |
||||
|
||||
run_test_script |
||||
|
||||
if test x$exitcode = x0; then |
||||
|
||||
if cat $NAME.out | sed '1,/^.$/d' | cmp - $docroot/$reqfile; then |
||||
a=a |
||||
else |
||||
exitcode=-1 |
||||
fi |
||||
fi |
||||
|
||||
run_test_exit |
@ -1,32 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
docroot=/tmp/lighttpd/servers/123.example.org/pages/ |
||||
reqfile=12345.html |
||||
test -d $docroot || exit 77 |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Content-Type |
||||
GET /$reqfile HTTP/1.0 |
||||
Host: 123.example.org |
||||
|
||||
Content-Type: text/html |
||||
EOF |
||||
|
||||
run_test_script |
||||
|
||||
if test x$exitcode = x0; then |
||||
|
||||
if cat $NAME.out | sed '1,/^.$/d' | cmp - $docroot/$reqfile; then |
||||
a=a |
||||
else |
||||
exitcode=-1 |
||||
fi |
||||
fi |
||||
|
||||
run_test_exit |
@ -1,32 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
docroot=/tmp/lighttpd/servers/123.example.org/pages/ |
||||
reqfile=dummyfile.bla |
||||
test -d $docroot || exit 77 |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Content-Type |
||||
GET /$reqfile HTTP/1.0 |
||||
Host: 123.example.org |
||||
|
||||
Content-Type: application/octet-stream |
||||
EOF |
||||
|
||||
run_test_script |
||||
|
||||
if test x$exitcode = x0; then |
||||
|
||||
if cat $NAME.out | sed '1,/^.$/d' | cmp - $docroot/$reqfile; then |
||||
a=a |
||||
else |
||||
exitcode=-1 |
||||
fi |
||||
fi |
||||
|
||||
run_test_exit |
@ -1,36 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
if pidof php > /dev/null; then |
||||
echo -n |
||||
else |
||||
printf "%-40s" "Getting PHP code" |
||||
exit 77 |
||||
fi |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
docroot=/tmp/lighttpd/servers/123.example.org/pages/ |
||||
reqfile=phpinfo.php |
||||
test -d $docroot || exit 77 |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Content-Type |
||||
GET /$reqfile HTTP/1.0 |
||||
Host: 123.example.org |
||||
|
||||
EOF |
||||
|
||||
run_test_script |
||||
|
||||
if test x$exitcode = x0; then |
||||
# got the source of the php-file |
||||
if cat $NAME.out | sed '1,/^.$/d' | cmp - $docroot/$reqfile; then |
||||
exitcode=-1 |
||||
fi > /dev/null |
||||
fi |
||||
|
||||
run_test_exit |
@ -1,18 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Content-Length, HTML |
||||
GET /12345.html HTTP/1.0 |
||||
Host: 123.example.org |
||||
|
||||
Status: 200 |
||||
Content-Length: 6 |
||||
EOF |
||||
|
||||
run_test |
@ -1,18 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Content-Length, HTML |
||||
GET /12345.txt HTTP/1.0 |
||||
Host: 123.example.org |
||||
|
||||
Status: 200 |
||||
Content-Length: 6 |
||||
EOF |
||||
|
||||
run_test |
@ -1,18 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Content-Length < 0 |
||||
POST /12345.txt HTTP/1.0 |
||||
Host: 123.example.org |
||||
Content-Length: -473 |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,18 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Content-Length < 0 |
||||
POST /12345.txt HTTP/1.0 |
||||
Host: 123.example.org |
||||
Content-Length: 2147483648 |
||||
|
||||
Status: 413 |
||||
EOF |
||||
|
||||
run_test |
@ -1,18 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Content-Length < 0 |
||||
POST /12345.txt HTTP/1.0 |
||||
Host: 123.example.org |
||||
Content-Length: |
||||
|
||||
Status: 411 |
||||
EOF |
||||
|
||||
run_test |
@ -1,18 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Continue Handling |
||||
GET / HTTP/1.1 |
||||
Connection: Close |
||||
Expect: 100-continue |
||||
|
||||
Status: 417 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host set to weigon.dyndns.org |
||||
GET / HTTP/1.0 |
||||
Host: weigon.dyndns.org |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,16 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host not set |
||||
GET / HTTP/1.0 |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host not set |
||||
GET / HTTP/1.0 |
||||
Host: grisu.home.kneschke.de |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host not set |
||||
GET / HTTP/1.0 |
||||
Host: ../123.org/ |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
IPv6 |
||||
GET / HTTP/1.0 |
||||
Host: [::1]:80 |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
valid HTTP/1.1 request |
||||
GET / HTTP/1.1 |
||||
Host: weigon.dyndns.org |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,18 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
valid HTTP/1.1 request + req: Date |
||||
GET / HTTP/1.1 |
||||
Host: weigon.dyndns.org |
||||
|
||||
Status: 200 |
||||
MUST: Date |
||||
EOF |
||||
|
||||
run_test |
@ -1,16 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
HTTP/1.0 + absoluteURI |
||||
GET http://www.example.org/ HTTP/1.0 |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: leading dot |
||||
GET / HTTP/1.0 |
||||
Host: .jsdh.sfdg.sdfg. |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: good name |
||||
GET / HTTP/1.0 |
||||
Host: jsdh.sfdg.sdfg |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: two dots |
||||
GET / HTTP/1.0 |
||||
Host: .jsdh..sfdg.sdfg |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: trailing dot |
||||
GET / HTTP/1.0 |
||||
Host: .jsdh.sfdg.sdfg.:aasd |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: missing host |
||||
GET / HTTP/1.0 |
||||
Host: :.jsdh.sfdg.sdfg. |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: broken host/port |
||||
GET / HTTP/1.0 |
||||
Host: .jsdh.sfdg.:sdfg. |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: broken name/port |
||||
GET / HTTP/1.0 |
||||
Host: ..jsdh..sfdg..:sdfg. |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: good name |
||||
GET / HTTP/1.0 |
||||
Host: abc.de |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: good name |
||||
GET / HTTP/1.0 |
||||
Host: a-b.de |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: leading dash |
||||
GET / HTTP/1.0 |
||||
Host: -ab.de |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: good name |
||||
GET / HTTP/1.0 |
||||
Host: a-b.de124 |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: broken name |
||||
GET / HTTP/1.0 |
||||
Host: . |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: broken port |
||||
GET / HTTP/1.0 |
||||
Host: abc.de:avs |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: good name |
||||
GET / HTTP/1.0 |
||||
Host: abc.de:1234 |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: good IP |
||||
GET / HTTP/1.0 |
||||
Host: 192.168.2.10:1234 |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: broken name/ip |
||||
GET / HTTP/1.0 |
||||
Host: a192.168.2.10:1234 |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Host: broken IP |
||||
GET / HTTP/1.0 |
||||
Host: 192.168.2:1234 |
||||
|
||||
Status: 400 |
||||
EOF |
||||
|
||||
run_test |
@ -1,16 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
missing file |
||||
GET /cjhdhfdjgfdg HTTP/1.0 |
||||
|
||||
Status: 404 |
||||
EOF |
||||
|
||||
run_test |
@ -1,16 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
missing file + get-vars |
||||
GET /cjhdhfdjgfdg?jdfjh=dnfdh HTTP/1.0 |
||||
|
||||
Status: 404 |
||||
EOF |
||||
|
||||
run_test |
@ -1,16 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
POST without Content-Length |
||||
POST / HTTP/1.0 |
||||
|
||||
Status: 411 |
||||
EOF |
||||
|
||||
run_test |
@ -1,18 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
POST without Content-Length |
||||
POST / HTTP/1.0 |
||||
Content-type: application/x-www-form-urlencoded |
||||
Content-length: 0 |
||||
|
||||
Status: 200 |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
Internal Redirect |
||||
GET /dummydir HTTP/1.0 |
||||
|
||||
Status: 301 |
||||
Location: http://localhost:2048/dummydir/ |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
redirect module test |
||||
GET /redirect/ HTTP/1.0 |
||||
|
||||
Status: 301 |
||||
Location: http://localhost:2048/ |
||||
EOF |
||||
|
||||
run_test |
@ -1,17 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
test x$srcdir = x && srcdir=. |
||||
|
||||
. $srcdir/testbase.sh |
||||
|
||||
prepare_test |
||||
|
||||
cat > $TMPFILE <<EOF |
||||
redirect module test |
||||
GET /dummydir?foo HTTP/1.0 |
||||
|
||||
Status: 301 |
||||
Location: http://localhost:2048/dummydir/?foo |
||||
EOF |
||||
|
||||
run_test |
@ -0,0 +1,980 @@
|
||||
#! /usr/bin/perl -w |
||||
|
||||
use strict; |
||||
use IO::Socket; |
||||
use Test::More tests => 87; |
||||
|
||||
|
||||
my $testname; |
||||
my @request; |
||||
my @response; |
||||
my $configfile = 'lighttpd.conf'; |
||||
my $lighttpd_path = '../src/lighttpd'; |
||||
my $pidfile = '/tmp/lighttpd/lighttpd.pid'; |
||||
my $pidoffile = '/tmp/lighttpd/pidof.pid'; |
||||
|
||||
sub pidof { |
||||
my $prog = $_[0]; |
||||
|
||||
system("ps ax | grep $prog | awk '{ print \$1 }' > $pidoffile") or |
||||
system("ps -ef | grep $prog | awk '{ print \$1 }' > $pidoffile") or |
||||
return -1; |
||||
|
||||
open F, $pidfile or return -1; |
||||
my $pid = <F>; |
||||
close F; |
||||
|
||||
return $pid; |
||||
} |
||||
|
||||
sub stop_proc { |
||||
open F, $pidfile or return -1; |
||||
my $pid = <F>; |
||||
close F; |
||||
|
||||
kill('TERM',$pid) or return -1; |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
|
||||
sub start_proc { |
||||
# kill old proc if necessary |
||||
stop_proc; |
||||
|
||||
unlink($pidfile); |
||||
system($lighttpd_path." -f ".$configfile); |
||||
|
||||
if (-e $pidfile) { |
||||
return 0; |
||||
} else { |
||||
return -1; |
||||
} |
||||
} |
||||
|
||||
sub handle_http { |
||||
my $EOL = "\015\012"; |
||||
my $BLANK = $EOL x 2; |
||||
my $port = 2048; |
||||
my $host = "127.0.0.1"; |
||||
|
||||
my $remote = |
||||
IO::Socket::INET->new(Proto => "tcp", |
||||
PeerAddr => $host, |
||||
PeerPort => $port) |
||||
or return -1; |
||||
|
||||
$remote->autoflush(1); |
||||
|
||||
foreach(@request) { |
||||
# pipeline requests |
||||
s/\r//g; |
||||
s/\n/$EOL/g; |
||||
|
||||
print $remote $_.$BLANK; |
||||
} |
||||
|
||||
my $lines = ""; |
||||
|
||||
# read everything |
||||
while(<$remote>) { |
||||
$lines .= $_; |
||||
} |
||||
|
||||
close $remote; |
||||
|
||||
my $href; |
||||
foreach $href (@response) { |
||||
# first line is always response header |
||||
my %resp_hdr; |
||||
my $resp_body; |
||||
my $resp_line; |
||||
my $conditions = $_; |
||||
|
||||
for (my $ln = 0; defined $lines; $ln++) { |
||||
(my $line, $lines) = split($EOL, $lines, 2); |
||||
|
||||
# header finished |
||||
last if(length($line) == 0); |
||||
|
||||
if ($ln == 0) { |
||||
# response header |
||||
$resp_line = $line; |
||||
} else { |
||||
# response vars |
||||
|
||||
if ($line =~ |