aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2010-05-21 19:24:50 +0100
committerMatthew Wild <mwild1@gmail.com>2010-05-21 19:24:50 +0100
commitd20a2a83c7a141f4eb8cb161cf1d6bfd97eaa1e1 (patch)
treebb8196be5af4da8efee60cfcb7f2f4a70fa4a032
parent057b593a68d47869e23834321e65a2af5b0f46fc (diff)
downloadprosody-d20a2a83c7a141f4eb8cb161cf1d6bfd97eaa1e1.tar.gz
prosody-d20a2a83c7a141f4eb8cb161cf1d6bfd97eaa1e1.zip
mod_bosh: Add option consider_bosh_secure to treat BOSH sessions as encrypted even if they don't use HTTP (useful for when secure requests are proxied to Prosody over HTTP)
-rw-r--r--plugins/mod_bosh.lua4
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/mod_bosh.lua b/plugins/mod_bosh.lua
index b11de6c6..6326a743 100644
--- a/plugins/mod_bosh.lua
+++ b/plugins/mod_bosh.lua
@@ -31,6 +31,8 @@ local BOSH_DEFAULT_POLLING = tonumber(module:get_option("bosh_max_polling")) or
local BOSH_DEFAULT_REQUESTS = tonumber(module:get_option("bosh_max_requests")) or 2;
local BOSH_DEFAULT_MAXPAUSE = tonumber(module:get_option("bosh_max_pause")) or 300;
+local consider_bosh_secure = module:get_option_boolean("consider_bosh_secure");
+
local default_headers = { ["Content-Type"] = "text/xml; charset=utf-8" };
local session_close_reply = { headers = default_headers, body = st.stanza("body", { xmlns = xmlns_bosh, type = "terminate" }), attr = {} };
@@ -177,7 +179,7 @@ function stream_callbacks.streamopened(request, attr)
local session = { type = "c2s_unauthed", conn = {}, sid = sid, rid = tonumber(attr.rid)-1, host = attr.to, bosh_version = attr.ver, bosh_wait = attr.wait, streamid = sid,
bosh_hold = BOSH_DEFAULT_HOLD, bosh_max_inactive = BOSH_DEFAULT_INACTIVITY,
requests = { }, send_buffer = {}, reset_stream = bosh_reset_stream, close = bosh_close_stream,
- dispatch_stanza = core_process_stanza, log = logger.init("bosh"..sid), secure = request.secure };
+ dispatch_stanza = core_process_stanza, log = logger.init("bosh"..sid), secure = consider_bosh_secure or request.secure };
sessions[sid] = session;
log("info", "New BOSH session, assigned it sid '%s'", sid);