diff options
author | Kim Alvefur <zash@zash.se> | 2014-09-23 19:46:29 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2014-09-23 19:46:29 +0200 |
commit | 6aec6e84256f5411131b740ca16f31f065961fce (patch) | |
tree | 80bedfdd7666359f32970756d2f8e3ea2ce81ab8 /plugins | |
parent | fb8f6cc1fb1aef6cc62120fd3a31a997bd1ea34a (diff) | |
download | prosody-6aec6e84256f5411131b740ca16f31f065961fce.tar.gz prosody-6aec6e84256f5411131b740ca16f31f065961fce.zip |
mod_saslauth: Fix encoding of missing vs empty SASL reply messages
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_saslauth.lua | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/plugins/mod_saslauth.lua b/plugins/mod_saslauth.lua index 15b0c178..9e63b4c7 100644 --- a/plugins/mod_saslauth.lua +++ b/plugins/mod_saslauth.lua @@ -26,15 +26,15 @@ local xmlns_bind ='urn:ietf:params:xml:ns:xmpp-bind'; local function build_reply(status, ret, err_msg) local reply = st.stanza(status, {xmlns = xmlns_sasl}); - if status == "challenge" then - --log("debug", "CHALLENGE: %s", ret or ""); - reply:text(base64.encode(ret or "")); - elseif status == "failure" then + if status == "failure" then reply:tag(ret):up(); if err_msg then reply:tag("text"):text(err_msg); end - elseif status == "success" then - --log("debug", "SUCCESS: %s", ret or ""); - reply:text(base64.encode(ret or "")); + elseif status == "challenge" or status == "success" then + if ret == "" then + reply:text("=") + elseif ret then + reply:text(base64.encode(ret)); + end else module:log("error", "Unknown sasl status: %s", status); end |