summaryrefslogtreecommitdiff
path: root/tests/ftpserver.pl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ftpserver.pl')
-rwxr-xr-xtests/ftpserver.pl32
1 files changed, 15 insertions, 17 deletions
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index 1c1512bf7..2120c8526 100755
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -813,16 +813,26 @@ sub MAIL_smtp {
return 0;
}
-sub DATA_smtp {
- my $testno;
+sub RCPT_smtp {
+ my ($args) = @_;
- if($smtp_rcpt =~ /^TO:(.*)/) {
- $testno = $1;
+ logmsg "RCPT_smtp got $args\n";
+
+ if($args !~ /^TO:(.*)/) {
+ sendcontrol "501 Unrecognized parameter\r\n";
}
else {
- return; # failure
+ $smtp_rcpt = $1;
+
+ sendcontrol "200 Receivers accepted\r\n";
}
+ return 0;
+}
+
+sub DATA_smtp {
+ my $testno = $smtp_rcpt;
+
$testno =~ s/^([^0-9]*)([0-9]+).*/$2/;
sendcontrol "354 Show me the mail\r\n";
@@ -885,18 +895,6 @@ sub DATA_smtp {
}
-sub RCPT_smtp {
- my ($args) = @_;
-
- logmsg "RCPT_smtp got $args\n";
-
- $smtp_rcpt = $args;
-
- sendcontrol "200 Receivers accepted\r\n";
-
- return 0;
-}
-
sub HELO_smtp {
my ($client) = @_;