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); $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 . " FROM ' . USERS_TABLE . "
WHERE username_clean = '" . $this->db->sql_escape($username_clean) . "'"; WHERE username_clean = '" . $this->db->sql_escape($username_clean) . "'";
$result = $this->db->sql_query($sql); $result = $this->db->sql_query($sql);
@ -123,7 +123,7 @@ class db extends \phpbb\auth\provider\base
'username_clean' => $username_clean, 'username_clean' => $username_clean,
); );
$sql = 'INSERT INTO ' . LOGIN_ATTEMPT_TABLE . $this->db->sql_build_array('INSERT', $attempt_data); $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 else
{ {
@ -175,7 +175,7 @@ class db extends \phpbb\auth\provider\base
} }
// Check password ... // 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... // Check for old password hash...
if ($this->passwords_manager->convert_flag || strlen($row['user_password']) == 32) 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 // Check if convert works
$login_return = $provider->login('foobar2', 'example'); $login_return = $provider->login('foobar2', 'example');