aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDan Fandrich <dan@coneharvesters.com>2007-08-23 23:24:39 +0000
committerDan Fandrich <dan@coneharvesters.com>2007-08-23 23:24:39 +0000
commit9537580ba20cec5180d06c4ab065503fef6a354e (patch)
tree83c969b7479aba660061c5e4faa411107e53db2b /tests
parentbc0adcef1f9baa924c8bf88ccd450740e2dac880 (diff)
Allow ftp server alternate replies to contain backslash-escaped control
characters.
Diffstat (limited to 'tests')
-rw-r--r--tests/FILEFORMAT3
-rw-r--r--tests/ftpserver.pl5
2 files changed, 4 insertions, 4 deletions
diff --git a/tests/FILEFORMAT b/tests/FILEFORMAT
index b22ee8421..2a3a16eaf 100644
--- a/tests/FILEFORMAT
+++ b/tests/FILEFORMAT
@@ -90,7 +90,8 @@ Special-commands for the server.
For FTP, these are supported:
REPLY [command] [return value] [response string]
- - Changes how the server responds to the [command]
+ - Changes how the server responds to the [command]. [response string] is
+ evaluated as a perl string, so it can contain embedded \r\n, for example.
COUNT [command] [num]
- Do the REPLY change for [command] only [num] times and then go back to the
built-in approach
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index 73fabcca4..e32c019bd 100644
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -677,14 +677,13 @@ my %customreply;
my %customcount;
my %delayreply;
sub customize {
- undef %customreply;
-
$nosave = 0; # default is to save as normal
$controldelay = 0; # default is no delaying the responses
$retrweirdo = 0;
$retrnosize = 0;
$pasvbadip = 0;
$nosave = 0;
+ %customreply = ();
%customcount = ();
%delayreply = ();
@@ -695,7 +694,7 @@ sub customize {
while(<CUSTOM>) {
if($_ =~ /REPLY ([A-Z]+) (.*)/) {
- $customreply{$1}=$2;
+ $customreply{$1}=eval "qq{$2}";
logmsg "FTPD: set custom reply for $1\n";
}
if($_ =~ /COUNT ([A-Z]+) (.*)/) {