Bug 5250 User update for changing password requires salt 70/34170/1
authorRyan Goulding <ryandgoulding@gmail.com>
Fri, 5 Feb 2016 15:18:54 +0000 (10:18 -0500)
committerRyan Goulding <ryandgoulding@gmail.com>
Fri, 5 Feb 2016 15:35:33 +0000 (15:35 +0000)
Allows re-use of existing salt.

Change-Id: I61bbfd1e7d5839efcee3754f7d29d2c70f3aa5f7
Signed-off-by: Ryan Goulding <ryandgoulding@gmail.com>
(cherry picked from commit da4610b0db64753e627b1ed12182c0581ab87298)

aaa-h2-store/src/main/java/org/opendaylight/aaa/h2/persistence/UserStore.java

index dc5e4c00d411fece7988b173381c0145a255a7e3..d364aa3ec9e66a21d76010c89744b8e671f6d6e5 100644 (file)
@@ -156,7 +156,12 @@ public class UserStore extends AbstractStore<User> {
             savedUser.setEmail(user.getEmail());
         }
         if (user.getPassword() != null) {
-            savedUser.setPassword(SHA256Calculator.getSHA256(user.getPassword(), user.getSalt()));
+            // If a new salt is provided, use it.  Otherwise, derive salt from existing.
+            String salt = user.getSalt();
+            if (salt == null) {
+                salt = savedUser.getSalt();
+            }
+            savedUser.setPassword(SHA256Calculator.getSHA256(user.getPassword(), salt));
         }
 
         String query = "UPDATE users SET email = ?, password = ?, description = ?, enabled = ? WHERE userid = ?";