From 25b9a621a3c4f2d6783a37ec2ac917184eb79d5b Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 25 Nov 2018 13:14:05 +0100 Subject: mod_proxy65: Return an error if no port is open (fixes #1240) --- plugins/mod_proxy65.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/mod_proxy65.lua b/plugins/mod_proxy65.lua index cbbfad12..3c65f050 100644 --- a/plugins/mod_proxy65.lua +++ b/plugins/mod_proxy65.lua @@ -121,6 +121,12 @@ function module.add_host(module) return true; end + if not proxy_port then + module:log("warn", "Not listening on any port"); + origin.send(st.error_reply(stanza, "wait", "item-not-found", "Not listening on any port")); + return true; + end + local sid = stanza.tags[1].attr.sid; origin.send(st.reply(stanza):tag("query", {xmlns="http://jabber.org/protocol/bytestreams", sid=sid}) :tag("streamhost", {jid=host, host=proxy_address, port=proxy_port})); -- cgit v1.2.3 From 7093d062f74095cc75d9a234626d1ce9a7e202df Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 25 Nov 2018 13:16:17 +0100 Subject: mod_proxy65: Check what port is used at the time of the query Could have changed between startup and time of request --- plugins/mod_proxy65.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/mod_proxy65.lua b/plugins/mod_proxy65.lua index 3c65f050..e1dfffca 100644 --- a/plugins/mod_proxy65.lua +++ b/plugins/mod_proxy65.lua @@ -92,7 +92,6 @@ function module.add_host(module) local host, name = module:get_host(), module:get_option_string("name", "SOCKS5 Bytestreams Service"); local proxy_address = module:get_option_string("proxy65_address", host); - local proxy_port = next(portmanager.get_active_services():search("proxy65", nil)[1] or {}); local proxy_acl = module:get_option_array("proxy65_acl"); -- COMPAT w/pre-0.9 where proxy65_port was specified in the components section of the config @@ -121,6 +120,7 @@ function module.add_host(module) return true; end + local proxy_port = next(portmanager.get_active_services():search("proxy65", nil)[1] or {}); if not proxy_port then module:log("warn", "Not listening on any port"); origin.send(st.error_reply(stanza, "wait", "item-not-found", "Not listening on any port")); -- cgit v1.2.3