From 73ab6ec28714e2cbfcf920aa87ba14b56a7c6a15 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Mon, 23 Jan 2012 00:11:01 +0000 Subject: prosody: Remove connlisteners, and net_activate_ports --- prosody | 72 ----------------------------------------------------------------- 1 file changed, 72 deletions(-) (limited to 'prosody') diff --git a/prosody b/prosody index e18b4e61..385997a6 100755 --- a/prosody +++ b/prosody @@ -254,63 +254,6 @@ function init_global_state() local global_ssl_ctx = certmanager.create_context("*", "server"); prosody.global_ssl_ctx = global_ssl_ctx; - local cl = require "net.connlisteners"; - function prosody.net_activate_ports(option, listener, default, conntype) - conntype = conntype or (global_ssl_ctx and "tls") or "tcp"; - local ports_option = option and option.."_ports" or "ports"; - if not cl.get(listener) then return; end - local ports = config.get("*", "core", ports_option) or default; - if type(ports) == "number" then ports = {ports} end; - - if type(ports) ~= "table" then - log("error", "core."..ports_option.." is not a table"); - else - for _, port in ipairs(ports) do - port = tonumber(port); - if type(port) ~= "number" then - log("error", "Non-numeric "..ports_option..": "..tostring(port)); - else - local ok, errors = cl.start(listener, { - ssl = conntype == "ssl" and global_ssl_ctx, - port = port, - interface = (option and config.get("*", "core", option.."_interface")) - or cl.get(listener).default_interface - or config.get("*", "core", "interface"), - type = conntype - }); - if not ok then - for addr, err in pairs(errors) do - local friendly_message = err; - if err:match(" in use") then - if port == 5222 or port == 5223 or port == 5269 then - friendly_message = "check that Prosody or another XMPP server is " - .."not already running and using this port"; - elseif port == 80 or port == 81 then - friendly_message = "check that a HTTP server is not already using " - .."this port"; - elseif port == 5280 then - friendly_message = "check that Prosody or a BOSH connection manager " - .."is not already running"; - else - friendly_message = "this port is in use by another application"; - end - elseif err:match("permission") then - friendly_message = "Prosody does not have sufficient privileges to use this port"; - elseif err == "no ssl context" then - if not config.get("*", "core", "ssl") then - friendly_message = "there is no 'ssl' config under Host \"*\" which is " - .."require for legacy SSL ports"; - else - friendly_message = "initializing SSL support failed, see previous log entries"; - end - end - log("error", "Failed to open server port %d on %s, %s", port, addr, friendly_message); - end - end - end - end - end - end end function read_version() @@ -359,7 +302,6 @@ function load_secondary_libraries() if remdebug then remdebug.engine.start() end ]] - require "net.connlisteners"; require "net.httpserver"; require "util.stanza" @@ -374,20 +316,6 @@ function prepare_to_start() log("info", "Prosody is using the %s backend for connection handling", server.get_backend()); -- Signal to modules that we are ready to start prosody.events.fire_event("server-starting"); - - -- start listening on sockets - if config.get("*", "core", "ports") then - prosody.net_activate_ports(nil, "multiplex", {5222, 5269}); - if config.get("*", "core", "ssl_ports") then - prosody.net_activate_ports("ssl", "multiplex", {5223}, "ssl"); - end - else - prosody.net_activate_ports("c2s", "xmppclient", {5222}); - prosody.net_activate_ports("s2s", "xmppserver", {5269}); - prosody.net_activate_ports("component", "xmppcomponent", {5347}, "tcp"); - prosody.net_activate_ports("legacy_ssl", "xmppclient", {}, "ssl"); - end - prosody.start_time = os.time(); end -- cgit v1.2.3 From 8f2788502ce4f0351ed411d41d8a5ea34904bfee Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Mon, 23 Jan 2012 01:04:15 +0000 Subject: prosody: sandboxed require(): Point __index of _G at current env for modules that need to reference globals they already set --- prosody | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'prosody') diff --git a/prosody b/prosody index 385997a6..f79910b7 100755 --- a/prosody +++ b/prosody @@ -150,10 +150,14 @@ function sandbox_require() local curr_env_mt = getmetatable(getfenv(2)); 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 + local old_newindex, old_index; old_newindex, _realG_mt.__newindex = _realG_mt.__newindex, curr_env; + old_index, _realG_mt.__index = _realG_mt.__index, function (_G, k) + return rawget(curr_env, k); + end; local ret = _real_require(...); _realG_mt.__newindex = old_newindex; + _realG_mt.__index = old_index; return ret; end return _real_require(...); -- cgit v1.2.3 From ba612384491542ac7603c0b264c675c0b4a81adc Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Sat, 21 Apr 2012 21:03:57 +0100 Subject: prosody: Don't require net.httpserver now --- prosody | 2 -- 1 file changed, 2 deletions(-) (limited to 'prosody') diff --git a/prosody b/prosody index f79910b7..2995f0f1 100755 --- a/prosody +++ b/prosody @@ -306,8 +306,6 @@ function load_secondary_libraries() if remdebug then remdebug.engine.start() end ]] - require "net.httpserver"; - require "util.stanza" require "util.jid" end -- cgit v1.2.3 From da696ff99c86d33ba217ca3bb1ade4ee50e4d01c Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Tue, 24 Apr 2012 13:37:35 +0100 Subject: prosody: Load portmanager at startup, to ensure it is ready to receive item-added events when modules are loaded --- prosody | 1 + 1 file changed, 1 insertion(+) (limited to 'prosody') diff --git a/prosody b/prosody index 2995f0f1..64021fd3 100755 --- a/prosody +++ b/prosody @@ -280,6 +280,7 @@ function load_secondary_libraries() require "util.xmppstream" require "core.rostermanager" require "core.hostmanager" + require "core.portmanager" require "core.modulemanager" require "core.usermanager" require "core.sessionmanager" -- cgit v1.2.3