# HG changeset patch # User Kim Alvefur # Date 1461060977 -7200 # Node ID 6c98e783272add76618a3e4af71a8eca8dfe6cf4 # Parent f9a5d9f6056185744dfe40a908620db46adf85c8 mod_bosh: Return a proper BOSH error response instead of deprecated(?) status code (See #343) diff -r f9a5d9f60561 -r 6c98e783272a plugins/mod_bosh.lua --- a/plugins/mod_bosh.lua Tue Apr 19 12:15:20 2016 +0200 +++ b/plugins/mod_bosh.lua Tue Apr 19 12:16:17 2016 +0200 @@ -129,7 +129,9 @@ local ok, err = stream:feed(body); if not ok then module:log("warn", "Error parsing BOSH payload; %s", err) - return 400; + local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", + ["xmlns:stream"] = xmlns_streams, condition = "bad-request" }); + return tostring(close_reply); end -- Stanzas (if any) in the request have now been processed, and @@ -184,7 +186,9 @@ return; -- A response has been sent already end module:log("warn", "Unable to associate request with a session (incomplete request?)"); - return 400; + local close_reply = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate", + ["xmlns:stream"] = xmlns_streams, condition = "item-not-found" }); + return tostring(close_reply) .. "\n"; end