diff options
author | Kim Alvefur <zash@zash.se> | 2015-09-24 20:15:19 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2015-09-24 20:15:19 +0200 |
commit | b415f80bd6a623b351126d86deb4734984b7e32b (patch) | |
tree | 12d7f0ee52b21fe124cc849278902ba715a35b32 /plugins | |
parent | 26574b47a73b824bc0bb1ac28f47de379ac2c64d (diff) | |
parent | 7dda2051767b494cba55b3b8c3a3086b60252f9a (diff) | |
download | prosody-b415f80bd6a623b351126d86deb4734984b7e32b.tar.gz prosody-b415f80bd6a623b351126d86deb4734984b7e32b.zip |
Merge 0.10->trunk
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_c2s.lua | 7 | ||||
-rw-r--r-- | plugins/mod_s2s/mod_s2s.lua | 9 |
2 files changed, 13 insertions, 3 deletions
diff --git a/plugins/mod_c2s.lua b/plugins/mod_c2s.lua index 1423eaa3..3d9f9f88 100644 --- a/plugins/mod_c2s.lua +++ b/plugins/mod_c2s.lua @@ -83,7 +83,12 @@ function stream_callbacks.streamopened(session, attr) local features = st.stanza("stream:features"); hosts[session.host].events.fire_event("stream-features", { origin = session, features = features }); - send(features); + if features.tags[1] or session.full_jid then + send(features); + else + (session.log or log)("warn", "No features to offer"); + session:close{ condition = "undefined-condition", text = "No features to proceed with" }; + end end function stream_callbacks.streamclosed(session) diff --git a/plugins/mod_s2s/mod_s2s.lua b/plugins/mod_s2s/mod_s2s.lua index 68042a5d..ff8ef45d 100644 --- a/plugins/mod_s2s/mod_s2s.lua +++ b/plugins/mod_s2s/mod_s2s.lua @@ -354,8 +354,13 @@ function stream_callbacks.streamopened(session, attr) (session.log or log)("warn", "No 'to' on stream header from %s means we can't offer any features", from or session.ip or "unknown host"); end - log("debug", "Sending stream features: %s", tostring(features)); - session.sends2s(features); + if ( session.type == "s2sin" or session.type == "s2sout" ) or features.tags[1] then + log("debug", "Sending stream features: %s", tostring(features)); + session.sends2s(features); + else + (session.log or log)("warn", "No features to offer, giving up"); + session:close({ condition = "undefined-condition", text = "No features to offer" }); + end end elseif session.direction == "outgoing" then session.notopen = nil; |