aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mod_saslauth.lua9
1 files changed, 7 insertions, 2 deletions
diff --git a/plugins/mod_saslauth.lua b/plugins/mod_saslauth.lua
index 52ef68c7..9884ec5c 100644
--- a/plugins/mod_saslauth.lua
+++ b/plugins/mod_saslauth.lua
@@ -41,11 +41,13 @@ local new_sasl = require "util.sasl".new;
local function build_reply(status, ret, err_msg)
local reply = st.stanza(status, {xmlns = xmlns_sasl});
if status == "challenge" then
+ log("challenge", ret or "");
reply:text(base64.encode(ret or ""));
elseif status == "failure" then
reply:tag(ret):up();
if err_msg then reply:tag("text"):text(err_msg); end
elseif status == "success" then
+ log("success", ret or "");
reply:text(base64.encode(ret or ""));
else
error("Unknown sasl status: "..status);
@@ -65,13 +67,15 @@ local function handle_status(session, status)
end
local function password_callback(node, host, mechanism, raw_host)
- local password = (datamanager.load(node, host, "accounts") or {}).password; -- FIXME handle hashed passwords
+ log("host", host);
+ log("raw_host", raw_host);
+ local password = (datamanager.load(node, raw_host, "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
- return func, md5(node..":"..raw_host..":"..password);
+ return func, md5(node..":"..host..":"..password);
end
end
return func, nil;
@@ -87,6 +91,7 @@ function sasl_handler(session, stanza)
local text = stanza[1];
if text then
text = base64.decode(text);
+ log("recieved", text);
if not text then
session.sasl_handler = nil;
session.send(build_reply("failure", "incorrect-encoding"));