Merge pull request #11568 from nextcloud/fix/11097/just_update_password_hash

Just update password hash without validating
This commit is contained in:
Morris Jobke 2018-10-03 12:08:49 +02:00 committed by GitHub
commit 213d43f043
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 8 deletions

View File

@ -176,6 +176,16 @@ class Database extends ABackend
return $result ? true : false;
}
private function updatePassword(string $uid, string $passwordHash): bool {
$query = $this->dbConn->getQueryBuilder();
$query->update($this->table)
->set('password', $query->createNamedParameter($passwordHash))
->where($query->expr()->eq('uid_lower', $query->createNamedParameter(mb_strtolower($uid))));
$result = $query->execute();
return $result ? true : false;
}
/**
* Set password
*
@ -195,13 +205,7 @@ class Database extends ABackend
$hasher = \OC::$server->getHasher();
$hashedPassword = $hasher->hash($password);
$query = $this->dbConn->getQueryBuilder();
$query->update($this->table)
->set('password', $query->createNamedParameter($hashedPassword))
->where($query->expr()->eq('uid_lower', $query->createNamedParameter(mb_strtolower($uid))));
$result = $query->execute();
return $result ? true : false;
return $this->updatePassword($uid, $hashedPassword);
}
return false;
@ -314,7 +318,7 @@ class Database extends ABackend
$newHash = '';
if (\OC::$server->getHasher()->verify($password, $storedHash, $newHash)) {
if (!empty($newHash)) {
$this->setPassword($uid, $password);
$this->updatePassword($uid, $newHash);
}
return (string)$row['uid'];
}