aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2013-06-27 16:14:08 +0200
committerMarc Alexander <admin@m-a-styles.de>2013-09-14 13:54:21 +0200
commitcfbd858bd734a45394b1faa05f202a906653bf03 (patch)
treedd867450eb75738ba61a68f8621fbe29138e9d8b
parent556048177fa25df140f3126f46fb541ec4b0ac8b (diff)
downloadforums-cfbd858bd734a45394b1faa05f202a906653bf03.tar
forums-cfbd858bd734a45394b1faa05f202a906653bf03.tar.gz
forums-cfbd858bd734a45394b1faa05f202a906653bf03.tar.bz2
forums-cfbd858bd734a45394b1faa05f202a906653bf03.tar.xz
forums-cfbd858bd734a45394b1faa05f202a906653bf03.zip
[feature/passwords] Properly treat duplicates in combined hashes
PHPBB3-11610
-rw-r--r--phpBB/includes/crypto/manager.php4
-rw-r--r--tests/crypto/manager_test.php6
2 files changed, 9 insertions, 1 deletions
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'),
+ ),
);
}