From 3c73c21bfcf38d9eb9d30c2604f921b51c3ef3c6 Mon Sep 17 00:00:00 2001
From: Matthew Wild <mwild1@gmail.com>
Date: Fri, 29 May 2009 18:03:48 +0100
Subject: mod_saslauth: Don't offer bind/session when they aren't authenticated
 yet :) [thanks albert, again...]

---
 plugins/mod_saslauth.lua | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/plugins/mod_saslauth.lua b/plugins/mod_saslauth.lua
index f226203e..78417c0f 100644
--- a/plugins/mod_saslauth.lua
+++ b/plugins/mod_saslauth.lua
@@ -121,7 +121,10 @@ local bind_attr = { xmlns='urn:ietf:params:xml:ns:xmpp-bind' };
 local xmpp_session_attr = { xmlns='urn:ietf:params:xml:ns:xmpp-session' };
 module:add_event_hook("stream-features", 
 		function (session, features)												
-			if not session.username and ((not secure_auth_only) or session.secure) then
+			if not session.username then
+				if secure_auth_only and not session.secure then
+					return;
+				end
 				features:tag("mechanisms", mechanisms_attr);
 				-- TODO: Provide PLAIN only if TLS is active, this is a SHOULD from the introduction of RFC 4616. This behavior could be overridden via configuration but will issuing a warning or so.
 					if config.get(session.host or "*", "core", "anonymous_login") then
-- 
cgit v1.2.3