Diff

plugins/mod_auth_internal_plain.lua @ 5115:3939960b3c07

mod_auth_{internal_plain,cyrus,anonymous}: Get rid of useless wrapper function new_default_provider.
author Waqas Hussain <waqas20@gmail.com>
date Wed, 12 Sep 2012 21:32:12 +0500
parent 4762:943f9f860ab4
child 5117:2c7e1ce8f482
line wrap: on
line diff
--- a/plugins/mod_auth_internal_plain.lua	Wed Sep 05 16:51:16 2012 +0200
+++ b/plugins/mod_auth_internal_plain.lua	Wed Sep 12 21:32:12 2012 +0500
@@ -12,73 +12,71 @@
 local nodeprep = require "util.encodings".stringprep.nodeprep;
 
 local log = module._log;
-
-function new_default_provider(host)
-	local provider = { name = "internal_plain" };
-	log("debug", "initializing internal_plain authentication provider for host '%s'", host);
+local host = module.host;
 
-	function provider.test_password(username, password)
-		log("debug", "test password '%s' for user %s at host %s", password, username, module.host);
-		local credentials = datamanager.load(username, host, "accounts") or {};
-	
-		if password == credentials.password then
-			return true;
-		else
-			return nil, "Auth failed. Invalid username or password.";
-		end
-	end
+-- define auth provider
+local provider = { name = "internal_plain" };
+log("debug", "initializing internal_plain authentication provider for host '%s'", host);
 
-	function provider.get_password(username)
-		log("debug", "get_password for username '%s' at host '%s'", username, module.host);
-		return (datamanager.load(username, host, "accounts") or {}).password;
-	end
-	
-	function provider.set_password(username, password)
-		local account = datamanager.load(username, host, "accounts");
-		if account then
-			account.password = password;
-			return datamanager.store(username, host, "accounts", account);
-		end
-		return nil, "Account not available.";
-	end
+function provider.test_password(username, password)
+	log("debug", "test password '%s' for user %s at host %s", password, username, host);
+	local credentials = datamanager.load(username, host, "accounts") or {};
 
-	function provider.user_exists(username)
-		local account = datamanager.load(username, host, "accounts");
-		if not account then
-			log("debug", "account not found for username '%s' at host '%s'", username, module.host);
-			return nil, "Auth failed. Invalid username";
-		end
+	if password == credentials.password then
 		return true;
+	else
+		return nil, "Auth failed. Invalid username or password.";
 	end
-
-	function provider.create_user(username, password)
-		return datamanager.store(username, host, "accounts", {password = password});
-	end
-	
-	function provider.delete_user(username)
-		return datamanager.store(username, host, "accounts", nil);
-	end
+end
 
-	function provider.get_sasl_handler()
-		local getpass_authentication_profile = {
-			plain = function(sasl, username, realm)
-				local prepped_username = nodeprep(username);
-				if not prepped_username then
-					log("debug", "NODEprep failed on username: %s", username);
-					return "", nil;
-				end
-				local password = usermanager.get_password(prepped_username, realm);
-				if not password then
-					return "", nil;
-				end
-				return password, true;
-			end
-		};
-		return new_sasl(module.host, getpass_authentication_profile);
+function provider.get_password(username)
+	log("debug", "get_password for username '%s' at host '%s'", username, host);
+	return (datamanager.load(username, host, "accounts") or {}).password;
+end
+
+function provider.set_password(username, password)
+	local account = datamanager.load(username, host, "accounts");
+	if account then
+		account.password = password;
+		return datamanager.store(username, host, "accounts", account);
 	end
-	
-	return provider;
+	return nil, "Account not available.";
 end
 
-module:add_item("auth-provider", new_default_provider(module.host));
+function provider.user_exists(username)
+	local account = datamanager.load(username, host, "accounts");
+	if not account then
+		log("debug", "account not found for username '%s' at host '%s'", username, host);
+		return nil, "Auth failed. Invalid username";
+	end
+	return true;
+end
+
+function provider.create_user(username, password)
+	return datamanager.store(username, host, "accounts", {password = password});
+end
+
+function provider.delete_user(username)
+	return datamanager.store(username, host, "accounts", nil);
+end
 
+function provider.get_sasl_handler()
+	local getpass_authentication_profile = {
+		plain = function(sasl, username, realm)
+			local prepped_username = nodeprep(username);
+			if not prepped_username then
+				log("debug", "NODEprep failed on username: %s", username);
+				return "", nil;
+			end
+			local password = usermanager.get_password(prepped_username, realm);
+			if not password then
+				return "", nil;
+			end
+			return password, true;
+		end
+	};
+	return new_sasl(host, getpass_authentication_profile);
+end
+	
+module:add_item("auth-provider", provider);
+