From b174c0dba2d13e37a17ccb71a124063e2873215d Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Wed, 5 Jun 2013 21:39:56 +0100 Subject: mod_bosh: Return errors when appropriate (invalid XML, missing sid) --- plugins/mod_bosh.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/mod_bosh.lua b/plugins/mod_bosh.lua index 3c5e18f0..90522031 100644 --- a/plugins/mod_bosh.lua +++ b/plugins/mod_bosh.lua @@ -123,7 +123,10 @@ function handle_POST(event) -- In particular, the streamopened() stream callback is where -- much of the session logic happens, because it's where we first -- get to see the 'sid' of this request. - stream:feed(body); + if not stream:feed(body) then + module:log("warn", "Error parsing BOSH payload") + return 400; + end -- Stanzas (if any) in the request have now been processed, and -- we take care of the high-level BOSH logic here, including @@ -174,6 +177,8 @@ function handle_POST(event) return true; -- Inform http server we shall reply later end end + module:log("warn", "Unable to associate request with a session (incomplete request?)"); + return 400; end -- cgit v1.2.3