summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Fedotov <dfedotov@pivotal.io>2016-01-28 15:17:06 +0000
committerDaniil Fedotov <dfedotov@pivotal.io>2016-01-28 15:17:06 +0000
commitf1f28eac1bc955580bbead82721d75c45e69999d (patch)
treed9bf07b73b64ee805f8a7cb1676d628fb8e3da02
parent9af509002ca4d7634d845844571cf30385584efa (diff)
downloadrabbitmq-server-git-f1f28eac1bc955580bbead82721d75c45e69999d.tar.gz
Specify hash algorithm in change_password_hash
-rw-r--r--src/rabbit_auth_backend_internal.erl14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/rabbit_auth_backend_internal.erl b/src/rabbit_auth_backend_internal.erl
index 5bffdfade3..85ff1675f0 100644
--- a/src/rabbit_auth_backend_internal.erl
+++ b/src/rabbit_auth_backend_internal.erl
@@ -25,7 +25,7 @@
-export([add_user/2, delete_user/1, lookup_user/1,
change_password/2, clear_password/1,
- hash_password/2, change_password_hash/2,
+ hash_password/2, change_password_hash/2, change_password_hash/3,
set_tags/2, set_permissions/5, clear_permissions/2]).
-export([user_info_keys/0, perms_info_keys/0,
user_perms_info_keys/0, vhost_perms_info_keys/0,
@@ -211,8 +211,11 @@ lookup_user(Username) ->
change_password(Username, Password) ->
rabbit_log:info("Changing password for '~s'~n", [Username]),
+ HashingAlgorithm = rabbit_password:hashing_mod(),
R = change_password_hash(Username,
- hash_password(rabbit_password:hashing_mod(), Password)),
+ hash_password(rabbit_password:hashing_mod(),
+ Password),
+ HashingAlgorithm),
rabbit_event:notify(user_password_changed, [{name, Username}]),
R.
@@ -226,9 +229,14 @@ hash_password(HashingMod, Cleartext) ->
rabbit_password:hash(HashingMod, Cleartext).
change_password_hash(Username, PasswordHash) ->
+ change_password_hash(Username, PasswordHash, rabbit_password:hashing_mod()).
+
+
+change_password_hash(Username, PasswordHash, HashingAlgorithm) ->
update_user(Username, fun(User) ->
User#internal_user{
- password_hash = PasswordHash }
+ password_hash = PasswordHash,
+ hashing_algorithm = HashingAlgorithm }
end).
set_tags(Username, Tags) ->