ftpserver.pl: Moved invalid RCPT TO: address detection to RCPT handler
Rather than detecting the TO address as missing in the DATA handler, moved the detection to the RCPT command handler where an error response can be generated.
This commit is contained in:
Родитель
59c1743c78
Коммит
8ec6486d05
|
@ -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) = @_;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче