diff -r b2464849c1b0 -r 5216efe6088b prosody --- a/prosody Sat Dec 06 03:40:51 2008 +0000 +++ b/prosody Sat Dec 06 03:41:49 2008 +0000 @@ -68,6 +68,44 @@ end end +require "util.datamanager".set_data_path(data_path); + +local server = require "net.server" + +require "util.dependencies" + +-- Maps connections to sessions -- +sessions = {}; +hosts = {}; + + +-- Load and initialise core modules -- + +require "util.import" +require "core.xmlhandlers" +require "core.rostermanager" +require "core.offlinemessage" +require "core.eventmanager" +require "core.hostmanager" +require "core.modulemanager" +require "core.usermanager" +require "core.sessionmanager" +require "core.stanza_router" + +--[[ +pcall(require, "remdebug.engine"); +if remdebug then remdebug.engine.start() end +]] + +local cl = require "net.connlisteners"; + +require "util.stanza" +require "util.jid" + +------------------------------------------------------------------------ + +------------- Begin code without a home --------------------- + local data_path = config.get("*", "core", "data_path") or CFG_DATADIR or "data"; local path_separator = "/"; if os.getenv("WINDIR") then path_separator = "\\" end local _mkdir = {} @@ -91,46 +129,11 @@ end mkdir(data_path); -require "util.datamanager".set_data_path(data_path); - -local server = require "net.server" - -require "util.dependencies" - --- Maps connections to sessions -- -sessions = {}; -hosts = {}; - -local defined_hosts = config.getconfig(); - -for host, host_config in pairs(defined_hosts) do - if host ~= "*" and (host_config.core.enabled == nil or host_config.core.enabled) then - hosts[host] = {type = "local", connected = true, sessions = {}, host = host, s2sout = {} }; - mkdirs(host); - end -end +eventmanager.add_event_hook("host-activated", mkdirs); --- Load and initialise core modules -- - -require "util.import" -require "core.xmlhandlers" -require "core.rostermanager" -require "core.offlinemessage" -require "core.modulemanager" -require "core.usermanager" -require "core.sessionmanager" -require "core.stanza_router" +----------- End of out-of-place code -------------- ---[[ -pcall(require, "remdebug.engine"); -if remdebug then remdebug.engine.start() end -]] - -local start = require "net.connlisteners".start; -require "util.stanza" -require "util.jid" - ------------------------------------------------------------------------- +eventmanager.fire_event("server-starting"); -- Initialise modules @@ -159,13 +162,17 @@ end -- start listening on sockets -start("xmppclient", { ssl = global_ssl_ctx }) -start("xmppserver", { ssl = global_ssl_ctx }) +cl.start("xmppclient", { ssl = global_ssl_ctx }) +cl.start("xmppserver", { ssl = global_ssl_ctx }) if config.get("*", "core", "console_enabled") then - start("console") + if cl.get("console") then + cl.start("console") + else + log("error", "Console is enabled, but the console module appears not to be loaded"); + end end -modulemanager.fire_event("server-started"); +eventmanager.fire_event("server-started"); server.loop();