util.sasl.*, mod_auth_*, mod_saslauth: Pass SASL handler as first parameter to SASL...
authorWaqas Hussain <waqas20@gmail.com>
Mon, 27 Dec 2010 14:57:04 +0000 (19:57 +0500)
committerWaqas Hussain <waqas20@gmail.com>
Mon, 27 Dec 2010 14:57:04 +0000 (19:57 +0500)
plugins/mod_auth_anonymous.lua
plugins/mod_auth_internal_hashed.lua
plugins/mod_auth_internal_plain.lua
plugins/mod_saslauth.lua
util/sasl/anonymous.lua
util/sasl/digest-md5.lua
util/sasl/plain.lua
util/sasl/scram.lua

index 0741a1581f38a726a19bc31c8e9a2f73e5149427..9d0896e5b16e8a7c25ff5c88c0a6eca78c6fcd4e 100644 (file)
@@ -36,7 +36,7 @@ function new_default_provider(host)
        function provider.get_sasl_handler()
                local realm = module:get_option("sasl_realm") or module.host;
                local anonymous_authentication_profile = {
-                       anonymous = function(username, realm)
+                       anonymous = function(sasl, username, realm)
                                return true; -- for normal usage you should always return true here
                        end
                };
index 300bebf80f02e79562d71dd971ef8e675885e01a..ec8da9abc41f1ecea4f49cb48bb923e0131c9a3d 100644 (file)
@@ -138,7 +138,7 @@ function new_hashpass_provider(host)
        function provider.get_sasl_handler()
                local realm = module:get_option("sasl_realm") or module.host;
                local testpass_authentication_profile = {
-                       plain_test = function(username, password, realm)
+                       plain_test = function(sasl, username, password, realm)
                                local prepped_username = nodeprep(username);
                                if not prepped_username then
                                        log("debug", "NODEprep failed on username: %s", username);
@@ -146,7 +146,7 @@ function new_hashpass_provider(host)
                                end
                                return usermanager.test_password(prepped_username, realm, password), true;
                        end,
-                       scram_sha_1 = function(username, realm)
+                       scram_sha_1 = function(sasl, username, realm)
                                local credentials = datamanager.load(username, host, "accounts");
                                if not credentials then return; end
                                if credentials.password then
index 4cf0edb69d056dfcf47bcdb4fe31cbcd84e2c916..3721781b8bde0c3de091132cd1fc017fd7830e4d 100644 (file)
@@ -66,7 +66,7 @@ function new_default_provider(host)
        function provider.get_sasl_handler()
                local realm = module:get_option("sasl_realm") or module.host;
                local getpass_authentication_profile = {
-                       plain = function(username, realm)
+                       plain = function(sasl, username, realm)
                                local prepped_username = nodeprep(username);
                                if not prepped_username then
                                        log("debug", "NODEprep failed on username: %s", username);
index f9b9dc9b7f2e96fa83f7fa18f149e206920cb722..03ea6c8a58b8121caa99f8380b808822ae11f5dc 100644 (file)
@@ -34,7 +34,7 @@ local xmlns_stanzas ='urn:ietf:params:xml:ns:xmpp-stanzas';
 local new_sasl = require "util.sasl".new;
 
 local anonymous_authentication_profile = {
-       anonymous = function(username, realm)
+       anonymous = function(sasl, username, realm)
                return true; -- for normal usage you should always return true here
        end
 };
index 6e6f0949414b86d47ddf55794f0b4144aa64e0f0..b9af17fe0fa0bce466b25af2fb4b6374ce4fb12c 100644 (file)
@@ -34,7 +34,7 @@ local function anonymous(self, message)
        local username;
        repeat
                username = generate_uuid();
-       until self.profile.anonymous(username, self.realm);
+       until self.profile.anonymous(self, username, self.realm);
        self.username = username;
        return "success"
 end
index 2837148ec4723270b92d11b30ac551299e230184..6f2c765ec7398a61eb414fc0c466ac5a89144987 100644 (file)
@@ -181,12 +181,12 @@ local function digest(self, message)
                self.username = response["username"];
                local Y, state;
                if self.profile.plain then
-                       local password, state = self.profile.plain(response["username"], self.realm)
+                       local password, state = self.profile.plain(self, response["username"], self.realm)
                        if state == nil then return "failure", "not-authorized"
                        elseif state == false then return "failure", "account-disabled" end
                        Y = md5(response["username"]..":"..response["realm"]..":"..password);
                elseif self.profile["digest-md5"] then
-                       Y, state = self.profile["digest-md5"](response["username"], self.realm, response["realm"], response["charset"])
+                       Y, state = self.profile["digest-md5"](self, response["username"], self.realm, response["realm"], response["charset"])
                        if state == nil then return "failure", "not-authorized"
                        elseif state == false then return "failure", "account-disabled" end
                elseif self.profile["digest-md5-test"] then
index 1a2ba01e406ac1a2b7f63f81fea28c1b3116e7f6..d6ebe304a10ef080eb0ffe94063100658791f0fd 100644 (file)
@@ -57,10 +57,10 @@ local function plain(self, message)
        local correct, state = false, false;
        if self.profile.plain then
                local correct_password;
-               correct_password, state = self.profile.plain(authentication, self.realm);
+               correct_password, state = self.profile.plain(self, authentication, self.realm);
                correct = (correct_password == password);
        elseif self.profile.plain_test then
-               correct, state = self.profile.plain_test(authentication, password, self.realm);
+               correct, state = self.profile.plain_test(self, authentication, password, self.realm);
        end
 
        self.username = authentication
index c846a7d12fb60f472b8007754b1394e67eb29675..530ef5a005614837b2edd440b9df120b8cc203a3 100644 (file)
@@ -143,7 +143,7 @@ local function scram_gen(hash_name, H_f, HMAC_f)
                        
                        -- retreive credentials
                        if self.profile.plain then
-                               local password, state = self.profile.plain(self.state.name, self.realm)
+                               local password, state = self.profile.plain(self, self.state.name, self.realm)
                                if state == nil then return "failure", "not-authorized"
                                elseif state == false then return "failure", "account-disabled" end
                                
@@ -163,7 +163,7 @@ local function scram_gen(hash_name, H_f, HMAC_f)
                                        return "failure", "temporary-auth-failure";
                                end
                        elseif self.profile["scram_"..hashprep(hash_name)] then
-                               local stored_key, server_key, iteration_count, salt, state = self.profile["scram_"..hashprep(hash_name)](self.state.name, self.realm);
+                               local stored_key, server_key, iteration_count, salt, state = self.profile["scram_"..hashprep(hash_name)](self, self.state.name, self.realm);
                                if state == nil then return "failure", "not-authorized"
                                elseif state == false then return "failure", "account-disabled" end