Update usermanager to not crash, etc.
--- 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);
--- 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