From 0cbe05faadfade06737f3f057fb1b9aa44a78693 Mon Sep 17 00:00:00 2001
From: Marc Alexander <admin@m-a-styles.de>
Date: Fri, 1 Nov 2019 16:15:25 +0100
Subject: [PATCH] [ticket/12574] Remove special cases for PHP < 5.3.7

PHPBB3-12574
---
 tests/auth/fixtures/user_533.xml |  39 --------
 tests/auth/provider_db_test.php  |  21 +----
 tests/passwords/manager_test.php | 154 ++++++++++---------------------
 3 files changed, 50 insertions(+), 164 deletions(-)
 delete mode 100644 tests/auth/fixtures/user_533.xml

diff --git a/tests/auth/fixtures/user_533.xml b/tests/auth/fixtures/user_533.xml
deleted file mode 100644
index 9731e4db4a..0000000000
--- a/tests/auth/fixtures/user_533.xml
+++ /dev/null
@@ -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>
diff --git a/tests/auth/provider_db_test.php b/tests/auth/provider_db_test.php
index 2c467518f5..8305e7caa4 100644
--- a/tests/auth/provider_db_test.php
+++ b/tests/auth/provider_db_test.php
@@ -15,14 +15,7 @@ class phpbb_auth_provider_db_test extends phpbb_database_test_case
 {
 	public function getDataSet()
 	{
-		if ((version_compare(PHP_VERSION, '5.3.7', '<')))
-		{
-			return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/user_533.xml');
-		}
-		else
-		{
-			return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/user.xml');
-		}
+		return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/user.xml');
 	}
 
 	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');
 
 		$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 = '$2a$10$e01Syh9PbJjUkio66eFuUu4FhCE2nRgG7QPc1JACalsPXcIuG2bbi';
-		}
-		else
-		{
-			$password_hash = '$2y$10$4RmpyVu2y8Yf/lP3.yQBquKvE54TCUuEDEBJYY6FDDFN3LcbCGz9i';
-		}
+		$password_hash = '$2y$10$4RmpyVu2y8Yf/lP3.yQBquKvE54TCUuEDEBJYY6FDDFN3LcbCGz9i';
 
 		$expected = array(
 			'status'		=> LOGIN_SUCCESS,
@@ -100,7 +86,6 @@ class phpbb_auth_provider_db_test extends phpbb_database_test_case
 
 		// Check if convert works
 		$login_return = $provider->login('foobar2', 'example');
-		$password_start = (version_compare(PHP_VERSION, '5.3.7', '<')) ? '$2a$10$' : '$2y$10$';
-		$this->assertStringStartsWith($password_start, $login_return['user_row']['user_password']);
+		$this->assertStringStartsWith('$2y$10$', $login_return['user_row']['user_password']);
 	}
 }
diff --git a/tests/passwords/manager_test.php b/tests/passwords/manager_test.php
index dc5c539316..90dbb47f46 100644
--- a/tests/passwords/manager_test.php
+++ b/tests/passwords/manager_test.php
@@ -51,26 +51,13 @@ class phpbb_passwords_manager_test extends \phpbb_test_case
 
 	public function hash_password_data()
 	{
-		if (version_compare(PHP_VERSION, '5.3.7', '<'))
-		{
-			return array(
-				array('', '2a', 60),
-				array('passwords.driver.bcrypt_2y', '2a', 60),
-				array('passwords.driver.bcrypt', '2a', 60),
-				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),
-			);
-		}
+		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()
 	{
-		if (version_compare(PHP_VERSION, '5.3.7', '<'))
-		{
-			return array(
-				array('passwords.driver.bcrypt'),
-				array('passwords.driver.salted_md5'),
-				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'),
-			);
-		}
+		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
-		$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);
 	}
 
@@ -200,79 +176,43 @@ class phpbb_passwords_manager_test extends \phpbb_test_case
 	public function test_hash_password_8bit_bcrypt()
 	{
 		$this->assertEquals(false, $this->manager->hash('foobar𝄞', 'passwords.driver.bcrypt'));
-		if (version_compare(PHP_VERSION, '5.3.7', '<'))
-		{
-			$this->assertEquals(false, $this->manager->hash('foobar𝄞', 'passwords.driver.bcrypt_2y'));
-		}
-		else
-		{
-			$this->assertNotEquals(false, $this->manager->hash('foobar𝄞', 'passwords.driver.bcrypt_2y'));
-		}
+		$this->assertNotEquals(false, $this->manager->hash('foobar𝄞', 'passwords.driver.bcrypt_2y'));
 	}
 
 	public function combined_hash_data()
 	{
-		if (version_compare(PHP_VERSION, '5.3.7', '<'))
-		{
-			return array(
-				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.phpass', 'passwords.driver.bcrypt'),
-				),
-				array(
-					'passwords.driver.salted_md5',
-					array('passwords.driver.salted_md5'),
-					false,
-				),
-				array(
-					'$H$',
-					array('$2a$'),
-				),
-			);
-		}
-		else
-		{
-			return array(
-				array(
-					'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$'),
-				),
-			);
-		}
+		return array(
+			array(
+				'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$'),
+			),
+		);
 	}
 
 	/**