aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2003-08-08 10:21:47 +0000
committerDaniel Stenberg <daniel@haxx.se>2003-08-08 10:21:47 +0000
commit6e3adc9b14bc37161fc89bc6df92181b9058666c (patch)
tree6e924e8d172b692e49bcca1f66519b21e4165a14
parent7954eee6396965b424725c40c1dbf8020134a776 (diff)
Support COUNT in the control file, to set the number of times the custom
REPLY is to be sent back before getting blanked and reverted to the built-in action. Now, we can make CWD fail once and then succeed when retried.
-rw-r--r--tests/ftpserver.pl12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index 76e947b0e..1a2e2b9bc 100644
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -92,6 +92,7 @@ my %commandok = (
'SYST' => 'loggedin',
'SIZE' => 'loggedin|twosock',
'PWD' => 'loggedin|twosock',
+ 'MKD' => 'loggedin|twosock',
'QUIT' => 'loggedin|twosock',
'RNFR' => 'loggedin|twosock',
'RNTO' => 'loggedin|twosock',
@@ -118,6 +119,7 @@ my %displaytext = ('USER' => '331 We are happy you popped in!',
'SYST' => '215 UNIX Type: L8', # just fake something
'QUIT' => '221 bye bye baby', # just reply something
'PWD' => '257 "/nowhere/anywhere" is current directory',
+ 'MKD' => '257 Created your requested directory',
'REST' => '350 Yeah yeah we set it there for you',
'DELE' => '200 OK OK OK whatever you say',
'RNFR' => '350 Received your order. Please provide more',
@@ -428,6 +430,7 @@ sub PORT_command {
$SIG{CHLD} = \&REAPER;
my %customreply;
+my %customcount;
my %delayreply;
sub customize {
undef %customreply;
@@ -440,6 +443,11 @@ sub customize {
if($_ =~ /REPLY ([A-Z]+) (.*)/) {
$customreply{$1}=$2;
}
+ if($_ =~ /COUNT ([A-Z]+) (.*)/) {
+ # we blank the customreply for this command when having
+ # been used this number of times
+ $customcount{$1}=$2;
+ }
elsif($_ =~ /DELAY ([A-Z]+) (\d*)/) {
$delayreply{$1}=$2;
}
@@ -540,6 +548,10 @@ for ( $waitedpid = 0;
$text = $displaytext{$FTPCMD};
}
else {
+ if($customcount{$FTPCMD} && (!--$customcount{$FTPCMD})) {
+ # used enough number of times, now blank the customreply
+ $customreply{$FTPCMD}="";
+ }
logmsg "$FTPCMD made to send '$text'\n";
}
if($text) {