aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2014-04-29 11:56:28 +0200
committerHolger Weiss <holger@zedat.fu-berlin.de>2014-04-29 11:56:28 +0200
commitebbceab93fb3f3ceb35c6e01b2e93d1d7aa6ecf4 (patch)
treeb576e0781a59e354bf105c5c475b28b47253bc9e /src
parentAvoid #state.lang type errors in corner cases (diff)
Translate disconnect_user/2 string sent to client
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_c2s.erl4
-rw-r--r--src/ejabberd_sm.erl3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 5d8a7bb07..87b32c43c 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -1229,6 +1229,10 @@ handle_info(replaced, StateName, StateData) ->
Lang = StateData#state.lang,
Xmlelement = ?SERRT_CONFLICT(Lang, <<"Replaced by new connection">>),
handle_info({kick, replaced, Xmlelement}, StateName, StateData);
+handle_info(disconnect, StateName, StateData) ->
+ Lang = StateData#state.lang,
+ Xmlelement = ?SERRT_POLICY_VIOLATION(Lang, <<"has been kicked">>),
+ handle_info({kick, kicked_by_admin, Xmlelement}, StateName, StateData);
handle_info({kick, Reason, Xmlelement}, _StateName, StateData) ->
send_element(StateData, Xmlelement),
send_trailer(StateData),
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl
index 060643af0..58debf0c1 100644
--- a/src/ejabberd_sm.erl
+++ b/src/ejabberd_sm.erl
@@ -826,12 +826,11 @@ user_resources(User, Server) ->
lists:sort(Resources).
disconnect_user(User, Server) ->
- Xmlelement = ?SERRT_POLICY_VIOLATION(<<"en">>, <<"has been kicked">>),
Resources = get_user_resources(User, Server),
lists:foreach(
fun(Resource) ->
PID = get_session_pid(User, Server, Resource),
- PID ! {kick, kicked_by_admin, Xmlelement}
+ PID ! disconnect
end, Resources),
length(Resources).