Commit 5b31b38c authored by Steve Holme's avatar Steve Holme
Browse files

ftpserver.pl: Fixed processing of POP3 authentication strings

...and corrected response when check fails from 500 to -ERR.
parent 39f4e4fa
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -3049,6 +3049,7 @@ while(1) {
                sendcontrol "$1 '$full': command not understood.\r\n";
                last;
            }

            $cmdid=$1; # set the global variable
            $FTPCMD=$2;
            $FTPARG=$3;
@@ -3057,6 +3058,16 @@ while(1) {
            $FTPCMD=$1;
            $FTPARG=$3;
        }
        elsif($proto eq "pop3") {
            # POP3 long "commands" are base64 authentication data
            unless($full =~ /^[A-Z0-9+\/]+={0,2}$/i)) {
                sendcontrol "-ERR '$full': command not understood.\r\n";
                last;
            }

            $FTPCMD=$full;
            $FTPARG="";
        }
        elsif(($proto eq "smtp") && ($full =~ /^[A-Z0-9+\/]{0,512}={0,2}$/i)) {
            # SMTP long "commands" are base64 authentication data.
            $FTPCMD=$full;