ftpserver.pl: Fixed processing of POP3 authentication strings
...and corrected response when check fails from 500 to -ERR.
This commit is contained in:
@@ -3049,6 +3049,7 @@ while(1) {
|
|||||||
sendcontrol "$1 '$full': command not understood.\r\n";
|
sendcontrol "$1 '$full': command not understood.\r\n";
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
|
|
||||||
$cmdid=$1; # set the global variable
|
$cmdid=$1; # set the global variable
|
||||||
$FTPCMD=$2;
|
$FTPCMD=$2;
|
||||||
$FTPARG=$3;
|
$FTPARG=$3;
|
||||||
@@ -3057,6 +3058,16 @@ while(1) {
|
|||||||
$FTPCMD=$1;
|
$FTPCMD=$1;
|
||||||
$FTPARG=$3;
|
$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)) {
|
elsif(($proto eq "smtp") && ($full =~ /^[A-Z0-9+\/]{0,512}={0,2}$/i)) {
|
||||||
# SMTP long "commands" are base64 authentication data.
|
# SMTP long "commands" are base64 authentication data.
|
||||||
$FTPCMD=$full;
|
$FTPCMD=$full;
|
||||||
|
Reference in New Issue
Block a user