From 22f0ba528f7b579868b793664cf9c7875b788fd1 Mon Sep 17 00:00:00 2001
From: Angie Byron <webchick@24967.no-reply.drupal.org>
Date: Tue, 28 Dec 2010 21:46:23 +0000
Subject: [PATCH] #1007504 by carlos8f, pioterw: Fixed Rehashed passwords after
 Drupal 6 upgrade fail

---
 modules/simpletest/tests/upgrade/upgrade.test | 9 +++++++++
 modules/user/user.module                      | 5 +----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/modules/simpletest/tests/upgrade/upgrade.test b/modules/simpletest/tests/upgrade/upgrade.test
index 0b48db507d53..263baff4896f 100644
--- a/modules/simpletest/tests/upgrade/upgrade.test
+++ b/modules/simpletest/tests/upgrade/upgrade.test
@@ -378,6 +378,15 @@ class BasicUpgradePath extends UpgradePathTestCase {
       'pass_raw' => 'admin',
     ));
 
+    // The previous login should've triggered a password rehash, so login one
+    // more time to make sure the new hash is readable.
+    $this->drupalLogout();
+    $this->drupalLogin((object) array(
+      'uid' => 1,
+      'name' => 'admin',
+      'pass_raw' => 'admin',
+    ));
+
     // Test that the site name is correctly displayed.
     $this->assertText('Drupal 6', t('The site name is correctly displayed.'));
 
diff --git a/modules/user/user.module b/modules/user/user.module
index 21272477536b..b7ebfdd1007a 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -2180,10 +2180,7 @@ function user_authenticate($name, $password) {
 
         // Update user to new password scheme if needed.
         if (user_needs_new_hash($account)) {
-          $new_hash = user_hash_password($password);
-          if ($new_hash) {
-            user_save($account, array('pass' => $new_hash));
-          }
+          user_save($account, array('pass' => $password));
         }
       }
     }
-- 
GitLab