Update usermanager to not crash, etc.

This commit is contained in:
Jeff Mitchell 2010-05-20 14:18:12 -04:00
parent 29a91eb973
commit c316b28787
2 changed files with 9 additions and 8 deletions

View file

@ -20,8 +20,15 @@ local require_provisioning = config.get("*", "core", "cyrus_require_provisioning
local prosody = _G.prosody;
local setmetatable = setmetatable;
module "usermanager"
function new_null_provider()
local function dummy() end;
return setmetatable({}, { __index = function() return dummy; end });
end
local function host_handler(host)
local host_session = hosts[host];
host_session.events.add_handler("item-added/auth-provider", function (provider)
@ -32,15 +39,9 @@ local function host_handler(host)
end);
host_session.events.add_handler("item-removed/auth-provider", function (provider)
if host_session.users == provider then
userplugins.new_default_provider(host);
host_session.users = new_null_provider();
end
end);
if host_session.users ~= nil then
log("debug", "using non-default authentication provider");
else
log("debug", "using default authentication provider");
host_session.users = new_default_provider(host); -- Start with the default usermanager provider
end
end
prosody.events.add_handler("host-activated", host_handler);
prosody.events.add_handler("component-activated", host_handler);

View file

@ -123,7 +123,7 @@ local error_messages = setmetatable({
hosts = prosody.hosts;
local function make_host(hostname)
return { events = prosody.events, users = require "core.usermanager".new_default_provider(hostname) };
return { events = prosody.events, users = require "core.usermanager".new_null_provider(hostname) };
end
for hostname, config in pairs(config.getconfig()) do