summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@novemberain.com>2016-01-29 02:59:51 +0300
committerMichael Klishin <michael@novemberain.com>2016-01-29 02:59:51 +0300
commit548c1ca6bf34056f039febdbe395de50f39a2d06 (patch)
treeb76edaf9af5af22cec75cb235980085a5685df07
parent9af509002ca4d7634d845844571cf30385584efa (diff)
parent25f7e3d4f57b090584d879a8008c0e7af24c84a3 (diff)
downloadrabbitmq-server-git-548c1ca6bf34056f039febdbe395de50f39a2d06.tar.gz
Merge pull request #588 from rabbitmq/rabbitmq-management-117
Specify hash algorithm in change_password_hash
-rw-r--r--src/rabbit_auth_backend_internal.erl16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/rabbit_auth_backend_internal.erl b/src/rabbit_auth_backend_internal.erl
index 5bffdfade3..d7705d8e7b 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) ->
@@ -267,7 +275,7 @@ set_permissions(Username, VHostPath, ConfigurePerm, WritePerm, ReadPerm) ->
read = ReadPerm}},
write)
end)),
- rabbit_event:notify(permission_created, [{user, Username},
+ rabbit_event:notify(permission_created, [{user, Username},
{vhost, VHostPath},
{configure, ConfigurePerm},
{write, WritePerm},