From c91c5aa3521eee2824f66e53eb11bdd60982f37e Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Sun, 19 Jun 2016 23:32:15 +0200 Subject: [PATCH] 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. --- src/ejabberd_c2s.erl | 6 ++++-- 1 file 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) ->