From e7e11112b17d6a8d4811d28376f1cc545243c08c Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Wed, 2 Oct 2013 17:24:11 +0200 Subject: [feature/passwords] Fix tests after changes to phpBB hashing functions PHPBB3-11610 --- tests/security/hash_test.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'tests/security/hash_test.php') diff --git a/tests/security/hash_test.php b/tests/security/hash_test.php index 0c2580c19b..b4c4dba48f 100644 --- a/tests/security/hash_test.php +++ b/tests/security/hash_test.php @@ -13,6 +13,33 @@ class phpbb_security_hash_test extends phpbb_test_case { public function test_check_hash_with_phpass() { + global $phpbb_container; + + $config = new phpbb\config\config(array()); + $phpbb_container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface'); + $driver_helper = new phpbb\passwords\driver\helper($config); + $passwords_drivers = array( + 'passwords.driver.bcrypt' => new phpbb\passwords\driver\bcrypt($config, $driver_helper), + 'passwords.driver.bcrypt_2y' => new phpbb\passwords\driver\bcrypt_2y($config, $driver_helper), + 'passwords.driver.salted_md5' => new phpbb\passwords\driver\salted_md5($config, $driver_helper), + 'passwords.driver.phpass' => new phpbb\passwords\driver\phpass($config, $driver_helper), + ); + + foreach ($passwords_drivers as $key => $driver) + { + $driver->set_name($key); + } + + $passwords_helper = new phpbb\passwords\helper; + // Set up passwords manager + $passwords_manager = new phpbb\passwords\manager($config, $passwords_drivers, $passwords_helper, 'passwords.driver.bcrypt_2y'); + + $phpbb_container + ->expects($this->any()) + ->method('get') + ->with('passwords.manager') + ->will($this->returnValue($passwords_manager)); + $this->assertTrue(phpbb_check_hash('test', '$H$9isfrtKXWqrz8PvztXlL3.daw4U0zI1')); $this->assertTrue(phpbb_check_hash('test', '$P$9isfrtKXWqrz8PvztXlL3.daw4U0zI1')); $this->assertFalse(phpbb_check_hash('foo', '$H$9isfrtKXWqrz8PvztXlL3.daw4U0zI1')); -- cgit v1.2.1 From 93531e7fb0df7d9cd2de04ca06aa9eb6a847a1c4 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Wed, 2 Oct 2013 23:45:32 +0200 Subject: [feature/passwords] Add prepending backslash to class namespaces PHPBB3-11610 --- tests/security/hash_test.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'tests/security/hash_test.php') diff --git a/tests/security/hash_test.php b/tests/security/hash_test.php index b4c4dba48f..76d7d22a00 100644 --- a/tests/security/hash_test.php +++ b/tests/security/hash_test.php @@ -15,14 +15,14 @@ class phpbb_security_hash_test extends phpbb_test_case { global $phpbb_container; - $config = new phpbb\config\config(array()); + $config = new \phpbb\config\config(array()); $phpbb_container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface'); - $driver_helper = new phpbb\passwords\driver\helper($config); + $driver_helper = new \phpbb\passwords\driver\helper($config); $passwords_drivers = array( - 'passwords.driver.bcrypt' => new phpbb\passwords\driver\bcrypt($config, $driver_helper), - 'passwords.driver.bcrypt_2y' => new phpbb\passwords\driver\bcrypt_2y($config, $driver_helper), - 'passwords.driver.salted_md5' => new phpbb\passwords\driver\salted_md5($config, $driver_helper), - 'passwords.driver.phpass' => new phpbb\passwords\driver\phpass($config, $driver_helper), + 'passwords.driver.bcrypt' => new \phpbb\passwords\driver\bcrypt($config, $driver_helper), + 'passwords.driver.bcrypt_2y' => new \phpbb\passwords\driver\bcrypt_2y($config, $driver_helper), + 'passwords.driver.salted_md5' => new \phpbb\passwords\driver\salted_md5($config, $driver_helper), + 'passwords.driver.phpass' => new \phpbb\passwords\driver\phpass($config, $driver_helper), ); foreach ($passwords_drivers as $key => $driver) @@ -30,9 +30,9 @@ class phpbb_security_hash_test extends phpbb_test_case $driver->set_name($key); } - $passwords_helper = new phpbb\passwords\helper; + $passwords_helper = new \phpbb\passwords\helper; // Set up passwords manager - $passwords_manager = new phpbb\passwords\manager($config, $passwords_drivers, $passwords_helper, 'passwords.driver.bcrypt_2y'); + $passwords_manager = new \phpbb\passwords\manager($config, $passwords_drivers, $passwords_helper, 'passwords.driver.bcrypt_2y'); $phpbb_container ->expects($this->any()) -- cgit v1.2.1 From 035db5e08b961055f0e74a26491ac35b289469cd Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 3 Oct 2013 10:23:17 +0200 Subject: [feature/passwords] Fix hash_test for use of passwords manager PHPBB3-11610 --- tests/security/hash_test.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'tests/security/hash_test.php') diff --git a/tests/security/hash_test.php b/tests/security/hash_test.php index f7d2c0dad8..c1a8c206a8 100644 --- a/tests/security/hash_test.php +++ b/tests/security/hash_test.php @@ -11,7 +11,7 @@ require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php'; class phpbb_security_hash_test extends phpbb_test_case { - public function test_check_hash_with_phpass() + public function setUp() { global $phpbb_container; @@ -39,7 +39,10 @@ class phpbb_security_hash_test extends phpbb_test_case ->method('get') ->with('passwords.manager') ->will($this->returnValue($passwords_manager)); + } + public function test_check_hash_with_phpass() + { $this->assertTrue(phpbb_check_hash('test', '$H$9isfrtKXWqrz8PvztXlL3.daw4U0zI1')); $this->assertTrue(phpbb_check_hash('test', '$P$9isfrtKXWqrz8PvztXlL3.daw4U0zI1')); $this->assertFalse(phpbb_check_hash('foo', '$H$9isfrtKXWqrz8PvztXlL3.daw4U0zI1')); -- cgit v1.2.1 From 5193b3279cfcd4f7f5d656ec806b87e971c5523f Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 27 Oct 2013 14:18:02 +0100 Subject: [feature/passwords] Pass list of default types to passwords manager This list is in the order of how the driver types would be used. If a driver is not supported we will try the subsequent one. PHPBB3-11610 --- tests/security/hash_test.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests/security/hash_test.php') diff --git a/tests/security/hash_test.php b/tests/security/hash_test.php index c1a8c206a8..1bccc6726f 100644 --- a/tests/security/hash_test.php +++ b/tests/security/hash_test.php @@ -19,8 +19,8 @@ class phpbb_security_hash_test extends phpbb_test_case $phpbb_container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface'); $driver_helper = new \phpbb\passwords\driver\helper($config); $passwords_drivers = array( - 'passwords.driver.bcrypt' => new \phpbb\passwords\driver\bcrypt($config, $driver_helper), 'passwords.driver.bcrypt_2y' => new \phpbb\passwords\driver\bcrypt_2y($config, $driver_helper), + 'passwords.driver.bcrypt' => new \phpbb\passwords\driver\bcrypt($config, $driver_helper), 'passwords.driver.salted_md5' => new \phpbb\passwords\driver\salted_md5($config, $driver_helper), 'passwords.driver.phpass' => new \phpbb\passwords\driver\phpass($config, $driver_helper), ); @@ -32,7 +32,7 @@ class phpbb_security_hash_test extends phpbb_test_case $passwords_helper = new \phpbb\passwords\helper; // Set up passwords manager - $passwords_manager = new \phpbb\passwords\manager($config, $passwords_drivers, $passwords_helper, 'passwords.driver.bcrypt_2y'); + $passwords_manager = new \phpbb\passwords\manager($config, $passwords_drivers, $passwords_helper, array_keys($passwords_drivers)); $phpbb_container ->expects($this->any()) -- cgit v1.2.1 From 292961a2771c9237197b9770b23a2a14a981c329 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 2 Feb 2014 14:09:09 +0100 Subject: [feature/passwords] Get rid of set_name/get_name methods for passwords drivers PHPBB3-11610 --- tests/security/hash_test.php | 5 ----- 1 file changed, 5 deletions(-) (limited to 'tests/security/hash_test.php') diff --git a/tests/security/hash_test.php b/tests/security/hash_test.php index 1bccc6726f..bc1bebd87a 100644 --- a/tests/security/hash_test.php +++ b/tests/security/hash_test.php @@ -25,11 +25,6 @@ class phpbb_security_hash_test extends phpbb_test_case 'passwords.driver.phpass' => new \phpbb\passwords\driver\phpass($config, $driver_helper), ); - foreach ($passwords_drivers as $key => $driver) - { - $driver->set_name($key); - } - $passwords_helper = new \phpbb\passwords\helper; // Set up passwords manager $passwords_manager = new \phpbb\passwords\manager($config, $passwords_drivers, $passwords_helper, array_keys($passwords_drivers)); -- cgit v1.2.1