Software /
code /
prosody
Comparison
plugins/mod_bosh.lua @ 8524:81fff93d3bc6
mod_bosh: Limit stream to current host (fixes #371)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 13 Dec 2017 15:34:53 +0100 |
parent | 8523:30671b378ab5 |
child | 8525:7be8f649d97d |
comparison
equal
deleted
inserted
replaced
8523:30671b378ab5 | 8524:81fff93d3bc6 |
---|---|
4 -- | 4 -- |
5 -- This project is MIT/X11 licensed. Please see the | 5 -- This project is MIT/X11 licensed. Please see the |
6 -- COPYING file in the source package for more information. | 6 -- COPYING file in the source package for more information. |
7 -- | 7 -- |
8 | 8 |
9 local hosts = _G.hosts; | |
10 local new_xmpp_stream = require "util.xmppstream".new; | 9 local new_xmpp_stream = require "util.xmppstream".new; |
11 local sm = require "core.sessionmanager"; | 10 local sm = require "core.sessionmanager"; |
12 local sm_destroy_session = sm.destroy_session; | 11 local sm_destroy_session = sm.destroy_session; |
13 local new_uuid = require "util.uuid".generate; | 12 local new_uuid = require "util.uuid".generate; |
14 local core_process_stanza = prosody.core_process_stanza; | 13 local core_process_stanza = prosody.core_process_stanza; |
281 log("debug", "BOSH client tried to connect to invalid host: %s", tostring(attr.to)); | 280 log("debug", "BOSH client tried to connect to invalid host: %s", tostring(attr.to)); |
282 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", | 281 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", |
283 ["xmlns:stream"] = xmlns_streams, condition = "improper-addressing" }); | 282 ["xmlns:stream"] = xmlns_streams, condition = "improper-addressing" }); |
284 response:send(tostring(close_reply)); | 283 response:send(tostring(close_reply)); |
285 return; | 284 return; |
286 elseif not hosts[to_host] then | 285 elseif to_host ~= module.host then |
287 -- Unknown host | 286 -- Unknown host |
288 log("debug", "BOSH client tried to connect to unknown host: %s", tostring(attr.to)); | 287 log("debug", "BOSH client tried to connect to unknown host: %s", tostring(attr.to)); |
289 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", | 288 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", |
290 ["xmlns:stream"] = xmlns_streams, condition = "host-unknown" }); | 289 ["xmlns:stream"] = xmlns_streams, condition = "host-unknown" }); |
291 response:send(tostring(close_reply)); | 290 response:send(tostring(close_reply)); |