Skip to content
Snippets Groups Projects
Commit a1f9aa07 authored by Jared Hancock's avatar Jared Hancock
Browse files

Merge pull request #219 from protich/issue/218


Remove forced password change on upgrade

Reviewed-by: default avatarJared Hancock <jared@osticket.com>
parents 42fac55f 73761d45
No related branches found
No related tags found
No related merge requests found
...@@ -82,20 +82,28 @@ class Staff { ...@@ -82,20 +82,28 @@ class Staff {
} }
/*compares user password*/ /*compares user password*/
function check_passwd($password) { function check_passwd($password, $autoupdate=true) {
/*bcrypt based password match*/ /*bcrypt based password match*/
if(Passwd::cmp($password, $this->getPasswd())) if(Passwd::cmp($password, $this->getPasswd()))
return true; return true;
/*Fall back to MD5 && force a password reset if it matches*/ //Fall back to MD5
if(strlen($this->getPasswd()) && !strcmp($this->getPasswd(), MD5($password))) { if(!$password || strcmp($this->getPasswd(), MD5($password)))
return false;
//Password is a MD5 hash: rehash it (if enabled) otherwise force passwd change.
$sql='UPDATE '.STAFF_TABLE.' SET passwd='.db_input(Passwd::hash($password))
.' WHERE staff_id='.db_input($this->getId());
if(!$autoupdate || !db_query($sql))
$this->forcePasswdRest(); $this->forcePasswdRest();
return true; return true;
} }
return false; function cmp_passwd($password) {
return $this->check_passwd($password, false);
} }
function forcePasswdRest() { function forcePasswdRest() {
...@@ -406,7 +414,7 @@ class Staff { ...@@ -406,7 +414,7 @@ class Staff {
if(!$vars['cpasswd']) if(!$vars['cpasswd'])
$errors['cpasswd']='Current password required'; $errors['cpasswd']='Current password required';
elseif(!$this->check_passwd($vars['cpasswd'])) elseif(!$this->cmp_passwd($vars['cpasswd']))
$errors['cpasswd']='Invalid current password!'; $errors['cpasswd']='Invalid current password!';
elseif(!strcasecmp($vars['passwd1'], $vars['cpasswd'])) elseif(!strcasecmp($vars['passwd1'], $vars['cpasswd']))
$errors['passwd1']='New password MUST be different from the current password!'; $errors['passwd1']='New password MUST be different from the current password!';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment