When client is closed, include the Reason in the stream trailer stanza.
authorBadlop <badlop@process-one.net>
Tue, 9 Jun 2009 12:09:48 +0000 (12:09 +0000)
committerBadlop <badlop@process-one.net>
Tue, 9 Jun 2009 12:09:48 +0000 (12:09 +0000)
SVN Revision: 2153

src/ejabberd_c2s.erl

index 6b8add66a958648c6b14005ede5a53ad822e2244..6567d909d5d0973aac8488d5a50d84ec97a215a5 100644 (file)
@@ -1263,7 +1263,12 @@ handle_info({route, From, To, Packet}, StateName, StateData) ->
        end,
     if
        Pass == exit ->
-           catch send_text(StateData, ?STREAM_TRAILER),
+           %% When Pass==exit, NewState contains a string instead of a #state{}
+           Lang = StateData#state.lang,
+            catch send_text(StateData,
+                           xml:element_to_string(
+                             ?SERRT_CONFLICT(Lang, NewState))
+                           ++ ?STREAM_TRAILER),
            {stop, normal, StateData};
        Pass ->
            Attrs2 = jlib:replace_from_to_attrs(jlib:jid_to_string(From),