From 372813b78e29479f655712c651a1a57828423987 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Tue, 2 Nov 2010 18:58:11 +0500 Subject: util.sasl, util.sasl_cyrus: Mechanism selection cleaned up to be more consistent. --- util/sasl.lua | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'util/sasl.lua') diff --git a/util/sasl.lua b/util/sasl.lua index 3eb2db65..93b79a86 100644 --- a/util/sasl.lua +++ b/util/sasl.lua @@ -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 -- cgit v1.2.3