aboutsummaryrefslogtreecommitdiff
path: root/tests/httpserver.pl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/httpserver.pl')
-rwxr-xr-xtests/httpserver.pl30
1 files changed, 18 insertions, 12 deletions
diff --git a/tests/httpserver.pl b/tests/httpserver.pl
index 453fe710e..622a6e75e 100755
--- a/tests/httpserver.pl
+++ b/tests/httpserver.pl
@@ -18,10 +18,9 @@ else {
$protocol="HTTP";
}
-
socket(Server, PF_INET, SOCK_STREAM, $proto)|| die "socket: $!";
- setsockopt(Server, SOL_SOCKET, SO_REUSEADDR,
- pack("l", 1)) || die "setsockopt: $!";
+setsockopt(Server, SOL_SOCKET, SO_REUSEADDR,
+ pack("l", 1)) || die "setsockopt: $!";
bind(Server, sockaddr_in($port, INADDR_ANY))|| die "bind: $!";
listen(Server,SOMAXCONN) || die "listen: $!";
@@ -40,14 +39,19 @@ sub REAPER {
logmsg "reaped $waitedpid" . ($? ? " with exit $?" : '');
}
-$commandok{ USER => 'fresh'}; # USER is ok in fresh state
-
-print "TEST: ".$commandok{"USER"}."\n";
-
+# USER is ok in fresh state
+%commandok = ( "USER" => "fresh",
+ "PASS" => "passwd",
+ "PASV" => "loggedin",
+ );
-$statechange{ 'USER' => 'passwd'}; # USER goes to passwd state
+%statechange = ( 'USER' => 'passwd', # USER goes to passwd state
+ 'PASS' => 'loggedin', # PASS goes to loggedin state
+ );
-$displaytext{'USER' => '331 We are happy you arrived!'}; # output FTP line
+%displaytext = ('USER' => '331 We are happy you popped in!', # output FTP line
+ 'PASS' => '230 Welcome you silly person',
+ );
$SIG{CHLD} = \&REAPER;
@@ -117,10 +121,12 @@ for ( $waitedpid = 0;
}
$state=$statechange{$FTPCMD};
- if($command{$1} eq "") {
- print "314 Wwwwweeeeird internal error\r\n";
- exit
+ if($state eq "") {
+ print "314 Wwwwweeeeird internal error state: $state\r\n";
+ exit;
}
+ print STDERR "gone to state $state\n";
+
$text = $displaytext{$FTPCMD};
print "$text\r\n";
}