Commit ab7e6afd authored by Steve Holme's avatar Steve Holme
Browse files

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

parent 4d7bf73f
Loading
Loading
Loading
Loading
+58 −44
Original line number Diff line number Diff line
@@ -871,8 +871,13 @@ sub RCPT_smtp {
}

sub DATA_smtp {
    my ($args) = @_;
    my $testno = $smtp_rcpt;

    if ($args) {
        sendcontrol "501 Unrecognized parameter\r\n";
    }
    else {
        $testno =~ s/^([^0-9]*)([0-9]+).*/$2/;
        sendcontrol "354 Show me the mail\r\n";

@@ -910,7 +915,9 @@ sub DATA_smtp {
                    # end of data marker!
                    $eob = 1;
                }

                logmsg "> Appending $size bytes to file\n";

                if($eob) {
                    logmsg "Found SMTP EOB marker\n";
                    last;
@@ -926,13 +933,19 @@ sub DATA_smtp {
                last;
            }
        }

        if($nosave) {
            print FILE "$ulsize bytes would've been stored here\n";
        }

        close(FILE);
    sendcontrol "250 OK, data received!\r\n";

        logmsg "received $ulsize bytes upload\n";

        sendcontrol "250 OK, data received!\r\n";
    }

    return 0;
}

sub QUIT_smtp {
@@ -1163,6 +1176,7 @@ sub APPEND_imap {
        if($nosave) {
            print FILE "$size bytes would've been stored here\n";
        }

        close(FILE);

        logmsg "received $size bytes upload\n";