X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=prosody;h=0618a1f3d3b52aa15750ba134edf08c4178b1fee;hb=43822ea723cdd49c4b1c1994fda2a65f3e4992c9;hp=4e9ab2cc27a18c173e2a591b74996b731fa3f16a;hpb=5146b22ff3c0dd9dbcf3f3d6e56b1ea1b3e95ad1;p=prosody.git diff --git a/prosody b/prosody index 4e9ab2cc..0618a1f3 100755 --- a/prosody +++ b/prosody @@ -9,9 +9,9 @@ -- Will be modified by configure script if run -- -CFG_SOURCEDIR=nil; +CFG_SOURCEDIR=os.getenv("PROSODY_SRCDIR"); CFG_CONFIGDIR=os.getenv("PROSODY_CFGDIR"); -CFG_PLUGINDIR=nil; +CFG_PLUGINDIR=os.getenv("PROSODY_PLUGINDIR"); CFG_DATADIR=os.getenv("PROSODY_DATADIR"); -- -- -- -- -- -- -- ---- -- -- -- -- -- -- -- -- @@ -119,6 +119,7 @@ function init_global_state() -- Function to initiate prosody shutdown function prosody.shutdown(reason) log("info", "Shutting down: %s", reason or "unknown reason"); + prosody.shutdown_reason = reason; prosody.events.fire_event("server-stopping", {reason = reason}); server.setquitting(true); end @@ -194,6 +195,7 @@ function prepare_to_start() local cl = require "net.connlisteners"; -- start listening on sockets function net_activate_ports(option, listener, default, conntype) + if not cl.get(listener) then return; end local ports = config.get("*", "core", option.."_ports") or default; if type(ports) == "number" then ports = {ports} end; @@ -221,10 +223,7 @@ function prepare_to_start() net_activate_ports("s2s", "xmppserver", {5269}, "tcp"); net_activate_ports("component", "xmppcomponent", {}, "tcp"); net_activate_ports("legacy_ssl", "xmppclient", {}, "ssl"); - - if cl.get("console") then - cl.start("console", { interface = config.get("*", "core", "console_interface") or "127.0.0.1" }) - end + net_activate_ports("console", "console", {5582}, "tcp"); prosody.start_time = os.time(); end @@ -278,10 +277,14 @@ function cleanup() 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("system-shutdown"); + session:close(reason); end end end