local jid_bare = require "util.jid".bare;
local config = require "core.configmanager";
local hosts = hosts;
+local sasl_new = require "util.sasl".new;
local require_provisioning = config.get("*", "core", "cyrus_require_provisioning") or false;
local setmetatable = setmetatable;
-local default_provider = "internal";
+local default_provider = "internal_plain";
module "usermanager"
function new_null_provider()
local function dummy() end;
- return setmetatable({name = "null"}, { __index = function() return dummy; end });
+ local function dummy_get_sasl_handler() return sasl_new(nil, {}); end
+ return setmetatable({name = "null", get_sasl_handler = dummy_get_sasl_handler}, { __index = function() return dummy; end });
end
-local function host_handler(host)
+function initialize_host(host)
local host_session = hosts[host];
host_session.events.add_handler("item-added/auth-provider", function (event)
local provider = event.item;
modulemanager.load(host, "auth_"..auth_provider);
end
end;
-prosody.events.add_handler("host-activated", host_handler, 100);
-prosody.events.add_handler("component-activated", host_handler, 100);
+prosody.events.add_handler("host-activated", initialize_host, 100);
+prosody.events.add_handler("component-activated", initialize_host, 100);
function is_cyrus(host) return config.get(host, "core", "sasl_backend") == "cyrus"; end
-function test_password(username, password, host)
+function test_password(username, host, password)
return hosts[host].users.test_password(username, password);
end
break;
end
end
- elseif admins then
+ elseif host_admins then
log("error", "Option 'admins' for host '%s' is not a list", host);
end
end
break;
end
end
- elseif admins then
+ elseif global_admins then
log("error", "Global option 'admins' is not a list");
end
end