Diff

plugins/mod_auth_internal_hashed.lua @ 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
parent 3335:f13306ce3417
child 3395:e736f68c1047
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);