]> granicus.if.org Git - ejabberd/commitdiff
Translate disconnect_user/2 string sent to client
authorHolger Weiss <holger@zedat.fu-berlin.de>
Tue, 29 Apr 2014 09:56:28 +0000 (11:56 +0200)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Tue, 29 Apr 2014 09:56:28 +0000 (11:56 +0200)
src/ejabberd_c2s.erl
src/ejabberd_sm.erl

index 5d8a7bb07ce0abdf49d9a3bd2f8b731c6d0a95ff..87b32c43c8304c64616307ac2880da1c1124c1f7 100644 (file)
@@ -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),
index 060643af09e499853358244a6624b52dc3ba57ce..58debf0c15d2b335d2e4fdee942a2d960370f40a 100644 (file)
@@ -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).