From b810957c4bc4ffa86dd4db4cce26bd49d7008670 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 22 Aug 2013 19:31:35 -0500 Subject: [PATCH] [feature/passwords] Properly set convert_flag and add test for it PHPBB3-11610 --- phpBB/phpbb/crypto/manager.php | 6 +++++- tests/crypto/manager_test.php | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/phpBB/phpbb/crypto/manager.php b/phpBB/phpbb/crypto/manager.php index e314b08865..885bf719bf 100644 --- a/phpBB/phpbb/crypto/manager.php +++ b/phpBB/phpbb/crypto/manager.php @@ -196,10 +196,14 @@ class phpbb_crypto_manager return $this->helper->check_combined_hash($password, $stored_hash_type, $hash); } - if ($stored_hash_type->get_type() !== $this->type) + if ($stored_hash_type->get_name() !== $this->type) { $this->convert_flag = true; } + else + { + $this->convert_flag = false; + } return $stored_hash_type->check($password, $hash); } diff --git a/tests/crypto/manager_test.php b/tests/crypto/manager_test.php index ceeb45b5b8..c396d092c1 100644 --- a/tests/crypto/manager_test.php +++ b/tests/crypto/manager_test.php @@ -126,6 +126,9 @@ class phpbb_crypto_manager_test extends PHPUnit_Framework_TestCase $password .= $this->pw_characters[mt_rand(0, 66)]; $this->assertEquals(false, $this->manager->check_hash($password, $hash)); } + + // Check if convert_flag is correctly set + $this->assertEquals(($hash_type !== 'crypto.driver.bcrypt_2y'), $this->manager->convert_flag); }