end
function sanity_check()
- for host, host_config in pairs(configmanager.getconfig()) do
+ for host, host_config in pairs(config.getconfig()) do
if host ~= "*"
and host_config.core.enabled ~= false
and not host_config.core.component_module then
-- for neat sandboxing of modules
local _realG = _G;
local _real_require = require;
+ if not getfenv then
+ -- FIXME: This is a hack to replace getfenv() in Lua 5.2
+ function getfenv(f) return debug.getupvalue(debug.getinfo(f or 1).func, 1); end
+ end
function require(...)
local curr_env = getfenv(2);
- local curr_env_mt = getmetatable(getfenv(2));
+ local curr_env_mt = getmetatable(curr_env);
local _realG_mt = getmetatable(_realG);
if curr_env_mt and curr_env_mt.__index and not curr_env_mt.__newindex and _realG_mt then
local old_newindex, old_index;
prosody.installed = true;
end
+ if prosody.installed then
+ -- Change working directory to data path.
+ require "lfs".chdir(data_path);
+ end
+
-- Function to reload the config file
function prosody.reload_config()
log("info", "Reloading configuration file");
require "util.import"
require "util.xmppstream"
require "core.rostermanager"
+ require "core.stanza_router"
require "core.hostmanager"
+ require "core.portmanager"
require "core.modulemanager"
require "core.usermanager"
require "core.sessionmanager"
- require "core.stanza_router"
package.loaded['core.componentmanager'] = setmetatable({},{__index=function()
log("warn", "componentmanager is deprecated: %s", debug.traceback():match("\n[^\n]*\n[ \t]*([^\n]*)"));
return function() end