}
// Authenticates the user
- if (!$this->validateUserPass($userpass[0],$userpass[1])) {
+ if (!$this->validateUserPass($userpass[0], $userpass[1])) {
$auth->requireLogin();
throw new Sabre_DAV_Exception_NotAuthenticated('Username or password does not match');
}
* @param string $password
* @return bool
*/
- protected function validateUserPass($username, $password) {
- $encrypted = hash('whirlpool',trim($password));
- $r = q("SELECT COUNT(*) anz FROM `user` WHERE `nickname` = '%s' AND `password` = '%s' AND `blocked` = 0 AND `account_expired` = 0 AND `verified` = 1 LIMIT 1",
- dbesc(trim($username)),
- dbesc($encrypted)
- );
- return ($r[0]["anz"] == 1);
- }
-
+ protected function validateUserPass($username, $password)
+ {
+ return User::authenticate($username, $password);
+ }
}
if ($encrypt) {
// check that Jabber password was encrypted with correct Friendica password
$friendica_password = trim($b['jappixmini-friendica-password']);
- $encrypted = hash('whirlpool',$friendica_password);
- $r = q("SELECT * FROM `user` WHERE `uid`=$uid AND `password`='%s'",
- dbesc($encrypted)
- );
- if (!count($r)) {
+ if (!User::authenticate((int) $uid, $friendica_password)) {
info("Wrong friendica password!");
return;
}
die('This api requires login');
}
- $user = $_SERVER['PHP_AUTH_USER'];
- $encrypted = hash('whirlpool',trim($_SERVER['PHP_AUTH_PW']));
-
- // check if user specified by app is available in the user table
- $r = q("SELECT * FROM `user` WHERE ( `email` = '%s' OR `nickname` = '%s' )
- AND `password` = '%s' AND `blocked` = 0 AND `account_expired` = 0 AND `account_removed` = 0 AND `verified` = 1 LIMIT 1",
- dbesc(trim($user)),
- dbesc(trim($user)),
- dbesc($encrypted)
- );
+ $user_id = User::authenticate($_SERVER['PHP_AUTH_USER'], trim($_SERVER['PHP_AUTH_PW']));
- if(count($r)){
- $record = $r[0];
+ if ($user_id) {
+ $record = dba::select('user', [], ['uid' => $user_id], ['limit' => 1]);
} else {
logger('API_login failure: ' . print_r($_SERVER, true), LOGGER_DEBUG);
header('WWW-Authenticate: Basic realm="Friendica"');