mod_saslauth: Fixed a nil global access.
authorWaqas Hussain <waqas20@gmail.com>
Sat, 31 Jul 2010 10:16:15 +0000 (15:16 +0500)
committerWaqas Hussain <waqas20@gmail.com>
Sat, 31 Jul 2010 10:16:15 +0000 (15:16 +0500)
plugins/mod_saslauth.lua

index fac58db66bf568e32c8f229ddb540c396ba01e07..a6f92024cd7b3c4d61b268e561ba4cfffb9f3bd5 100644 (file)
@@ -113,17 +113,18 @@ end
 local function sasl_handler(session, stanza)
        if stanza.name == "auth" then
                -- FIXME ignoring duplicates because ejabberd does
+               local mechanism = stanza.attr.mechanism;
                if anonymous_login then
-                       if stanza.attr.mechanism ~= "ANONYMOUS" then
+                       if mechanism ~= "ANONYMOUS" then
                                return session.send(build_reply("failure", "invalid-mechanism"));
                        end
-               elseif stanza.attr.mechanism == "ANONYMOUS" then
+               elseif mechanism == "ANONYMOUS" then
                        return session.send(build_reply("failure", "mechanism-too-weak"));
                end
                if not session.secure and (secure_auth_only or (mechanism == "PLAIN" and not allow_unencrypted_plain_auth)) then
                        return session.send(build_reply("failure", "encryption-required"));
                end
-               local valid_mechanism = session.sasl_handler:select(stanza.attr.mechanism);
+               local valid_mechanism = session.sasl_handler:select(mechanism);
                if not valid_mechanism then
                        return session.send(build_reply("failure", "invalid-mechanism"));
                end