[ticket/12574] Remove special cases for PHP < 5.3.7

PHPBB3-12574
This commit is contained in:
Marc Alexander 2019-11-01 16:15:25 +01:00
parent a00b8c2920
commit 0cbe05faad
No known key found for this signature in database
GPG key ID: 50E0D2423696F995
3 changed files with 50 additions and 164 deletions

View file

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<dataset>
<table name="phpbb_users">
<column>user_id</column>
<column>username</column>
<column>username_clean</column>
<column>user_password</column>
<column>user_passchg</column>
<column>user_email</column>
<column>user_type</column>
<column>user_login_attempts</column>
<column>user_permissions</column>
<column>user_sig</column>
<row>
<value>1</value>
<value>foobar</value>
<value>foobar</value>
<value>$2a$10$e01Syh9PbJjUkio66eFuUu4FhCE2nRgG7QPc1JACalsPXcIuG2bbi</value>
<value>0</value>
<value>example@example.com</value>
<value>0</value>
<value>0</value>
<value></value>
<value></value>
</row>
<row>
<value>2</value>
<value>foobar2</value>
<value>foobar2</value>
<value>$H$9E45lK6J8nLTSm9oJE5aNCSTFK9wqa/</value>
<value>0</value>
<value>example@example.com</value>
<value>0</value>
<value>0</value>
<value></value>
<value></value>
</row>
</table>
</dataset>

View file

@ -15,14 +15,7 @@ class phpbb_auth_provider_db_test extends phpbb_database_test_case
{ {
public function getDataSet() public function getDataSet()
{ {
if ((version_compare(PHP_VERSION, '5.3.7', '<'))) return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/user.xml');
{
return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/user_533.xml');
}
else
{
return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/user.xml');
}
} }
public function test_login() public function test_login()
@ -66,14 +59,7 @@ class phpbb_auth_provider_db_test extends phpbb_database_test_case
$captcha_factory = $phpbb_container->get('captcha.factory'); $captcha_factory = $phpbb_container->get('captcha.factory');
$provider = new \phpbb\auth\provider\db($captcha_factory, $config, $db, $passwords_manager, $request, $user, $phpbb_root_path, $phpEx); $provider = new \phpbb\auth\provider\db($captcha_factory, $config, $db, $passwords_manager, $request, $user, $phpbb_root_path, $phpEx);
if (version_compare(PHP_VERSION, '5.3.7', '<')) $password_hash = '$2y$10$4RmpyVu2y8Yf/lP3.yQBquKvE54TCUuEDEBJYY6FDDFN3LcbCGz9i';
{
$password_hash = '$2a$10$e01Syh9PbJjUkio66eFuUu4FhCE2nRgG7QPc1JACalsPXcIuG2bbi';
}
else
{
$password_hash = '$2y$10$4RmpyVu2y8Yf/lP3.yQBquKvE54TCUuEDEBJYY6FDDFN3LcbCGz9i';
}
$expected = array( $expected = array(
'status' => LOGIN_SUCCESS, 'status' => LOGIN_SUCCESS,
@ -100,7 +86,6 @@ class phpbb_auth_provider_db_test extends phpbb_database_test_case
// Check if convert works // Check if convert works
$login_return = $provider->login('foobar2', 'example'); $login_return = $provider->login('foobar2', 'example');
$password_start = (version_compare(PHP_VERSION, '5.3.7', '<')) ? '$2a$10$' : '$2y$10$'; $this->assertStringStartsWith('$2y$10$', $login_return['user_row']['user_password']);
$this->assertStringStartsWith($password_start, $login_return['user_row']['user_password']);
} }
} }

View file

