aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ejabberd_c2s.erl3
-rw-r--r--src/mod_admin_extra.erl4
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}],