# HG changeset patch # User Tobias Markmann # Date 1259277596 -3600 # Node ID bd17dd75b4a578f0225e5d91426c5d4355fee7a9 # Parent ee6ac55a72d67f343e791ba18233f72abeb65792# Parent 373e3fd8b86244805dc63c3dc229fe970f81acc3 Merged with tip. diff -r 373e3fd8b862 -r bd17dd75b4a5 plugins/mod_saslauth.lua --- a/plugins/mod_saslauth.lua Thu Nov 26 22:25:13 2009 +0000 +++ b/plugins/mod_saslauth.lua Fri Nov 27 00:19:56 2009 +0100 @@ -75,7 +75,7 @@ local function handle_status(session, status) if status == "failure" then - session.sasl_handler = nil; + session.sasl_handler = sesion.sasl_handler:clean_clone(); elseif status == "success" then local username = nodeprep(session.sasl_handler.username); if not username then -- TODO move this to sessionmanager diff -r 373e3fd8b862 -r bd17dd75b4a5 util/sasl.lua --- a/util/sasl.lua Thu Nov 26 22:25:13 2009 +0000 +++ b/util/sasl.lua Fri Nov 27 00:19:56 2009 +0100 @@ -90,6 +90,11 @@ return s; end +-- get a fresh clone with the same realm, profiles and forbidden mechanisms +function method:clean_clone() + return new(self.realm, self.profile, self:forbidden()) +end + -- set the forbidden mechanisms function method:forbidden( restrict ) if restrict then