diff options
author | Steve Holme <steve_holme@hotmail.com> | 2013-11-10 10:08:32 +0000 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2013-11-10 10:08:32 +0000 |
commit | f49276bfcbfa2e8e73bb01c7f7103126de1c1da2 (patch) | |
tree | fad2ef2f2f73dcbc09633bc8ba7cd8582c98aee0 | |
parent | d08ee3c83d6bd416aef62ff844c98e47c4682429 (diff) |
ftpserver.pl: Fixed processing of IMAP authentication strings
-rwxr-xr-x | tests/ftpserver.pl | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl index b6ed5839a..410bbd4ec 100755 --- a/tests/ftpserver.pl +++ b/tests/ftpserver.pl @@ -3049,15 +3049,22 @@ while(1) { my $FTPARG; if($proto eq "imap") { # IMAP is different with its identifier first on the command line - unless(($full =~ /^([^ ]+) ([^ ]+) (.*)/) || - ($full =~ /^([^ ]+) ([^ ]+)/)) { + if(($full =~ /^([^ ]+) ([^ ]+) (.*)/) || + ($full =~ /^([^ ]+) ([^ ]+)/)) { + $cmdid=$1; # set the global variable + $FTPCMD=$2; + $FTPARG=$3; + } + # IMAP long "commands" are base64 authentication data + elsif($full =~ /^[A-Z0-9+\/]*={0,2}$/i) { + # Command id has already been set + $FTPCMD=$full; + $FTPARG=""; + } + else { sendcontrol "$1 '$full': command not understood.\r\n"; last; } - - $cmdid=$1; # set the global variable - $FTPCMD=$2; - $FTPARG=$3; } elsif($full =~ /^([A-Z]{3,4})(\s(.*))?$/i) { $FTPCMD=$1; |