diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/s2smanager.lua | 11 | ||||
-rw-r--r-- | core/stanza_router.lua | 3 |
2 files changed, 9 insertions, 5 deletions
diff --git a/core/s2smanager.lua b/core/s2smanager.lua index 2f2f1d92..aed10753 100644 --- a/core/s2smanager.lua +++ b/core/s2smanager.lua @@ -76,16 +76,19 @@ function new_outgoing(from_host, to_host) local cl = connlisteners_get("xmppserver"); local conn, handler = socket.tcp() + + + -- Register this outgoing connection so that xmppserver_listener knows about it + -- otherwise it will assume it is a new incoming connection + cl.register_outgoing(conn, host_session); + --FIXME: Below parameters (ports/ip) are incorrect (use SRV) to_host = srvmap[to_host] or to_host; + conn:settimeout(0.1); conn:connect(to_host, 5269); conn = wraptlsclient(cl, conn, to_host, 5269, 0, 1, hosts[from_host].ssl_ctx ); host_session.conn = conn; - -- Register this outgoing connection so that xmppserver_listener knows about it - -- otherwise it will assume it is a new incoming connection - cl.register_outgoing(conn, host_session); - do local conn_name = "s2sout"..tostring(conn):match("[a-f0-9]*$"); host_session.log = logger_init(conn_name); diff --git a/core/stanza_router.lua b/core/stanza_router.lua index 0a5ff0be..9ae98f1c 100644 --- a/core/stanza_router.lua +++ b/core/stanza_router.lua @@ -33,6 +33,7 @@ local print = print; function core_process_stanza(origin, stanza) log("debug", "Received["..origin.type.."]: "..tostring(st.reply(st.reply(stanza)))) + if not stanza.attr.xmlns then stanza.attr.xmlns = "jabber:client"; end -- FIXME Hack. This should be removed when we fix namespace handling. -- TODO verify validity of stanza (as well as JID validity) if stanza.name == "iq" and not(#stanza.tags == 1 and stanza.tags[1].attr.xmlns) then if stanza.attr.type == "set" or stanza.attr.type == "get" then @@ -327,7 +328,7 @@ function core_route_stanza(origin, stanza) t_insert(recipients, session); end end - for _, session in pairs(recipient) do + for _, session in pairs(recipients) do session.send(stanza); end else |