diff options
author | Matthew Wild <mwild1@gmail.com> | 2010-01-31 16:40:47 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2010-01-31 16:40:47 +0000 |
commit | bfe6db96f1067bd4532ff9670a3aa799339bc109 (patch) | |
tree | 3ff71ffc7370d1323ff49b69a2e8571661cac345 | |
parent | 9ce0027521b2c33b0929161d2cd4fd7df3a5ad3f (diff) | |
download | prosody-bfe6db96f1067bd4532ff9670a3aa799339bc109.tar.gz prosody-bfe6db96f1067bd4532ff9670a3aa799339bc109.zip |
prosody: Log error message when failing to open ports
-rwxr-xr-x | prosody | 20 |
1 files changed, 19 insertions, 1 deletions
@@ -205,7 +205,7 @@ function init_global_state() if type(port) ~= "number" then log("error", "Non-numeric "..ports_option..": "..tostring(port)); else - cl.start(listener, { + local ok, err = cl.start(listener, { ssl = conntype == "ssl" and global_ssl_ctx, port = port, interface = (option and config.get("*", "core", option.."_interface")) @@ -213,6 +213,24 @@ function init_global_state() or config.get("*", "core", "interface"), type = conntype }); + if not ok then + 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"; + end + elseif err:match("permission") then + friendly_message = "Prosody does not have sufficient privileges to use this port"; + end + log("error", "Failed to open server port %d, %s", port, friendly_message); + end end end end |