aboutsummaryrefslogtreecommitdiffstats
path: root/util/sasl_cyrus.lua
diff options
context:
space:
mode:
authorWaqas Hussain <waqas20@gmail.com>2010-08-03 18:20:29 +0500
committerWaqas Hussain <waqas20@gmail.com>2010-08-03 18:20:29 +0500
commitfaa99714fccb2ef674038c90dff1114d06c99adf (patch)
tree12fd1c3bb6300642a42b15c12537153d3060aebf /util/sasl_cyrus.lua
parent2e77194fff273a732caea91d522abd70efa57204 (diff)
downloadprosody-faa99714fccb2ef674038c90dff1114d06c99adf.tar.gz
prosody-faa99714fccb2ef674038c90dff1114d06c99adf.zip
util.sasl_cyrus: Make multi-step SASL mechanisms work correctly.
Diffstat (limited to 'util/sasl_cyrus.lua')
-rw-r--r--util/sasl_cyrus.lua3
1 files changed, 2 insertions, 1 deletions
diff --git a/util/sasl_cyrus.lua b/util/sasl_cyrus.lua
index ef1bf3d0..2e5b96c0 100644
--- a/util/sasl_cyrus.lua
+++ b/util/sasl_cyrus.lua
@@ -133,8 +133,9 @@ function method:process(message)
local err;
local data;
- if self.mechanism then
+ if not self.first_step_done then
err, data = cyrussasl.server_start(self.cyrus, self.mechanism, message or "")
+ self.first_step_done = true;
else
err, data = cyrussasl.server_step(self.cyrus, message or "")
end