diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-02-16 11:00:26 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-02-16 11:10:24 +0300 |
commit | 8b2d3084986defd6045a0c02706415e0e7ae4b3f (patch) | |
tree | 419b64fc2d07646d221fdfa2f526e057fb34c6d2 /src/mod_shared_roster.erl | |
parent | Merge branch 'master' of github.com:processone/ejabberd (diff) |
Change routing API
Now 'From' and 'To' arguments must be omitted in functions
and structures related to routing.
The commit deprecates the following functions:
ejabberd_router:route/3 in favor of ejabberd_router:route/1
ejabberd_router:route_error/4 in favor of ejabberd_router:route_error/2
ejabberd_local:route_iq/4 in favor of ejabberd_local:route_iq/2
ejabberd_local:route_iq/5 in favor of ejabberd_local:route_iq/3
The format of {route, From, To, Packet} is changed in favor of {route, Packet}
Diffstat (limited to 'src/mod_shared_roster.erl')
-rw-r--r-- | src/mod_shared_roster.erl | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/mod_shared_roster.erl b/src/mod_shared_roster.erl index 8d8d1b8b6..7f2f0b2b3 100644 --- a/src/mod_shared_roster.erl +++ b/src/mod_shared_roster.erl @@ -285,12 +285,12 @@ set_new_rosteritems(UserFrom, ServerFrom, UserTo, RIFrom. set_item(User, Server, Resource, Item) -> - ResIQ = #iq{type = set, id = <<"push", (randoms:get_string())/binary>>, + ResIQ = #iq{from = jid:make(User, Server, Resource), + to = jid:make(Server), + type = set, id = <<"push", (randoms:get_string())/binary>>, sub_els = [#roster_query{ items = [mod_roster:encode_item(Item)]}]}, - ejabberd_router:route(jid:make(User, Server, Resource), - jid:make(Server), - ResIQ). + ejabberd_router:route(ResIQ). c2s_session_opened(#{jid := #jid{luser = LUser, lserver = LServer}, pres_f := PresF, pres_t := PresT} = State) -> @@ -727,7 +727,8 @@ push_item(User, Server, Item) -> items = [mod_roster:encode_item(Item)]}]}, lists:foreach(fun (Resource) -> JID = jid:make(User, Server, Resource), - ejabberd_router:route(jid:remove_resource(JID), JID, Stanza) + ejabberd_router:route( + xmpp:set_from_to(Stanza, jid:remove_resource(JID), JID)) end, ejabberd_sm:get_user_resources(User, Server)). |