diff options
author | Matthew Wild <mwild1@gmail.com> | 2009-04-05 20:06:39 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2009-04-05 20:06:39 +0100 |
commit | a27b83955118295304b593d0f7874958b57d610a (patch) | |
tree | 29ca0bb0ece050ecd4f922ceef94b8c2101ebfb8 | |
parent | 08a1dbd27f868ee5cdfb7efdd98cc3ea5d3bdffb (diff) | |
download | prosody-a27b83955118295304b593d0f7874958b57d610a.tar.gz prosody-a27b83955118295304b593d0f7874958b57d610a.zip |
sessionmanager, s2smanager, mod_component: Send reply </stream:stream> when client closes stream
-rw-r--r-- | core/s2smanager.lua | 5 | ||||
-rw-r--r-- | core/sessionmanager.lua | 5 | ||||
-rw-r--r-- | plugins/mod_component.lua | 2 |
3 files changed, 12 insertions, 0 deletions
diff --git a/core/s2smanager.lua b/core/s2smanager.lua index f4f7ad36..4c758159 100644 --- a/core/s2smanager.lua +++ b/core/s2smanager.lua @@ -244,6 +244,11 @@ function streamopened(session, attr) session.notopen = nil; end +function streamclosed(session) + session.send("</stream:stream>"); + session.notopen = true; +end + function initiate_dialback(session) -- generate dialback key session.dialback_key = generate_dialback(session.streamid, session.to_host, session.from_host); diff --git a/core/sessionmanager.lua b/core/sessionmanager.lua index b2b3c31b..1232922f 100644 --- a/core/sessionmanager.lua +++ b/core/sessionmanager.lua @@ -182,6 +182,11 @@ function streamopened(session, attr) session.notopen = nil; end +function streamclosed(session) + session.send("</stream:stream>"); + session.notopen = true; +end + function send_to_available_resources(user, host, stanza) local count = 0; local to = stanza.attr.to; diff --git a/plugins/mod_component.lua b/plugins/mod_component.lua index 5b59ca70..dbb52bf2 100644 --- a/plugins/mod_component.lua +++ b/plugins/mod_component.lua @@ -69,6 +69,8 @@ function stream_callbacks.streamopened(session, attr) end function stream_callbacks.streamclosed(session) + session.send("</stream:stream>"); + session.notopen = true; end local core_process_stanza = core_process_stanza; |