Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2009-06-09 16:10:24 +0400
committerBadlop <badlop@process-one.net>2009-06-09 16:10:24 +0400
commit8de03275c3cb23f06ee88dbdc7392d1b9dbc49b3 (patch)
tree4739a999f759d6abd7adedcbc952d4b51a305be8 /src/ejabberd_c2s.erl
parent60f52b2cd83d2ba45572b5af8b8329505a80fde9 (diff)
When client is closed, include the Reason in the stream trailer stanza.
SVN Revision: 2154
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r--src/ejabberd_c2s.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 9fd4a3767..412a26816 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -1186,6 +1186,9 @@ handle_info({route, From, To, Packet}, StateName, StateData) ->
end,
if
Pass == exit ->
+ %% When Pass==exit, NewState contains a string instead of a #state{}
+ Lang = StateData#state.lang,
+ catch send_element(StateData, exmpp_stream:error('undefined-condition', {Lang, NewState})),
catch send_element(StateData, exmpp_stream:closing()),
{stop, normal, StateData};
Pass ->