1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-03 14:17:56 +02:00

Merge pull request #3136 from marc1706/ticket/13332

[ticket/13332] Pass user row to passwords manager check method

* marc1706/ticket/13332:
  [ticket/13332] Fix auth provider tests
  [ticket/13332] Remove useless $result assignment
  [ticket/13332] Pass user row to passwords manager check method
This commit is contained in:
Tristan Darricau 2014-11-16 12:22:51 +01:00
commit e27b69f42a
2 changed files with 11 additions and 4 deletions

View File

@ -87,7 +87,7 @@ class db extends \phpbb\auth\provider\base
$username_clean = utf8_clean_string($username);
$sql = 'SELECT user_id, username, user_password, user_passchg, user_email, user_type, user_login_attempts
$sql = 'SELECT *
FROM ' . USERS_TABLE . "
WHERE username_clean = '" . $this->db->sql_escape($username_clean) . "'";
$result = $this->db->sql_query($sql);
@ -123,7 +123,7 @@ class db extends \phpbb\auth\provider\base
'username_clean' => $username_clean,
);
$sql = 'INSERT INTO ' . LOGIN_ATTEMPT_TABLE . $this->db->sql_build_array('INSERT', $attempt_data);
$result = $this->db->sql_query($sql);
$this->db->sql_query($sql);
}
else
{
@ -175,7 +175,7 @@ class db extends \phpbb\auth\provider\base
}
// Check password ...
if ($this->passwords_manager->check($password, $row['user_password']))
if ($this->passwords_manager->check($password, $row['user_password'], $row))
{
// Check for old password hash...
if ($this->passwords_manager->convert_flag || strlen($row['user_password']) == 32)

View File

@ -78,7 +78,14 @@ class phpbb_auth_provider_db_test extends phpbb_database_test_case
),
);
$this->assertEquals($expected, $provider->login('foobar', 'example'));
$login_return = $provider->login('foobar', 'example');
$this->assertEquals($expected['status'], $login_return['status']);
$this->assertEquals($expected['error_msg'], $login_return['error_msg']);
foreach ($expected['user_row'] as $key => $value)
{
$this->assertEquals($value, $login_return['user_row'][$key]);
}
// Check if convert works
$login_return = $provider->login('foobar2', 'example');