# HG changeset patch # User Waqas Hussain # Date 1279377246 -18000 # Node ID 9e2485880cd6e4650c51d69251eeaefdf2419427 # Parent 526b86cfbb17d77ac332794d4f82c616a0fe3f68 mod_auth_internal_hashed: Fixed SCRAM-SHA-1 mechanism to not traceback on non-existent users. diff -r 526b86cfbb17 -r 9e2485880cd6 plugins/mod_auth_internal_hashed.lua --- 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);