diff options
author | Tobias Markmann <tm@ayena.de> | 2008-11-15 20:28:09 +0100 |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2008-11-15 20:28:09 +0100 |
commit | 0d8a36b732987a9cf82437acd513280c9faa4b08 (patch) | |
tree | 87cbb3360e4fa2ff91cbffded7c518137396f3fd /util | |
parent | 564d2da8d5616327f54cd4f145098969698ac952 (diff) | |
download | prosody-0d8a36b732987a9cf82437acd513280c9faa4b08.tar.gz prosody-0d8a36b732987a9cf82437acd513280c9faa4b08.zip |
Set username in a SASL object.
Diffstat (limited to 'util')
-rw-r--r-- | util/sasl.lua | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/util/sasl.lua b/util/sasl.lua index 8750ce98..430bfe5c 100644 --- a/util/sasl.lua +++ b/util/sasl.lua @@ -19,7 +19,9 @@ module "sasl" local function new_plain(realm, password_handler) local object = { mechanism = "PLAIN", realm = realm, password_handler = password_handler} object.feed = function(self, message) - log("debug", "feed: "..message) + --print(message:gsub("%W", function (c) return string.format("\\%d", string.byte(c)) end)); + + if message == "" or message == nil then return "failure", "malformed-request" end local response = message local authorization = s_match(response, "([^&%z]+)") local authentication = s_match(response, "%z([^&%z]+)%z") @@ -31,9 +33,12 @@ local function new_plain(realm, password_handler) if password_encoding == nil then claimed_password = password else claimed_password = password_encoding(password) end + self.username = authentication if claimed_password == correct_password then + log("debug", "success") return "success", nil else + log("debug", "failure") return "failure", "not-authorized" end end |