From 53bd0ee818c154cd0fb3da531f1275ac41b23b03 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Sat, 17 Oct 2015 22:07:29 +0200 Subject: [PATCH] ejabberd_c2s: Close socket when waiting for resume Make sure the socket is closed when mod_ping calls ejabberd_c2s:stop/1 for an XEP-0198 session. --- src/ejabberd_c2s.erl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index c82f1a34c..f48f44add 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -1202,6 +1202,7 @@ session_established({xmlstreamerror, _}, StateData) -> send_trailer(StateData), {stop, normal, StateData}; session_established(closed, #state{mgmt_state = active} = StateData) -> + catch (StateData#state.sockmod):close(StateData#state.socket), fsm_next_state(wait_for_resume, StateData); session_established(closed, StateData) -> {stop, normal, StateData}.