From 92762c1f5296cd6e202d86b3ab67a4e66ecd5636 Mon Sep 17 00:00:00 2001 From: Ryan Goulding Date: Fri, 5 Feb 2016 10:18:54 -0500 Subject: [PATCH] Bug 5250 User update for changing password requires salt Allows re-use of existing salt. Change-Id: I61bbfd1e7d5839efcee3754f7d29d2c70f3aa5f7 Signed-off-by: Ryan Goulding (cherry picked from commit da4610b0db64753e627b1ed12182c0581ab87298) --- .../org/opendaylight/aaa/h2/persistence/UserStore.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/aaa-h2-store/src/main/java/org/opendaylight/aaa/h2/persistence/UserStore.java b/aaa-h2-store/src/main/java/org/opendaylight/aaa/h2/persistence/UserStore.java index dc5e4c00d..d364aa3ec 100644 --- a/aaa-h2-store/src/main/java/org/opendaylight/aaa/h2/persistence/UserStore.java +++ b/aaa-h2-store/src/main/java/org/opendaylight/aaa/h2/persistence/UserStore.java @@ -156,7 +156,12 @@ public class UserStore extends AbstractStore { 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 = ?"; -- 2.36.6