Software /
code /
prosody
Changeset
1487:66f18c18befa
Merge with main branch.
author | Tobias Markmann <tm@ayena.de> |
---|---|
date | Sun, 05 Jul 2009 19:05:25 +0200 |
parents | 1486:3e04efa8af7e (diff) 1483:efd19cdda6ca (current diff) |
children | 1489:4da0131a5ccb |
files | |
diffstat | 2 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/mod_saslauth.lua Sun Jul 05 17:36:27 2009 +0100 +++ b/plugins/mod_saslauth.lua Sun Jul 05 19:05:25 2009 +0200 @@ -12,7 +12,6 @@ local sm_bind_resource = require "core.sessionmanager".bind_resource; local sm_make_authenticated = require "core.sessionmanager".make_authenticated; local base64 = require "util.encodings".base64; -local to_unicode = require "util.encodings".idna.to_unicode; local datamanager_load = require "util.datamanager".load; local usermanager_validate_credentials = require "core.usermanager".validate_credentials; @@ -66,13 +65,13 @@ end local function password_callback(node, hostname, realm, mechanism, decoder) - local password = (datamanager_load(node, to_unicode(hostname), "accounts") or {}).password; -- FIXME handle hashed passwords + local password = (datamanager_load(node, hostname, "accounts") or {}).password; -- FIXME handle hashed passwords local func = function(x) return x; end; if password then if mechanism == "PLAIN" then return func, password; elseif mechanism == "DIGEST-MD5" then - if decoder then node, hostname, password = decoder(node), decoder(hostname), decoder(password); end + if decoder then node, realm, password = decoder(node), decoder(realm), decoder(password); end return func, md5(node..":"..realm..":"..password); end end
--- a/util/sasl.lua Sun Jul 05 17:36:27 2009 +0100 +++ b/util/sasl.lua Sun Jul 05 19:05:25 2009 +0200 @@ -19,6 +19,7 @@ local generate_uuid = require "util.uuid".generate; local t_insert, t_concat = table.insert, table.concat; local to_byte, to_char = string.byte, string.char; +local to_unicode = require "util.encodings".idna.to_unicode; local s_match = string.match; local gmatch = string.gmatch local string = string @@ -199,7 +200,7 @@ --TODO maybe realm support self.username = response["username"]; - local password_encoding, Y = self.password_handler(response["username"], domain, response["realm"], "DIGEST-MD5", decoder); + local password_encoding, Y = self.password_handler(response["username"], to_unicode(domain), response["realm"], "DIGEST-MD5", decoder); if Y == nil then return "failure", "not-authorized" elseif Y == false then return "failure", "account-disabled" end local A1 = "";