Software /
code /
prosody
Comparison
plugins/mod_bosh.lua @ 11125:5bcddab1659b
Merge 0.11->trunk
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 03 Oct 2020 15:07:48 +0200 |
parent | 10728:2764beb552cd |
parent | 11124:1aea75b63d0a |
child | 11126:cc6b1dab01a2 |
comparison
equal
deleted
inserted
replaced
11122:d60094d9b458 | 11125:5bcddab1659b |
---|---|
280 response:send(tostring(close_reply)); | 280 response:send(tostring(close_reply)); |
281 return; | 281 return; |
282 end | 282 end |
283 | 283 |
284 local to_host = nameprep(attr.to); | 284 local to_host = nameprep(attr.to); |
285 local wait = tonumber(attr.wait); | |
286 if not to_host then | 285 if not to_host then |
287 log("debug", "BOSH client tried to connect to invalid host: %s", attr.to); | 286 log("debug", "BOSH client tried to connect to invalid host: %s", attr.to); |
288 report_bad_host(); | 287 report_bad_host(); |
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 = "improper-addressing" }); | 289 ["xmlns:stream"] = xmlns_streams, condition = "improper-addressing" }); |
291 response:send(tostring(close_reply)); | 290 response:send(tostring(close_reply)); |
292 return; | 291 return; |
293 end | 292 end |
293 | |
294 if not prosody.hosts[to_host] then | |
295 log("debug", "BOSH client tried to connect to non-existant host: %s", attr.to); | |
296 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", | |
297 ["xmlns:stream"] = xmlns_streams, condition = "improper-addressing" }); | |
298 response:send(tostring(close_reply)); | |
299 return; | |
300 end | |
301 | |
302 if prosody.hosts[to_host].type ~= "local" then | |
303 log("debug", "BOSH client tried to connect to %s host: %s", prosody.hosts[to_host].type, attr.to); | |
304 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", | |
305 ["xmlns:stream"] = xmlns_streams, condition = "improper-addressing" }); | |
306 response:send(tostring(close_reply)); | |
307 return; | |
308 end | |
309 | |
310 local wait = tonumber(attr.wait); | |
294 if not rid or (not attr.wait or not wait or wait < 0 or wait % 1 ~= 0) then | 311 if not rid or (not attr.wait or not wait or wait < 0 or wait % 1 ~= 0) then |
295 log("debug", "BOSH client sent invalid rid or wait attributes: rid=%s, wait=%s", attr.rid, attr.wait); | 312 log("debug", "BOSH client sent invalid rid or wait attributes: rid=%s, wait=%s", attr.rid, attr.wait); |
296 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", | 313 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", |
297 ["xmlns:stream"] = xmlns_streams, condition = "bad-request" }); | 314 ["xmlns:stream"] = xmlns_streams, condition = "bad-request" }); |
298 response:send(tostring(close_reply)); | 315 response:send(tostring(close_reply)); |