ftpserver.pl: Moved IMAP LOGIN handler into own function

This commit is contained in:
Steve Holme 2013-09-14 20:52:29 +01:00
parent 84ad1569e5
commit 187ac69374

View File

@ -169,6 +169,12 @@ my $datasockf_conn = 'no'; # ['no','yes']
my $got_exit_signal = 0; # set if program should finish execution ASAP
my $exit_signal; # first signal handled in exit_signal_handler
#**********************************************************************
# Mail related definitions
#
my $TEXT_USERNAME = "user";
my $TEXT_PASSWORD = "secret";
#**********************************************************************
# exit_signal_handler will be triggered to indicate that the program
# should finish its execution in a controlled way as soon as possible.
@ -594,6 +600,7 @@ sub protocolsetup {
'FETCH' => \&FETCH_imap,
'LIST' => \&LIST_imap,
'LSUB' => \&LSUB_imap,
'LOGIN' => \&LOGIN_imap,
'LOGOUT' => \&LOGOUT_imap,
'NOOP' => \&NOOP_imap,
'RENAME' => \&RENAME_imap,
@ -604,7 +611,6 @@ sub protocolsetup {
'UID' => \&UID_imap,
);
%displaytext = (
'LOGIN' => ' OK LOGIN completed',
'welcome' => join("",
' _ _ ____ _ '."\r\n",
' ___| | | | _ \| | '."\r\n",
@ -817,6 +823,26 @@ sub CAPABILITY_imap {
return 0;
}
sub LOGIN_imap {
my ($args) = @_;
my ($user, $password) = split(/ /, $args, 2);
fix_imap_params($user, $password);
logmsg "LOGIN_imap got $args\n";
if ($user eq "") {
sendcontrol "$cmdid BAD Command Argument\r\n";
}
elsif (($user ne $TEXT_USERNAME) && ($password ne $TEXT_PASSWORD)) {
sendcontrol "$cmdid NO LOGIN failed\r\n";
}
else {
sendcontrol "$cmdid OK LOGIN completed\r\n";
}
return 0;
}
sub SELECT_imap {
my ($testno) = @_;
fix_imap_params($testno);
@ -1463,7 +1489,7 @@ sub PASS_pop3 {
logmsg "PASS_pop3 got $password\n";
if (($username ne "user") && ($password ne "secret")) {
if (($username ne $TEXT_USERNAME) && ($password ne $TEXT_PASSWORD)) {
sendcontrol "-ERR Login failure\r\n";
}
else {