summaryrefslogtreecommitdiff
path: root/src/ejabberd_sm.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-12-28 09:47:11 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-12-28 09:47:11 +0300
commit309bdfbe285c82726d2ce1406fc26c19a6b37bd9 (patch)
tree2e5f67c08c65b3951d86e19f0a86f4140e321b0b /src/ejabberd_sm.erl
parentRewrite ejabberd_service to use new XMPP stream API (diff)
Add xmpp_stream_out behaviour and rewrite s2s/SM code
Diffstat (limited to 'src/ejabberd_sm.erl')
-rw-r--r--src/ejabberd_sm.erl20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl
index 11b829a9..46008bec 100644
--- a/src/ejabberd_sm.erl
+++ b/src/ejabberd_sm.erl
@@ -359,20 +359,20 @@ unregister_iq_handler(Host, XMLNS) ->
ejabberd_sm ! {unregister_iq_handler, Host, XMLNS}.
%% Why the hell do we have so many similar kicks?
-c2s_handle_info({noreply, #{lang := Lang} = State}, replaced) ->
+c2s_handle_info(#{lang := Lang} = State, replaced) ->
State1 = State#{replaced => true},
Err = xmpp:serr_conflict(<<"Replaced by new connection">>, Lang),
- ejabberd_c2s:send(State1, Err);
-c2s_handle_info({noreply, #{lang := Lang} = State}, kick) ->
+ {stop, ejabberd_c2s:send(State1, Err)};
+c2s_handle_info(#{lang := Lang} = State, kick) ->
Err = xmpp:serr_policy_violation(<<"has been kicked">>, Lang),
- c2s_handle_info({noreply, State}, {kick, kicked_by_admin, Err});
-c2s_handle_info({noreply, State}, {kick, _Reason, Err}) ->
- ejabberd_c2s:send(State, Err);
-c2s_handle_info({noreply, #{lang := Lang} = State}, {exit, Reason}) ->
+ c2s_handle_info(State, {kick, kicked_by_admin, Err});
+c2s_handle_info(State, {kick, _Reason, Err}) ->
+ {stop, ejabberd_c2s:send(State, Err)};
+c2s_handle_info(#{lang := Lang} = State, {exit, Reason}) ->
Err = xmpp:serr_conflict(Reason, Lang),
- ejabberd_c2s:send(State, Err);
-c2s_handle_info(Acc, _) ->
- Acc.
+ {stop, ejabberd_c2s:send(State, Err)};
+c2s_handle_info(State, _) ->
+ State.
%%====================================================================
%% gen_server callbacks