aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_s2s/mod_s2s.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2015-09-24 20:05:23 +0200
committerKim Alvefur <zash@zash.se>2015-09-24 20:05:23 +0200
commit7dda2051767b494cba55b3b8c3a3086b60252f9a (patch)
treee62a34540641f19247d54c2bec77cce42f37878d /plugins/mod_s2s/mod_s2s.lua
parenteb5aa38412c052e2d6aa8d99dcc32817a7836795 (diff)
downloadprosody-7dda2051767b494cba55b3b8c3a3086b60252f9a.tar.gz
prosody-7dda2051767b494cba55b3b8c3a3086b60252f9a.zip
mod_c2s, mod_s2s: Close incoming connections if there are no features to offer on incomplete streams (fixes #285)
Diffstat (limited to 'plugins/mod_s2s/mod_s2s.lua')
-rw-r--r--plugins/mod_s2s/mod_s2s.lua9
1 files changed, 7 insertions, 2 deletions
diff --git a/plugins/mod_s2s/mod_s2s.lua b/plugins/mod_s2s/mod_s2s.lua
index 480761f4..b44000a6 100644
--- a/plugins/mod_s2s/mod_s2s.lua
+++ b/plugins/mod_s2s/mod_s2s.lua
@@ -351,8 +351,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;