]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/User.php
Fix for issue 4994: Feed items now appear again
[friendica.git] / src / Model / User.php
index 1df7e5ef4e4ffb5426b1405b722aa9509127d664..41d26ee19d66f4c27d3b3a885f086564d9e466c0 100644 (file)
@@ -127,13 +127,23 @@ class User
        {
                $user = self::getAuthenticationInfo($user_info);
 
-               if ($user['legacy_password']) {
+               if (strpos($user['password'], '$') === false) {
+                       //Legacy hash that has not been replaced by a new hash yet
+                       if (self::hashPasswordLegacy($password) === $user['password']) {
+                               self::updatePassword($user['uid'], $password);
+
+                               return $user['uid'];
+                       }
+               } elseif (!empty($user['legacy_password'])) {
+                       //Legacy hash that has been double-hashed and not replaced by a new hash yet
+                       //Warning: `legacy_password` is not necessary in sync with the content of `password`
                        if (password_verify(self::hashPasswordLegacy($password), $user['password'])) {
                                self::updatePassword($user['uid'], $password);
 
                                return $user['uid'];
                        }
                } elseif (password_verify($password, $user['password'])) {
+                       //New password hash
                        if (password_needs_rehash($user['password'], PASSWORD_DEFAULT)) {
                                self::updatePassword($user['uid'], $password);
                        }
@@ -248,6 +258,10 @@ class User
         */
        public static function hashPassword($password)
        {
+               if (!trim($password)) {
+                       throw new Exception(L10n::t('Password can\'t be empty'));
+               }
+
                return password_hash($password, PASSWORD_DEFAULT);
        }
 
@@ -614,11 +628,12 @@ class User
                '));
                $body = deindent(L10n::t('
                        The login details are as follows:
-                               Site Location:  %3$s
-                               Login Name:     %1$s
-                               Password:       %5$s
 
-                       You may change your password from your account Settings page after logging
+                       Site Location:  %3$s
+                       Login Name:             %1$s
+                       Password:               %5$s
+
+                       You may change your password from your account "Settings" page after logging
                        in.
 
                        Please take a few moments to review the other account settings on that page.
@@ -627,7 +642,7 @@ class User
                        ' . "\x28" . 'on the "Profiles" page' . "\x29" . ' so that other people can easily find you.
 
                        We recommend setting your full name, adding a profile photo,
-                       adding some profile keywords ' . "\x28" . 'very useful in making new friends' . "\x29" . ' - and
+                       adding some profile "keywords" ' . "\x28" . 'very useful in making new friends' . "\x29" . ' - and
                        perhaps what country you live in; if you do not wish to be more specific
                        than that.
 
@@ -635,6 +650,7 @@ class User
                        If you are new and do not know anybody here, they may help
                        you to make some new and interesting friends.
 
+                       If you ever want to delete your account, you can do so at %3$s/removeme
 
                        Thank you and welcome to %2$s.'));