diff options
author | Dan Fandrich <dan@coneharvesters.com> | 2007-08-23 23:24:39 +0000 |
---|---|---|
committer | Dan Fandrich <dan@coneharvesters.com> | 2007-08-23 23:24:39 +0000 |
commit | 9537580ba20cec5180d06c4ab065503fef6a354e (patch) | |
tree | 83c969b7479aba660061c5e4faa411107e53db2b /tests | |
parent | bc0adcef1f9baa924c8bf88ccd450740e2dac880 (diff) |
Allow ftp server alternate replies to contain backslash-escaped control
characters.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/FILEFORMAT | 3 | ||||
-rw-r--r-- | tests/ftpserver.pl | 5 |
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]+) (.*)/) { |