When passwords are scrammed, report check_password_hash cannot work (#559)

This commit is contained in:
Badlop 2015-06-25 13:39:45 +02:00
parent 72f35a6dc6
commit 4ae1b4db03
1 changed files with 7 additions and 3 deletions

View File

@ -515,12 +515,16 @@ set_password(User, Host, Password) ->
%% Copied some code from ejabberd_commands.erl
check_password_hash(User, Host, PasswordHash, HashMethod) ->
AccountPass = ejabberd_auth:get_password_s(User, Host),
AccountPassHash = case HashMethod of
"md5" -> get_md5(AccountPass);
"sha" -> get_sha(AccountPass);
AccountPassHash = case {AccountPass, HashMethod} of
{A, _} when is_tuple(A) -> scrammed;
{_, "md5"} -> get_md5(AccountPass);
{_, "sha"} -> get_sha(AccountPass);
_ -> undefined
end,
case AccountPassHash of
scrammed ->
?ERROR_MSG("Passwords are scrammed, and check_password_hash can not work.", []),
throw(passwords_scrammed_command_cannot_work);
undefined -> error;
PasswordHash -> ok;
_ -> error