portmanager: Show a friendly error message when initializing SSL fails (thanks MattJ...
[prosody.git] / plugins / mod_auth_cyrus.lua
index 2a52c8b536bd7f11a89a9c5ab63dc18d587911e2..e4493f0490d5fef4559ce3bacfa207ff7a259e38 100644 (file)
@@ -14,6 +14,7 @@ local cyrus_service_realm = module:get_option("cyrus_service_realm");
 local cyrus_service_name = module:get_option("cyrus_service_name");
 local cyrus_application_name = module:get_option("cyrus_application_name");
 local require_provisioning = module:get_option("cyrus_require_provisioning") or false;
+local host_fqdn = module:get_option("cyrus_server_fqdn");
 
 prosody.unlock_globals(); --FIXME: Figure out why this is needed and
                                                  -- why cyrussasl isn't caught by the sandbox
@@ -23,14 +24,14 @@ local new_sasl = function(realm)
        return cyrus_new(
                cyrus_service_realm or realm,
                cyrus_service_name or "xmpp",
-               cyrus_application_name or "prosody"
+               cyrus_application_name or "prosody",
+               host_fqdn
        );
 end
 
 do -- diagnostic
-       local realm = module:get_option("sasl_realm") or module.host;
        local list;
-       for mechanism in pairs(new_sasl(realm):mechanisms()) do
+       for mechanism in pairs(new_sasl(module.host):mechanisms()) do
                list = (not(list) and mechanism) or (list..", "..mechanism);
        end
        if not list then
@@ -68,8 +69,7 @@ function new_default_provider(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);