added function to check if Unix password is lockable
This commit is contained in:
parent
c93300aae5
commit
a778162d5b
|
@ -268,6 +268,20 @@ function pwd_disable($hash) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a Unix password can be locked.
|
||||||
|
* This checks if the password is not plain text but e.g. contains {SSHA}.
|
||||||
|
*
|
||||||
|
* @param String $password password value
|
||||||
|
* @return boolean can be locked
|
||||||
|
*/
|
||||||
|
function pwd_is_lockable($password) {
|
||||||
|
if (($password == null) || (strlen($password) < 5)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return ((substr($password, 0, 1) == "{") || (substr($password, 1, 1) == "{")) && (strpos($password, "}") > 3);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if a password hash is enabled/disabled
|
* Checks if a password hash is enabled/disabled
|
||||||
*
|
*
|
||||||
|
|
|
@ -2723,7 +2723,7 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
* This is the case if a hashed password is set ("{" at the beginning).
|
* This is the case if a hashed password is set ("{" at the beginning).
|
||||||
*/
|
*/
|
||||||
public function isLockable() {
|
public function isLockable() {
|
||||||
if (isset($this->attributes['userPassword'][0]) && ((substr($this->attributes['userPassword'][0], 0, 1) == "{") || (substr($this->attributes['userPassword'][0], 1, 1) == "{"))) {
|
if (isset($this->attributes['userPassword'][0]) && pwd_is_lockable($this->attributes['userPassword'][0])) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue