X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=prosody;h=446dbfb7344fb15263a1d9cc9d69e7d052be0051;hb=955d30f46255169144300a9ebac5e441ebfd7e8e;hp=5802c348ee68995331e36b9969802ad73ef5a369;hpb=7eb15e3f95e7b5146d179d56df9b327fe067bb12;p=prosody.git diff --git a/prosody b/prosody index 5802c348..446dbfb7 100755 --- a/prosody +++ b/prosody @@ -49,9 +49,6 @@ _G.prosody = prosody; -- Check dependencies local dependencies = require "util.dependencies"; -if not dependencies.check_dependencies() then - os.exit(1); -end -- Load the config-parsing module config = require "core.configmanager" @@ -86,6 +83,7 @@ function read_config() break; end end + prosody.config_file = filename local ok, level, err = config.load(filename); if not ok then print("\n"); @@ -115,6 +113,12 @@ function read_config() end end +function check_dependencies() + if not dependencies.check_dependencies() then + os.exit(1); + end +end + function load_libraries() -- Load socket framework server = require "net.server" @@ -207,8 +211,8 @@ function init_global_state() prosody.full_sessions = full_sessions; prosody.hosts = hosts; - local data_path = config.get("*", "core", "data_path") or CFG_DATADIR or "data"; - local custom_plugin_paths = config.get("*", "core", "plugin_paths"); + local data_path = config.get("*", "data_path") or CFG_DATADIR or "data"; + local custom_plugin_paths = config.get("*", "plugin_paths"); if custom_plugin_paths then local path_sep = package.config:sub(3,3); -- path1;path2;path3;defaultpath... @@ -240,7 +244,7 @@ function init_global_state() function prosody.reload_config() log("info", "Reloading configuration file"); prosody.events.fire_event("reloading-config"); - local ok, level, err = config.load((rawget(_G, "CFG_CONFIGDIR") or ".").."/prosody.cfg.lua"); + local ok, level, err = config.load(prosody.config_file); if not ok then if level == "parser" then log("error", "There was an error parsing the configuration file: %s", tostring(err)); @@ -290,12 +294,12 @@ function load_secondary_libraries() --- Load and initialise core modules 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.rostermanager" require "core.sessionmanager" package.loaded['core.componentmanager'] = setmetatable({},{__index=function() log("warn", "componentmanager is deprecated: %s", debug.traceback():match("\n[^\n]*\n[ \t]*([^\n]*)")); @@ -387,6 +391,7 @@ init_logging(); sanity_check(); sandbox_require(); set_function_metatable(); +check_dependencies(); load_libraries(); init_global_state(); read_version();