X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=prosody;h=5802c348ee68995331e36b9969802ad73ef5a369;hb=9186d6672f1abea2c7f984053b72d73a0db6561b;hp=b8de92f59c4f235d0dc8e64b8d3c45b345a9cada;hpb=bca1ffeb353cc332b6aac1445481d8247b9e4365;p=prosody.git diff --git a/prosody b/prosody index b8de92f5..5802c348 100755 --- a/prosody +++ b/prosody @@ -70,6 +70,8 @@ function read_config() if CFG_CONFIGDIR then table.insert(filenames, CFG_CONFIGDIR.."/"..arg[2]); end + elseif os.getenv("PROSODY_CONFIG") then -- Passed by prosodyctl + table.insert(filenames, os.getenv("PROSODY_CONFIG")); else for _, format in ipairs(config.parsers()) do table.insert(filenames, (CFG_CONFIGDIR or ".").."/prosody.cfg."..format); @@ -130,8 +132,8 @@ end function sanity_check() 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 + and host_config.enabled ~= false + and not host_config.component_module then return; end end @@ -196,6 +198,7 @@ function set_function_metatable() end function init_global_state() + -- COMPAT: These globals are deprecated bare_sessions = {}; full_sessions = {}; hosts = {}; @@ -228,6 +231,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"); @@ -369,43 +377,6 @@ end function cleanup() log("info", "Shutdown status: Cleaning up"); prosody.events.fire_event("server-cleanup"); - - -- Ok, we're quitting I know, but we - -- need to do some tidying before we go :) - server.setquitting(false); - - log("info", "Shutdown status: Closing all active sessions"); - for hostname, host in pairs(hosts) do - log("debug", "Shutdown status: Closing client connections for %s", hostname) - if host.sessions then - local reason = { condition = "system-shutdown", text = "Server is shutting down" }; - if prosody.shutdown_reason then - reason.text = reason.text..": "..prosody.shutdown_reason; - end - for username, user in pairs(host.sessions) do - for resource, session in pairs(user.sessions) do - log("debug", "Closing connection for %s@%s/%s", username, hostname, resource); - session:close(reason); - end - end - end - - log("debug", "Shutdown status: Closing outgoing s2s connections from %s", hostname); - if host.s2sout then - for remotehost, session in pairs(host.s2sout) do - if session.close then - session:close("system-shutdown"); - else - log("warn", "Unable to close outgoing s2s session to %s, no session:close()?!", remotehost); - end - end - end - end - - log("info", "Shutdown status: Closing all server connections"); - server.closeall(); - - server.setquitting(true); end -- Are you ready? :)