[Web] remove unnecessary if block

This commit is contained in:
FreddleSpl0it 2023-07-07 09:30:32 +02:00
parent 18783aa303
commit 239d8fc971
No known key found for this signature in database
GPG Key ID: 00E14E7634F4BEC5
1 changed files with 21 additions and 24 deletions

View File

@ -182,37 +182,34 @@ function mailcow_mbox_login($user, $pass, $app_passwd_data = false, $is_internal
foreach ($rows as $row) { foreach ($rows as $row) {
// verify password // verify password
if (verify_hash($row['password'], $pass) !== false) { if (verify_hash($row['password'], $pass) !== false) {
if (!array_key_exists("app_passwd_id", $row)){ // check for tfa authenticators
// password is not a app password $authenticators = get_tfa($user);
// check for tfa authenticators if (isset($authenticators['additional']) && is_array($authenticators['additional']) && count($authenticators['additional']) > 0 && !$is_internal) {
$authenticators = get_tfa($user); // authenticators found, init TFA flow
if (isset($authenticators['additional']) && is_array($authenticators['additional']) && count($authenticators['additional']) > 0 && !$is_internal) { $_SESSION['pending_mailcow_cc_username'] = $user;
// authenticators found, init TFA flow $_SESSION['pending_mailcow_cc_role'] = "user";
$_SESSION['pending_mailcow_cc_username'] = $user; $_SESSION['pending_tfa_methods'] = $authenticators['additional'];
$_SESSION['pending_mailcow_cc_role'] = "user"; unset($_SESSION['ldelay']);
$_SESSION['pending_tfa_methods'] = $authenticators['additional']; $_SESSION['return'][] = array(
'type' => 'success',
'log' => array(__FUNCTION__, $user, '*'),
'msg' => array('logged_in_as', $user)
);
return "pending";
} else if (!isset($authenticators['additional']) || !is_array($authenticators['additional']) || count($authenticators['additional']) == 0) {
// no authenticators found, login successfull
if (!$is_internal){
unset($_SESSION['ldelay']); unset($_SESSION['ldelay']);
// Reactivate TFA if it was set to "deactivate TFA for next login"
$stmt = $pdo->prepare("UPDATE `tfa` SET `active`='1' WHERE `username` = :user");
$stmt->execute(array(':user' => $user));
$_SESSION['return'][] = array( $_SESSION['return'][] = array(
'type' => 'success', 'type' => 'success',
'log' => array(__FUNCTION__, $user, '*'), 'log' => array(__FUNCTION__, $user, '*'),
'msg' => array('logged_in_as', $user) 'msg' => array('logged_in_as', $user)
); );
return "pending";
} else if (!isset($authenticators['additional']) || !is_array($authenticators['additional']) || count($authenticators['additional']) == 0) {
// no authenticators found, login successfull
if (!$is_internal){
unset($_SESSION['ldelay']);
// Reactivate TFA if it was set to "deactivate TFA for next login"
$stmt = $pdo->prepare("UPDATE `tfa` SET `active`='1' WHERE `username` = :user");
$stmt->execute(array(':user' => $user));
$_SESSION['return'][] = array(
'type' => 'success',
'log' => array(__FUNCTION__, $user, '*'),
'msg' => array('logged_in_as', $user)
);
}
return "user";
} }
return "user";
} }
} }
} }