Comparison

plugins/mod_bosh.lua @ 11123:0f4260f99ea2 0.11

mod_bosh: Pick out the 'wait' before checking it instead of earlier Going to add more host related checks, so to keep the wait variable closer to the related checks
author Kim Alvefur <zash@zash.se>
date Sat, 03 Oct 2020 14:59:11 +0200
parent 9777:2e07d2f71599
child 11124:1aea75b63d0a
comparison
equal deleted inserted replaced
11119:68df52bf08d5 11123:0f4260f99ea2
267 if not sid then 267 if not sid then
268 -- New session request 268 -- New session request
269 context.notopen = nil; -- Signals that we accept this opening tag 269 context.notopen = nil; -- Signals that we accept this opening tag
270 270
271 local to_host = nameprep(attr.to); 271 local to_host = nameprep(attr.to);
272 local wait = tonumber(attr.wait);
273 if not to_host then 272 if not to_host then
274 log("debug", "BOSH client tried to connect to invalid host: %s", tostring(attr.to)); 273 log("debug", "BOSH client tried to connect to invalid host: %s", tostring(attr.to));
275 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", 274 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate",
276 ["xmlns:stream"] = xmlns_streams, condition = "improper-addressing" }); 275 ["xmlns:stream"] = xmlns_streams, condition = "improper-addressing" });
277 response:send(tostring(close_reply)); 276 response:send(tostring(close_reply));
278 return; 277 return;
279 end 278 end
279
280 local wait = tonumber(attr.wait);
280 if not rid or (not attr.wait or not wait or wait < 0 or wait % 1 ~= 0) then 281 if not rid or (not attr.wait or not wait or wait < 0 or wait % 1 ~= 0) then
281 log("debug", "BOSH client sent invalid rid or wait attributes: rid=%s, wait=%s", tostring(attr.rid), tostring(attr.wait)); 282 log("debug", "BOSH client sent invalid rid or wait attributes: rid=%s, wait=%s", tostring(attr.rid), tostring(attr.wait));
282 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", 283 local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate",
283 ["xmlns:stream"] = xmlns_streams, condition = "bad-request" }); 284 ["xmlns:stream"] = xmlns_streams, condition = "bad-request" });
284 response:send(tostring(close_reply)); 285 response:send(tostring(close_reply));