[ticket/14733] Use new interface to preserve backwards compatibility

PHPBB3-14733
This commit is contained in:
Marc Alexander 2016-09-25 18:00:49 +02:00
parent 297376ee94
commit d15269950d
No known key found for this signature in database
GPG key ID: 50E0D2423696F995
3 changed files with 79 additions and 10 deletions

View file

@ -13,7 +13,7 @@
namespace phpbb\passwords\driver; namespace phpbb\passwords\driver;
abstract class base implements driver_interface abstract class base implements rehashable_driver_interface
{ {
/** @var \phpbb\config\config */ /** @var \phpbb\config\config */
protected $config; protected $config;
@ -21,7 +21,7 @@ abstract class base implements driver_interface
/** @var \phpbb\passwords\driver\helper */ /** @var \phpbb\passwords\driver\helper */
protected $helper; protected $helper;
/** @var driver name */ /** @var string Driver name */
protected $name; protected $name;
/** /**

View file

@ -29,14 +29,6 @@ interface driver_interface
*/ */
public function is_legacy(); public function is_legacy();
/**
* Check if password needs to be rehashed
*
* @param string $hash Hash to check for rehash
* @return bool True if password needs to be rehashed, false if not
*/
public function needs_rehash($hash);
/** /**
* Returns the hash prefix * Returns the hash prefix
* *

View file

@ -0,0 +1,77 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\passwords\driver;
interface rehashable_driver_interface
{
/**
* Check if hash type is supported
*
* @return bool True if supported, false if not
*/
public function is_supported();
/**
* Check if hash type is a legacy hash type
*
* @return bool True if it's a legacy hash type, false if not
*/
public function is_legacy();
/**
* Check if password needs to be rehashed
*
* @param string $hash Hash to check for rehash
* @return bool True if password needs to be rehashed, false if not
*/
public function needs_rehash($hash);
/**
* Returns the hash prefix
*
* @return string Hash prefix
*/
public function get_prefix();
/**
* Hash the password
*
* @param string $password The password that should be hashed
*
* @return bool|string Password hash or false if something went wrong
* during hashing
*/
public function hash($password);
/**
* Check the password against the supplied hash
*
* @param string $password The password to check
* @param string $hash The password hash to check against
* @param array $user_row User's row in users table
*
* @return bool True if password is correct, else false
*/
public function check($password, $hash, $user_row = array());
/**
* Get only the settings of the specified hash
*
* @param string $hash Password hash
* @param bool $full Return full settings or only settings
* related to the salt
* @return string String containing the hash settings
*/
public function get_settings_only($hash, $full = false);
}