diff options
author | Kim Alvefur <zash@zash.se> | 2014-09-02 17:24:25 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2014-09-02 17:24:25 +0200 |
commit | 316e35bb4f68a30174276fdc053a49f16aeca8ca (patch) | |
tree | a30c886f6fca66f796055d5a0ad9b41c01d7679e /plugins/mod_s2s | |
parent | 67c30db26d22c65f2656bde89cd3d78ff77f8858 (diff) | |
download | prosody-316e35bb4f68a30174276fdc053a49f16aeca8ca.tar.gz prosody-316e35bb4f68a30174276fdc053a49f16aeca8ca.zip |
mod_s2s: Close offending s2s streams missing an 'id' attribute with a stream error instead of throwing an unhandled error
Diffstat (limited to 'plugins/mod_s2s')
-rw-r--r-- | plugins/mod_s2s/mod_s2s.lua | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/plugins/mod_s2s/mod_s2s.lua b/plugins/mod_s2s/mod_s2s.lua index 44334428..834e6a1c 100644 --- a/plugins/mod_s2s/mod_s2s.lua +++ b/plugins/mod_s2s/mod_s2s.lua @@ -365,8 +365,11 @@ function stream_callbacks.streamopened(session, attr) session.notopen = nil; elseif session.direction == "outgoing" then session.notopen = nil; - -- If we are just using the connection for verifying dialback keys, we won't try and auth it - if not attr.id then error("stream response did not give us a streamid!!!"); end + if not attr.id then + log("error", "Stream response did not give us a stream id!"); + session:close({ condition = "undefined-condition", text = "Missing stream ID" }); + return; + end session.streamid = attr.id; if session.secure and not session.cert_chain_status then |