From cfbd858bd734a45394b1faa05f202a906653bf03 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 27 Jun 2013 16:14:08 +0200 Subject: [PATCH] [feature/passwords] Properly treat duplicates in combined hashes PHPBB3-11610 --- phpBB/includes/crypto/manager.php | 4 ++++ tests/crypto/manager_test.php | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/crypto/manager.php b/phpBB/includes/crypto/manager.php index d54f612443..b57c6ce9a0 100644 --- a/phpBB/includes/crypto/manager.php +++ b/phpBB/includes/crypto/manager.php @@ -129,6 +129,10 @@ class phpbb_crypto_manager { if (isset($this->type_map["\${$type}\$"])) { + while(isset($return_ary[$type])) + { + $type = $type + ' '; + } $return_ary[$type] = $this->type_map["\${$type}\$"]; } else diff --git a/tests/crypto/manager_test.php b/tests/crypto/manager_test.php index d0ca96e324..9b14383f5d 100644 --- a/tests/crypto/manager_test.php +++ b/tests/crypto/manager_test.php @@ -131,7 +131,7 @@ class phpbb_crypto_manager_test extends PHPUnit_Framework_TestCase return array( array( 'crypto.driver.salted_md5', - array('crypto.driver.bcrypt_2y', 'crypto.driver.bcrypt'), + array('crypto.driver.bcrypt_2y'), ), array( 'crypto.driver.salted_md5', @@ -141,6 +141,10 @@ class phpbb_crypto_manager_test extends PHPUnit_Framework_TestCase 'crypto.driver.phpass', array('crypto.driver.salted_md5'), ), + array( + 'crypto.driver.salted_md5', + array('crypto.driver.bcrypt_2y', 'crypto.driver.bcrypt'), + ), ); }