mod_httpserver: Rename to mod_http_files
[prosody.git] / plugins / mod_saslauth.lua
index 8fd71ff37948c4f67abc7c8858095be7adee2758..9c62e5ec089fa6e66b2730dfe0fde1bd04b4d7f0 100644 (file)
@@ -248,13 +248,13 @@ module:hook("stream-features", function(event)
                        return;
                end
                origin.sasl_handler = usermanager_get_sasl_handler(module.host);
-               features:tag("mechanisms", mechanisms_attr);
+               local mechanisms = st.stanza("mechanisms", mechanisms_attr);
                for mechanism in pairs(origin.sasl_handler:mechanisms()) do
                        if mechanism ~= "PLAIN" or origin.secure or allow_unencrypted_plain_auth then
-                               features:tag("mechanism"):text(mechanism):up();
+                               mechanisms:tag("mechanism"):text(mechanism):up();
                        end
                end
-               features:up();
+               if mechanisms[1] then features:add_child(mechanisms); end
        else
                features:tag("bind", bind_attr):tag("required"):up():up();
                features:tag("session", xmpp_session_attr):tag("optional"):up():up();