Software /
code /
prosody
Changeset
3389:9e2485880cd6
mod_auth_internal_hashed: Fixed SCRAM-SHA-1 mechanism to not traceback on non-existent users.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Sat, 17 Jul 2010 19:34:06 +0500 |
parents | 3386:526b86cfbb17 |
children | 3390:a88576f675cb |
files | plugins/mod_auth_internal_hashed.lua |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/mod_auth_internal_hashed.lua Sat Jul 17 19:02:56 2010 +0500 +++ b/plugins/mod_auth_internal_hashed.lua Sat Jul 17 19:34:06 2010 +0500 @@ -144,10 +144,12 @@ return usermanager.test_password(prepped_username, password, realm), true; end, scram_sha_1 = function(username, realm) - local credentials = datamanager.load(username, host, "accounts") or {}; + local credentials = datamanager.load(username, host, "accounts"); + if not credentials then return; end if credentials.password then usermanager.set_password(username, credentials.password, host); - credentials = datamanager.load(username, host, "accounts") or {}; + credentials = datamanager.load(username, host, "accounts"); + if not credentials then return; end end -- convert hexpass to stored_key and server_key @@ -159,7 +161,7 @@ credentials.hashpass = nil datamanager.store(username, host, "accounts", credentials); end - + local stored_key, server_key, iteration_count, salt = credentials.stored_key, credentials.server_key, credentials.iteration_count, credentials.salt; stored_key = stored_key and from_hex(stored_key); server_key = server_key and from_hex(server_key);