From 8707c0b04579a7a5926129cd4c75e540ae4380f4 Mon Sep 17 00:00:00 2001 From: Badlop Date: Fri, 27 Mar 2015 11:43:39 +0100 Subject: [PATCH] Fix set_presence command (ejabberd-contrib#61) --- src/ejabberd_c2s.erl | 3 +++ src/mod_admin_extra.erl | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 0e3f856ca..1d4d9a270 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -1743,6 +1743,9 @@ handle_info(system_shutdown, StateName, StateData) -> ok end, {stop, normal, StateData}; +handle_info({route_xmlstreamelement, El}, StateName, StateData) -> + session_established({xmlstreamelement, El}, StateData), + fsm_next_state(StateName, StateData); handle_info({force_update_presence, LUser}, StateName, #state{user = LUser, server = LServer} = StateData) -> NewStateData = case StateData#state.pres_last of diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl index 5ae0cb96a..b0cb9be99 100644 --- a/src/mod_admin_extra.erl +++ b/src/mod_admin_extra.erl @@ -881,8 +881,8 @@ stringize(String) -> set_presence(User, Host, Resource, Type, Show, Status, Priority) -> Pid = ejabberd_sm:get_session_pid(User, Host, Resource), - USR = jlib:make_jid(User, Host, Resource), - US = jlib:make_jid(User, Host, <<>>), + USR = jlib:jid_to_string(jlib:make_jid(User, Host, Resource)), + US = jlib:jid_to_string(jlib:make_jid(User, Host, <<>>)), Message = {route_xmlstreamelement, {xmlel, <<"presence">>, [{<<"from">>, USR}, {<<"to">>, US}, {<<"type">>, Type}],