X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmod_auth_cyrus.lua;h=7668f8c407f2b8255e645d0d88c8dae179796090;hb=8551bf5a2ae3d1c8bc47f052f531902fe4f0d919;hp=447fae517c19440b6af16e5599dca6d42eb2d2d7;hpb=1dec61cd083533414808feffce00728739b9f5d5;p=prosody.git diff --git a/plugins/mod_auth_cyrus.lua b/plugins/mod_auth_cyrus.lua index 447fae51..7668f8c4 100644 --- a/plugins/mod_auth_cyrus.lua +++ b/plugins/mod_auth_cyrus.lua @@ -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,7 +24,8 @@ 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 @@ -39,45 +41,44 @@ do -- diagnostic end end -function new_default_provider(host) - local provider = { name = "cyrus" }; - log("debug", "initializing default authentication provider for host '%s'", host); +local host = module.host; - function provider.test_password(username, password) - return nil, "Legacy auth not supported with Cyrus SASL."; - end +-- define auth provider +local provider = {}; +log("debug", "initializing default authentication provider for host '%s'", host); - function provider.get_password(username) - return nil, "Passwords unavailable for Cyrus SASL."; - end - - function provider.set_password(username, password) - return nil, "Passwords unavailable for Cyrus SASL."; - end +function provider.test_password(username, password) + return nil, "Legacy auth not supported with Cyrus SASL."; +end - function provider.user_exists(username) - if require_provisioning then - return usermanager_user_exists(username, module.host); - end - return true; - end +function provider.get_password(username) + return nil, "Passwords unavailable for Cyrus SASL."; +end - function provider.create_user(username, password) - return nil, "Account creation/modification not available with Cyrus SASL."; +function provider.set_password(username, password) + return nil, "Passwords unavailable for Cyrus SASL."; +end + +function provider.user_exists(username) + if require_provisioning then + return usermanager_user_exists(username, host); end + return true; +end - function provider.get_sasl_handler() - local handler = new_sasl(module.host); - if require_provisioning then - function handler.require_provisioning(username) - return usermanager_user_exists(username, module.host); - end +function provider.create_user(username, password) + return nil, "Account creation/modification not available with Cyrus SASL."; +end + +function provider.get_sasl_handler() + local handler = new_sasl(host); + if require_provisioning then + function handler.require_provisioning(username) + return usermanager_user_exists(username, host); end - return handler; end - - return provider; + return handler; end -module:add_item("auth-provider", new_default_provider(module.host)); +module:provides("auth", provider);