util.stanza: Iterate on childtags instead of all childs.
[prosody.git] / util / sasl.lua
index 3eb2db65a2d882083faf1dbe4ef7d643423d3535..93b79a86a63de48333bc482b0a0de155c3db3aa3 100644 (file)
@@ -71,18 +71,16 @@ end
 
 -- select a mechanism to use
 function method:select(mechanism)
-       if self.mech_i then
-               return false;
+       if not self.selected and self.mechs[mechanism] then
+               self.selected = mechanism;
+               return true;
        end
-       
-       self.mech_i = mechanisms[self:mechanisms()[mechanism] and mechanism];
-       return (self.mech_i ~= nil);
 end
 
 -- feed new messages to process into the library
 function method:process(message)
        --if message == "" or message == nil then return "failure", "malformed-request" end
-       return self.mech_i(self, message);
+       return mechanisms[self.selected](self, message);
 end
 
 -- load the mechanisms