From a486ce828ec6431e701b7d4fbb9e3ad1ceda48e3 Mon Sep 17 00:00:00 2001
From: Waqas Hussain <waqas20@gmail.com>
Date: Wed, 23 Feb 2011 01:22:04 +0500
Subject: mod_auth_cyrus: Print some diagnostic log messages about the
 available mechanisms.

---
 plugins/mod_auth_cyrus.lua | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/plugins/mod_auth_cyrus.lua b/plugins/mod_auth_cyrus.lua
index ed3d5408..2a52c8b5 100644
--- a/plugins/mod_auth_cyrus.lua
+++ b/plugins/mod_auth_cyrus.lua
@@ -27,6 +27,19 @@ local new_sasl = function(realm)
 	);
 end
 
+do -- diagnostic
+	local realm = module:get_option("sasl_realm") or module.host;
+	local list;
+	for mechanism in pairs(new_sasl(realm):mechanisms()) do
+		list = (not(list) and mechanism) or (list..", "..mechanism);
+	end
+	if not list then
+		module:log("error", "No Cyrus SASL mechanisms available");
+	else
+		module:log("debug", "Available Cyrus SASL mechanisms: %s", list);
+	end
+end
+
 function new_default_provider(host)
 	local provider = { name = "cyrus" };
 	log("debug", "initializing default authentication provider for host '%s'", host);
-- 
cgit v1.2.3