);
end
+do -- diagnostic
+ local list;
+ for mechanism in pairs(new_sasl(module.host):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);
end
function provider.get_sasl_handler()
- local realm = module:get_option("sasl_realm") or module.host;
- local handler = new_sasl(realm);
+ local handler = new_sasl(module.host);
if require_provisioning then
function handler.require_provisioning(username)
return usermanager_user_exists(username, module.host);