@ -51,26 +51,13 @@ class phpbb_passwords_manager_test extends \phpbb_test_case
public function hash_password_data() public function hash_password_data()
{ {
if (version_compare(PHP_VERSION, '5.3.7', '<')) return array(
{ array('', '2y', 60),
return array( array('passwords.driver.bcrypt_2y', '2y', 60),
array('', '2a', 60), array('passwords.driver.bcrypt', '2a', 60),
array('passwords.driver.bcrypt_2y', '2a', 60), array('passwords.driver.salted_md5', 'H', 34),
array('passwords.driver.bcrypt', '2a', 60), array('passwords.driver.foobar', '', false),
array('passwords.driver.salted_md5', 'H', 34), );
array('passwords.driver.foobar', '', false),
);
}
else
{
return array(
array('', '2y', 60),
array('passwords.driver.bcrypt_2y', '2y', 60),
array('passwords.driver.bcrypt', '2a', 60),
array('passwords.driver.salted_md5', 'H', 34),
array('passwords.driver.foobar', '', false),
);
}
} }
/** /**
@ -100,23 +87,12 @@ class phpbb_passwords_manager_test extends \phpbb_test_case
public function check_password_data() public function check_password_data()
{ {
if (version_compare(PHP_VERSION, '5.3.7', '<')) return array(
{ array('passwords.driver.bcrypt_2y'),
return array( array('passwords.driver.bcrypt'),
array('passwords.driver.bcrypt'), array('passwords.driver.salted_md5'),
array('passwords.driver.salted_md5'), array('passwords.driver.phpass'),
array('passwords.driver.phpass'), );
);
}
else
{
return array(
array('passwords.driver.bcrypt_2y'),
array('passwords.driver.bcrypt'),
array('passwords.driver.salted_md5'),
array('passwords.driver.phpass'),
);
}
} }
/** /**
@ -136,7 +112,7 @@ class phpbb_passwords_manager_test extends \phpbb_test_case
} }
// Check if convert_flag is correctly set // Check if convert_flag is correctly set
$default_type = (version_compare(PHP_VERSION, '5.3.7', '<')) ? 'passwords.driver.bcrypt' : 'passwords.driver.bcrypt_2y'; $default_type = 'passwords.driver.bcrypt_2y';
$this->assertEquals(($hash_type !== $default_type), $this->manager->convert_flag); $this->assertEquals(($hash_type !== $default_type), $this->manager->convert_flag);
} }
@ -200,79 +176,43 @@ class phpbb_passwords_manager_test extends \phpbb_test_case
public function test_hash_password_8bit_bcrypt() public function test_hash_password_8bit_bcrypt()
{ {
$this->assertEquals(false, $this->manager->hash('foobar𝄞', 'passwords.driver.bcrypt')); $this->assertEquals(false, $this->manager->hash('foobar𝄞', 'passwords.driver.bcrypt'));
if (version_compare(PHP_VERSION, '5.3.7', '<')) $this->assertNotEquals(false, $this->manager->hash('foobar𝄞', 'passwords.driver.bcrypt_2y'));
{
$this->assertEquals(false, $this->manager->hash('foobar𝄞', 'passwords.driver.bcrypt_2y'));
}
else
{
$this->assertNotEquals(false, $this->manager->hash('foobar𝄞', 'passwords.driver.bcrypt_2y'));
}
} }
public function combined_hash_data() public function combined_hash_data()
{ {
if (version_compare(PHP_VERSION, '5.3.7', '<')) return array(
{ array(
return array( 'passwords.driver.salted_md5',
array( array('passwords.driver.bcrypt_2y'),
'passwords.driver.salted_md5', ),
array('passwords.driver.bcrypt'), array(
), 'passwords.driver.salted_md5',
array( array('passwords.driver.bcrypt'),
'passwords.driver.phpass', ),
array('passwords.driver.salted_md5'), array(
), 'passwords.driver.phpass',
array( array('passwords.driver.salted_md5'),
'passwords.driver.salted_md5', ),
array('passwords.driver.phpass', 'passwords.driver.bcrypt'), array(
), 'passwords.driver.salted_md5',
array( array('passwords.driver.bcrypt_2y', 'passwords.driver.bcrypt'),
'passwords.driver.salted_md5', ),
array('passwords.driver.salted_md5'), array(
false, 'passwords.driver.salted_md5',
), array('passwords.driver.salted_md5'),
array( false,
'$H$', ),
array('$2a$'), array(
), 'passwords.driver.bcrypt_2y',
); array('passwords.driver.salted_md4'),
} false,
else ),
{ array(
return array( '$H$',
array( array('$2y$'),
'passwords.driver.salted_md5', ),
array('passwords.driver.bcrypt_2y'), );
),
array(
'passwords.driver.salted_md5',
array('passwords.driver.bcrypt'),
),
array(
'passwords.driver.phpass',
array('passwords.driver.salted_md5'),
),
array(
'passwords.driver.salted_md5',
array('passwords.driver.bcrypt_2y', 'passwords.driver.bcrypt'),
),
array(
'passwords.driver.salted_md5',
array('passwords.driver.salted_md5'),
false,
),
array(
'passwords.driver.bcrypt_2y',
array('passwords.driver.salted_md4'),
false,
),
array(
'$H$',
array('$2y$'),
),
);
}
} }
/** /**