From 7da9c95bcf1fe6be41de0081188ee0a04ac4db17 Mon Sep 17 00:00:00 2001 From: Steve Holme Date: Sun, 22 Dec 2013 19:10:43 +0000 Subject: [PATCH] ftpserver.pl: Added the ability to send custom full text replies --- tests/ftpserver.pl | 47 +++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl index c4cd7cf0e..3a4a0795c 100755 --- a/tests/ftpserver.pl +++ b/tests/ftpserver.pl @@ -3251,36 +3251,45 @@ while(1) { my $check = 1; # no response yet - # See if there is a custom reply for our command - my $text = $commandreply{$FTPCMD}; + # See if there is a custom reply for the full text + my $fulltext = $FTPCMD . " " . $FTPARG; + my $text = $fulltextreply{$fulltext}; if($text && ($text ne "")) { - if($customcount{$FTPCMD} && (!--$customcount{$FTPCMD})) { - # used enough times so blank the custom command reply - $commandreply{$FTPCMD}=""; - } - sendcontrol "$text\r\n"; $check = 0; } else { - # See if there is any display text for our command - $text = $displaytext{$FTPCMD}; + # See if there is a custom reply for the command + $text = $commandreply{$FTPCMD}; if($text && ($text ne "")) { - if($proto eq 'imap') { - sendcontrol "$cmdid $text\r\n"; - } - else { - sendcontrol "$text\r\n"; + if($customcount{$FTPCMD} && (!--$customcount{$FTPCMD})) { + # used enough times so blank the custom command reply + $commandreply{$FTPCMD}=""; } + sendcontrol "$text\r\n"; $check = 0; } + else { + # See if there is any display text for the command + $text = $displaytext{$FTPCMD}; + if($text && ($text ne "")) { + if($proto eq 'imap') { + sendcontrol "$cmdid $text\r\n"; + } + else { + sendcontrol "$text\r\n"; + } - # only perform this if we're not faking a reply - my $func = $commandfunc{$FTPCMD}; - if($func) { - &$func($FTPARG, $FTPCMD); - $check=0; # taken care of + $check = 0; + } + + # only perform this if we're not faking a reply + my $func = $commandfunc{$FTPCMD}; + if($func) { + &$func($FTPARG, $FTPCMD); + $check = 0; + } } }