util.sasl, util.sasl_cyrus: Use method:mechanisms() in method:select(), instead of using the mechanisms list directly (fixes a traceback).
--- a/util/sasl.lua Wed Jul 14 20:10:35 2010 +0500
+++ b/util/sasl.lua Wed Jul 14 20:21:51 2010 +0500
@@ -111,7 +111,7 @@
return false;
end
- self.mech_i = self.mechs[mechanism];
+ self.mech_i = mechanisms[self.mechanisms()[mechanism] and mechanism];
return (self.mech_i ~= nil);
end
--- a/util/sasl_cyrus.lua Wed Jul 14 20:10:35 2010 +0500
+++ b/util/sasl_cyrus.lua Wed Jul 14 20:21:51 2010 +0500
@@ -144,8 +144,7 @@
-- select a mechanism to use
function method:select(mechanism)
self.mechanism = mechanism;
- if not self.mechs then self:mechanisms(); end
- return self.mechs[mechanism];
+ return self.mechanisms()[mechanism];
end
-- feed new messages to process into the library