diff -r c9f4c3aa14a1 -r d50e2c937717 util/sasl_cyrus.lua --- a/util/sasl_cyrus.lua Mon Aug 23 16:42:27 2010 +0500 +++ b/util/sasl_cyrus.lua Mon Aug 23 16:54:56 2010 +0500 @@ -143,6 +143,9 @@ self.username = cyrussasl.get_username(self.cyrus) if (err == 0) then -- SASL_OK + if self.require_provisioning and not self.require_provisioning(self.username) then + return "failure", "not-authorized", "User authenticated successfully, but not provisioned for XMPP"; + end return "success", data elseif (err == 1) then -- SASL_CONTINUE return "challenge", data