XEP-0198: Fix stanza counting corner case issue
authorHolger Weiss <holger@zedat.fu-berlin.de>
Wed, 2 Dec 2015 18:25:10 +0000 (19:25 +0100)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Wed, 2 Dec 2015 18:25:10 +0000 (19:25 +0100)
Don't forget to count outgoing stanzas that are processed while the
ejabberd_c2s process is already waiting for stream resumption.

src/ejabberd_c2s.erl

index f552964180aa507c42a65bb46fbeb46b7b9ade87..b80abfabe0365cac0936b692b1a666091b68a1c8 100644 (file)
@@ -1299,8 +1299,8 @@ session_established2(El, StateData) ->
     fsm_next_state(session_established, NewState).
 
 wait_for_resume({xmlstreamelement, _El} = Event, StateData) ->
-    session_established(Event, StateData),
-    fsm_next_state(wait_for_resume, StateData);
+    Result = session_established(Event, StateData),
+    fsm_next_state(wait_for_resume, element(3, Result));
 wait_for_resume(timeout, StateData) ->
     ?DEBUG("Timed out waiting for resumption of stream for ~s",
           [jid:to_string(StateData#state.jid)]),