aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWaqas Hussain <waqas20@gmail.com>2011-10-13 00:10:02 +0500
committerWaqas Hussain <waqas20@gmail.com>2011-10-13 00:10:02 +0500
commit8e3a23d8fdb7fe0ef1662430d65f9e767cca525e (patch)
tree189d11779bc293987361fe5558f89fa03da5614c
parentafdb43ac334283ff824858e78d41b169db15d446 (diff)
downloadprosody-8e3a23d8fdb7fe0ef1662430d65f9e767cca525e.tar.gz
prosody-8e3a23d8fdb7fe0ef1662430d65f9e767cca525e.zip
mod_saslauth: Never send empty <mechanisms/>.
-rw-r--r--plugins/mod_saslauth.lua4
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/mod_saslauth.lua b/plugins/mod_saslauth.lua
index 8fd71ff3..8a4b84d9 100644
--- a/plugins/mod_saslauth.lua
+++ b/plugins/mod_saslauth.lua
@@ -248,8 +248,10 @@ module:hook("stream-features", function(event)
return;
end
origin.sasl_handler = usermanager_get_sasl_handler(module.host);
+ local mechanisms = origin.sasl_handler:mechanisms();
+ if not next(mechanisms) then return; end
features:tag("mechanisms", mechanisms_attr);
- for mechanism in pairs(origin.sasl_handler:mechanisms()) do
+ for mechanism in pairs(mechanisms) do
if mechanism ~= "PLAIN" or origin.secure or allow_unencrypted_plain_auth then
features:tag("mechanism"):text(mechanism):up();
end