1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-29 10:50:25 +02:00

Fixes #1684 Login failure with email and salt.

This commit is contained in:
Cameron
2016-06-06 15:42:42 -07:00
parent 815ca78cdf
commit 32bd1d04ab
3 changed files with 33 additions and 23 deletions

View File

@@ -152,11 +152,10 @@ else
$class_list[] = e_UC_MEMBER; $class_list[] = e_UC_MEMBER;
$class_list[] = e_UC_PUBLIC; $class_list[] = e_UC_PUBLIC;
$user_logging_opts = e107::getConfig()->get('user_audit_opts'); if (in_array(varset($pref['user_audit_class'], ''), $class_list))
if (isset($user_logging_opts[USER_AUDIT_LOGIN]) && in_array(varset($pref['user_audit_class'], ''), $class_list)) {
{ // Need to note in user audit trail e107::getAdminLog()->user_audit(USER_AUDIT_LOGIN, 'Login via admin page', $row['user_id'], $row['user_name']);
e107::getAdminLog()->user_audit(USER_AUDIT_LOGIN, '', $user_id, $user_name);
} }
$edata_li = array("user_id"=>$row['user_id'], "user_name"=>$row['user_name'], 'class_list'=>implode(',', $class_list), 'user_admin'=> $row['user_admin']); $edata_li = array("user_id"=>$row['user_id'], "user_name"=>$row['user_name'], 'class_list'=>implode(',', $class_list), 'user_admin'=> $row['user_admin']);

View File

@@ -434,6 +434,13 @@ class e_admin_log
return false; return false;
} }
if(empty($event_data))
{
$backt = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS,4);
$event_data = $backt;
}
if($this->rldb == null) if($this->rldb == null)
{ {
$this->rldb = e107::getDb('rldb'); // Better use our own db - don't know what else is going on $this->rldb = e107::getDb('rldb'); // Better use our own db - don't know what else is going on

View File

@@ -253,10 +253,11 @@ class userlogin
// $user_logging_opts = e107::getConfig()->get('user_audit_opts'); // $user_logging_opts = e107::getConfig()->get('user_audit_opts');
if (in_array(varset($pref['user_audit_class'],''), $class_list)) /* if (in_array(varset($pref['user_audit_class'],''), $class_list))
{ // Need to note in user audit trail { // Need to note in user audit trail
e107::getLog()->user_audit(USER_AUDIT_LOGIN,'', $user_id, $user_name); $log = e107::getLog();
} $log->user_audit(USER_AUDIT_LOGIN,'', $user_id, $user_name);
}*/
$edata_li = array('user_id' => $user_id, 'user_name' => $user_name, 'class_list' => implode(',',$class_list), 'remember_me' => $autologin, 'user_admin'=>$user_admin, 'user_email'=> $user_email); $edata_li = array('user_id' => $user_id, 'user_name' => $user_name, 'class_list' => implode(',',$class_list), 'remember_me' => $autologin, 'user_admin'=>$user_admin, 'user_email'=> $user_email);
e107::getEvent()->trigger("login", $edata_li); e107::getEvent()->trigger("login", $edata_li);
@@ -434,9 +435,7 @@ class userlogin
$requiredPassword = $this->userData['user_password']; $requiredPassword = $this->userData['user_password'];
} }
// FIXME - [SecretR] $username is not set and I really can't get the idea.
//$username = $this->userData['user_loginname']; // TODO for Steve - temporary fix, where $username comes from?
// Now check password // Now check password
if ($forceLogin) if ($forceLogin)
{ {
@@ -458,29 +457,34 @@ class userlogin
return $this->invalidLogin($username,LOGIN_CHAP_FAIL); return $this->invalidLogin($username,LOGIN_CHAP_FAIL);
} }
} }
else else // Plaintext password
{ {
// Plaintext password
$login_name = ($this->lookEmail) ? $this->userData['user_loginname'] : $username;
$auditLog = array( $auditLog = array(
'type' => (($this->lookEmail) ? 'email' : 'userlogin'),
'lookEmail' => $this->lookEmail, 'login_name' => $login_name,
'user_loginname' => $this->userData['user_loginname'],
'userpass' => $userpass, 'userpass' => $userpass,
'username' => $username, 'pwdHash' => $requiredPassword
'pwdHash' => $requiredPassword
); );
$log->user_audit(USER_AUDIT_LOGIN, $auditLog, $this->userData['user_id'], $this->userData['user_name']); if (($pass_result = $this->userMethods->CheckPassword($userpass, $login_name, $requiredPassword)) === PASSWORD_INVALID)
if (($pass_result = $this->userMethods->CheckPassword($userpass,($this->lookEmail ? $this->userData['user_loginname'] : $username),$requiredPassword)) === PASSWORD_INVALID)
{ {
$auditLog['result'] = $pass_result;
$log->user_audit(USER_AUDIT_LOGIN, $auditLog, $this->userData['user_id'], $this->userData['user_name']);
return $this->invalidLogin($username,LOGIN_BAD_PW); return $this->invalidLogin($username,LOGIN_BAD_PW);
} }
$auditLog['result'] = $pass_result;
$log->user_audit(USER_AUDIT_LOGIN, $auditLog, $this->userData['user_id'], $this->userData['user_name']);
} }
$this->passResult = $pass_result; $this->passResult = $pass_result;
} }
return TRUE;
return true;
} }