Mercurial > prosody-modules
changeset 2880:05ebe377fc90
mod_onions: Use net.server API for creating a new connection instead of duplicating socket creation
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 16 Feb 2018 04:33:13 +0100 (2018-02-16) |
parents | 9d633d8f3451 |
children | 824b0d7fa883 |
files | mod_onions/mod_onions.lua |
diffstat | 1 files changed, 2 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_onions/mod_onions.lua Fri Feb 16 04:32:18 2018 +0100 +++ b/mod_onions/mod_onions.lua Fri Feb 16 04:33:13 2018 +0100 @@ -1,11 +1,10 @@ local prosody = prosody; local core_process_stanza = prosody.core_process_stanza; -local wrapclient = require "net.server".wrapclient; +local addclient = require "net.server".addclient; local s2s_new_outgoing = require "core.s2smanager".new_outgoing; local initialize_filters = require "util.filters".initialize; local st = require "util.stanza"; -local socket = require "socket"; local portmanager = require "core.portmanager"; @@ -180,19 +179,13 @@ local function connect_socks5(host_session, connect_host, connect_port) - local conn, handler = socket.tcp(); - module:log("debug", "Connecting to " .. connect_host .. ":" .. connect_port); -- this is not necessarily the same as .to_host (it can be that this is from the onions_map) host_session.socks5_to = connect_host; host_session.socks5_port = connect_port; - conn:settimeout(0); - - local success, err = conn:connect(proxy_ip, proxy_port); - - conn = wrapclient(conn, connect_host, connect_port, socks5listener, "*a"); + local conn = addclient(proxy_ip, proxy_port, socks5listener, "*a"); socks5listener.register_outgoing(conn, host_session);