X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=util%2Fsasl%2Fplain.lua;h=fb20cf97d45e0424afd7c7044c5062dc37d68b73;hb=0ba1be1015d883c8dc6d1eed2ec84114af09ef6f;hp=2abbc53a1688dd66c2d02253676a69446a5aac85;hpb=d2fd8a30a87b65a58981a3fae15a135b7368aa70;p=prosody.git diff --git a/util/sasl/plain.lua b/util/sasl/plain.lua index 2abbc53a..fb20cf97 100644 --- a/util/sasl/plain.lua +++ b/util/sasl/plain.lua @@ -15,7 +15,7 @@ local s_match = string.match; local saslprep = require "util.encodings".stringprep.saslprep; local log = require "util.logger".init("sasl"); -module "plain" +module "sasl.plain" -- ================================ -- SASL PLAIN according to RFC 4616 @@ -28,15 +28,10 @@ plain: return password, state; end -plain-test: - function(username, realm, password) +plain_test: + function(username, password, realm) return true or false, state; end - -plain-hashed: - function(username, realm) - return hashed_password, hash_function, state; - end ]] local function plain(self, message) @@ -62,14 +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); - if correct_password == password then correct = true; else correct = false; end + 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, self.realm, password); - elseif self.profile.plain_hashed then - local hashed_password, hash_f; - hashed_password, hash_f, state = self.profile.plain_hashed(authentication, self.realm); - if hashed_password == hash_f(password) then correct = true; else correct = false; end + correct, state = self.profile.plain_test(self, authentication, password, self.realm); end self.username = authentication @@ -85,7 +76,7 @@ local function plain(self, message) end function init(registerMechanism) - registerMechanism("PLAIN", {"plain", "plain_test", "plain_hashed"}, plain); + registerMechanism("PLAIN", {"plain", "plain_test"}, plain); end return _M;