From 821bf930b0713d7b0d32feec17e386246590f616 Mon Sep 17 00:00:00 2001 From: Pouriya Date: Wed, 17 Feb 2021 14:17:01 +0330 Subject: [PATCH] feat: allow modifying c2s session info --- src/ejabberd_sm.erl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index 3f0385156..569dc6d9d 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -150,11 +150,17 @@ route(Packet) -> -spec open_session(sid(), binary(), binary(), binary(), prio(), info()) -> ok. open_session(SID, User, Server, Resource, Priority, Info) -> - set_session(SID, User, Server, Resource, Priority, Info), + Info2 = ejabberd_hooks:run_fold( + sm_pre_register_connection_hook, + Server, + Info, + [SID, User, Server, Resource, Priority] + ), + set_session(SID, User, Server, Resource, Priority, Info2), check_for_sessions_to_replace(User, Server, Resource), JID = jid:make(User, Server, Resource), ejabberd_hooks:run(sm_register_connection_hook, - JID#jid.lserver, [SID, JID, Info]). + JID#jid.lserver, [SID, JID, Info2]). -spec open_session(sid(), binary(), binary(), binary(), info()) -> ok.