diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2016-06-20 00:32:15 +0300 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2016-06-20 00:32:15 +0300 |
commit | c91c5aa3521eee2824f66e53eb11bdd60982f37e (patch) | |
tree | fadea32008845ea6be9439b02d495a41f33b51ee | |
parent | 6f2b0179e7a135794d7c4f893fcf723554361142 (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.
-rw-r--r-- | src/ejabberd_c2s.erl | 6 |
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) -> |