# HG changeset patch # User Jeff Mitchell # Date 1274379492 14400 # Node ID 73e93a48c0c169c996f986bf64c69fe3fa4290f2 # Parent 9064dd006b21274ad171369631343a09756eb4a4 Update usermanager to not crash, etc. diff -r 9064dd006b21 -r 73e93a48c0c1 core/usermanager.lua --- a/core/usermanager.lua Thu May 20 11:51:24 2010 -0400 +++ b/core/usermanager.lua Thu May 20 14:18:12 2010 -0400 @@ -20,8 +20,15 @@ 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 @@ 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); diff -r 9064dd006b21 -r 73e93a48c0c1 prosodyctl --- a/prosodyctl Thu May 20 11:51:24 2010 -0400 +++ b/prosodyctl Thu May 20 14:18:12 2010 -0400 @@ -123,7 +123,7 @@ 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