X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=prosody;h=c1606874a4a6f77da359e1dce9f6e88458161119;hb=9ae83d514b47d31e5b18612484f78aa6f9888449;hp=64021fd32f2548ce4ac65417229e957cebcf7109;hpb=46e435b8823a0c86ce615c1fb442e5943b63c73b;p=prosody.git diff --git a/prosody b/prosody index 64021fd3..c1606874 100755 --- a/prosody +++ b/prosody @@ -128,7 +128,7 @@ function log_dependency_warnings() 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 @@ -145,9 +145,13 @@ function sandbox_require() -- 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; @@ -224,6 +228,11 @@ function init_global_state() 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"); @@ -279,12 +288,12 @@ function load_secondary_libraries() 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