# HG changeset patch # User Kim Alvefur # Date 1378928629 -7200 # Node ID 1818a7f0858001fe6025e10fa3ae14759f4c6053 # Parent c99d8b666eb4155c31eb30f726efee93b5b69069 mod_bidi: Add missing 'is_bidi' flag for incoming s2s diff -r c99d8b666eb4 -r 1818a7f08580 mod_bidi/mod_bidi.lua --- a/mod_bidi/mod_bidi.lua Mon Sep 09 15:46:51 2013 +0200 +++ b/mod_bidi/mod_bidi.lua Wed Sep 11 21:43:49 2013 +0200 @@ -34,6 +34,7 @@ conflicting_session:close{ condition = "conflict", text = "Replaced by bidirectional stream" } end bidi_sessions[origin.from_host] = origin; + origin.is_bidi = true; elseif origin.type == "s2sout" then -- handle incoming stanzas correctly local bidi_session = { type = "s2sin"; direction = "incoming"; @@ -66,9 +67,10 @@ -- Incoming s2s module:hook("s2s-stream-features", function(event) local origin, features = event.origin, event.features; - if not origin.is_bidi and not hosts[module.host].s2sout[origin.from_host] - and (not secure_only or origin.cert_chain_status == "valid" - and origin.cert_identity_status == "valid") then + if not origin.is_bidi and not origin.bidi_session and not origin.do_bidi + and not hosts[module.host].s2sout[origin.from_host] + and (not secure_only or (origin.cert_chain_status == "valid" + and origin.cert_identity_status == "valid")) then module:log("debug", "Announcing support for bidirectional streams"); features:tag("bidi", { xmlns = xmlns_bidi_feature }):up(); end