diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-01-23 13:51:05 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-01-23 13:51:05 +0300 |
commit | 435e5e62634b542c2a42673bea7f81e9cc2a5c04 (patch) | |
tree | b927d972c426ca5ea4ce20343e4eb981848934e8 /src/ejabberd_c2s.erl | |
parent | Make a message is not bounced if it's archived (diff) |
Make test suite working again
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r-- | src/ejabberd_c2s.erl | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 6350e41f..fd265563 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -368,11 +368,15 @@ bind(R, #{user := U, server := S, access := Access, lang := Lang, allow -> State1 = open_session(State#{resource => Resource, sid => ejabberd_sm:make_sid()}), - State2 = ejabberd_hooks:run_fold( - c2s_session_opened, LServer, State1, []), + LBJID = jid:remove_resource(jid:tolower(JID)), + PresF = ?SETS:add_element(LBJID, maps:get(pres_f, State1)), + PresT = ?SETS:add_element(LBJID, maps:get(pres_t, State1)), + State2 = State1#{pres_f => PresF, pres_t => PresT}, + State3 = ejabberd_hooks:run_fold( + c2s_session_opened, LServer, State2, []), ?INFO_MSG("(~s) Opened c2s session for ~s", [SockMod:pp(Socket), jid:to_string(JID)]), - {ok, State2}; + {ok, State3}; deny -> ejabberd_hooks:run(forbidden_session_hook, LServer, [JID]), ?INFO_MSG("(~s) Forbidden c2s session for ~s", |