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:
authorHolger Weiss <holger@zedat.fu-berlin.de>2016-06-20 00:32:15 +0300
committerHolger Weiss <holger@zedat.fu-berlin.de>2016-06-20 00:32:15 +0300
commitc91c5aa3521eee2824f66e53eb11bdd60982f37e (patch)
treefadea32008845ea6be9439b02d495a41f33b51ee /src/ejabberd_c2s.erl
parent6f2b0179e7a135794d7c4f893fcf723554361142 (diff)
Fix handling of queued stanzas on session timeout
Don't fail to resend or bounce unacknowledged stanzas if the stream management session timed out. Closes #1160.
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r--src/ejabberd_c2s.erl6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index bda3bbd5f..b11607237 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -2863,7 +2863,8 @@ check_queue_length(#state{mgmt_queue = Queue,
handle_unacked_stanzas(StateData, F)
when StateData#state.mgmt_state == active;
- StateData#state.mgmt_state == pending ->
+ StateData#state.mgmt_state == pending;
+ StateData#state.mgmt_state == timeout ->
Queue = StateData#state.mgmt_queue,
case queue:len(Queue) of
0 ->
@@ -2885,7 +2886,8 @@ handle_unacked_stanzas(_StateData, _F) ->
handle_unacked_stanzas(StateData)
when StateData#state.mgmt_state == active;
- StateData#state.mgmt_state == pending ->
+ StateData#state.mgmt_state == pending;
+ StateData#state.mgmt_state == timeout ->
ResendOnTimeout =
case StateData#state.mgmt_resend of
Resend when is_boolean(Resend) ->