ftpserver.pl: Added unwanted argument check to SMTP DATA command handler

This commit is contained in:
Steve Holme 2013-09-29 09:25:23 +01:00
parent 4d7bf73fc3
commit ab7e6afd44

View File

@ -871,8 +871,13 @@ sub RCPT_smtp {
} }
sub DATA_smtp { sub DATA_smtp {
my ($args) = @_;
my $testno = $smtp_rcpt; my $testno = $smtp_rcpt;
if ($args) {
sendcontrol "501 Unrecognized parameter\r\n";
}
else {
$testno =~ s/^([^0-9]*)([0-9]+).*/$2/; $testno =~ s/^([^0-9]*)([0-9]+).*/$2/;
sendcontrol "354 Show me the mail\r\n"; sendcontrol "354 Show me the mail\r\n";
@ -910,7 +915,9 @@ sub DATA_smtp {
# end of data marker! # end of data marker!
$eob = 1; $eob = 1;
} }
logmsg "> Appending $size bytes to file\n"; logmsg "> Appending $size bytes to file\n";
if($eob) { if($eob) {
logmsg "Found SMTP EOB marker\n"; logmsg "Found SMTP EOB marker\n";
last; last;
@ -926,13 +933,19 @@ sub DATA_smtp {
last; last;
} }
} }
if($nosave) { if($nosave) {
print FILE "$ulsize bytes would've been stored here\n"; print FILE "$ulsize bytes would've been stored here\n";
} }
close(FILE); close(FILE);
sendcontrol "250 OK, data received!\r\n";
logmsg "received $ulsize bytes upload\n"; logmsg "received $ulsize bytes upload\n";
sendcontrol "250 OK, data received!\r\n";
}
return 0;
} }
sub QUIT_smtp { sub QUIT_smtp {
@ -1163,6 +1176,7 @@ sub APPEND_imap {
if($nosave) { if($nosave) {
print FILE "$size bytes would've been stored here\n"; print FILE "$size bytes would've been stored here\n";
} }
close(FILE); close(FILE);
logmsg "received $size bytes upload\n"; logmsg "received $size bytes upload\n";