diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2015-11-24 18:44:13 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2015-11-24 18:44:13 +0300 |
commit | 95265dd3ad8e149d94d08e1a73970fb0bbf55b49 (patch) | |
tree | a00a134cf0148a121ea505809cef0d9d49799652 /src/mod_pubsub.erl | |
parent | Make Riak working on R18 (diff) |
Move JID related functions to jid.erl (#847)
Diffstat (limited to 'src/mod_pubsub.erl')
-rw-r--r-- | src/mod_pubsub.erl | 118 |
1 files changed, 59 insertions, 59 deletions
diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl index 2482197f..089386a8 100644 --- a/src/mod_pubsub.erl +++ b/src/mod_pubsub.erl @@ -393,8 +393,8 @@ send_loop(State) -> Host = State#state.host, ServerHost = State#state.server_host, DBType = State#state.db_type, - LJID = jlib:jid_tolower(JID), - BJID = jlib:jid_remove_resource(LJID), + LJID = jid:tolower(JID), + BJID = jid:remove_resource(LJID), lists:foreach( fun(PType) -> Subs = get_subscriptions_for_send_last(Host, PType, DBType, JID, LJID, BJID), @@ -416,7 +416,7 @@ send_loop(State) -> fun({U, S, R}) when S == ServerHost -> case user_resources(U, S) of [] -> %% offline - PeerJID = jlib:make_jid(U, S, R), + PeerJID = jid:make(U, S, R), self() ! {presence, User, Server, [Resource], PeerJID}; _ -> %% online % this is already handled by presence probe @@ -437,7 +437,7 @@ send_loop(State) -> {presence, User, Server, Resources, JID} -> spawn(fun() -> Host = State#state.host, - Owner = jlib:jid_remove_resource(jlib:jid_tolower(JID)), + Owner = jid:remove_resource(jid:tolower(JID)), lists:foreach(fun(#pubsub_node{nodeid = {_, Node}, type = Type, id = Nidx, options = Options}) -> case match_option(Options, send_last_published_item, on_sub_and_presence) of true -> @@ -533,7 +533,7 @@ disco_local_items(Acc, _From, _To, _Node, _Lang) -> Acc. disco_sm_identity(empty, From, To, Node, Lang) -> disco_sm_identity([], From, To, Node, Lang); disco_sm_identity(Acc, From, To, Node, _Lang) -> - disco_identity(jlib:jid_tolower(jlib:jid_remove_resource(To)), Node, From) + disco_identity(jid:tolower(jid:remove_resource(To)), Node, From) ++ Acc. disco_identity(_Host, <<>>, _From) -> @@ -582,7 +582,7 @@ disco_sm_features(empty, From, To, Node, Lang) -> disco_sm_features({result, OtherFeatures} = _Acc, From, To, Node, _Lang) -> {result, OtherFeatures ++ - disco_features(jlib:jid_tolower(jlib:jid_remove_resource(To)), Node, From)}; + disco_features(jid:tolower(jid:remove_resource(To)), Node, From)}; disco_sm_features(Acc, _From, _To, _Node, _Lang) -> Acc. disco_features(Host, <<>>, _From) -> @@ -617,7 +617,7 @@ disco_sm_items(empty, From, To, Node, Lang) -> disco_sm_items({result, []}, From, To, Node, Lang); disco_sm_items({result, OtherItems}, From, To, Node, _Lang) -> {result, lists:usort(OtherItems ++ - disco_items(jlib:jid_tolower(jlib:jid_remove_resource(To)), Node, From))}; + disco_items(jid:tolower(jid:remove_resource(To)), Node, From))}; disco_sm_items(Acc, _From, _To, _Node, _Lang) -> Acc. -spec(disco_items/3 :: @@ -636,7 +636,7 @@ disco_items(Host, <<>>, From) -> {result, _} -> [#xmlel{name = <<"item">>, attrs = [{<<"node">>, (Node)}, - {<<"jid">>, jlib:jid_to_string(Host)} + {<<"jid">>, jid:to_string(Host)} | case get_option(Options, title) of false -> []; [Title] -> [{<<"name">>, Title}] @@ -660,7 +660,7 @@ disco_items(Host, Node, From) -> case get_allowed_items_call(Host, Nidx, From, Type, Options, Owners) of {result, Items} -> {result, [#xmlel{name = <<"item">>, - attrs = [{<<"jid">>, jlib:jid_to_string(Host)}, + attrs = [{<<"jid">>, jid:to_string(Host)}, {<<"name">>, ItemId}]} || #pubsub_item{itemid = {ItemId, _}} <- Items]}; _ -> @@ -720,8 +720,8 @@ presence(ServerHost, Presence) -> %% out_subscription(User, Server, JID, subscribed) -> - Owner = jlib:make_jid(User, Server, <<>>), - {PUser, PServer, PResource} = jlib:jid_tolower(JID), + Owner = jid:make(User, Server, <<>>), + {PUser, PServer, PResource} = jid:tolower(JID), PResources = case PResource of <<>> -> user_resources(PUser, PServer); _ -> [PResource] @@ -732,7 +732,7 @@ out_subscription(_, _, _, _) -> true. in_subscription(_, User, Server, Owner, unsubscribed, _) -> - unsubscribe_user(jlib:make_jid(User, Server, <<>>), Owner), + unsubscribe_user(jid:make(User, Server, <<>>), Owner), true; in_subscription(_, _, _, _, _, _) -> true. @@ -749,7 +749,7 @@ unsubscribe_user(Entity, Owner) -> end, [], [Entity#jid.lserver, Owner#jid.lserver]))] end). unsubscribe_user(Host, Entity, Owner) -> - BJID = jlib:jid_tolower(jlib:jid_remove_resource(Owner)), + BJID = jid:tolower(jid:remove_resource(Owner)), lists:foreach(fun (PType) -> {result, Subs} = node_action(Host, PType, get_entity_subscriptions, @@ -780,9 +780,9 @@ unsubscribe_user(Host, Entity, Owner) -> %% remove_user(User, Server) -> - LUser = jlib:nodeprep(User), - LServer = jlib:nameprep(Server), - Entity = jlib:make_jid(LUser, LServer, <<>>), + LUser = jid:nodeprep(User), + LServer = jid:nameprep(Server), + Entity = jid:make(LUser, LServer, <<>>), Host = host(LServer), HomeTreeBase = <<"/home/", LServer/binary, "/", LUser/binary>>, spawn(fun () -> @@ -1201,7 +1201,7 @@ iq_disco_items(Host, Item, From, RSM) -> ). iq_sm(From, To, #iq{type = Type, sub_el = SubEl, xmlns = XMLNS, lang = Lang} = IQ) -> ServerHost = To#jid.lserver, - LOwner = jlib:jid_tolower(jlib:jid_remove_resource(To)), + LOwner = jid:tolower(jid:remove_resource(To)), Res = case XMLNS of ?NS_PUBSUB -> iq_pubsub(LOwner, ServerHost, From, Type, SubEl, Lang); @@ -1495,7 +1495,7 @@ get_pending_nodes(Host, Owner, Plugins) -> %% subscriptions on Host and Node.</p> send_pending_auth_events(Host, Node, Owner) -> ?DEBUG("Sending pending auth events for ~s on ~s:~s", - [jlib:jid_to_string(Owner), Host, Node]), + [jid:to_string(Owner), Host, Node]), Action = fun (#pubsub_node{id = Nidx, type = Type}) -> case lists:member(<<"get-pending">>, plugin_features(Host, Type)) of true -> @@ -1510,8 +1510,8 @@ send_pending_auth_events(Host, Node, Owner) -> case transaction(Host, Node, Action, sync_dirty) of {result, {N, Subs}} -> lists:foreach(fun - ({J, pending, _SubId}) -> send_authorization_request(N, jlib:make_jid(J)); - ({J, pending}) -> send_authorization_request(N, jlib:make_jid(J)); + ({J, pending, _SubId}) -> send_authorization_request(N, jid:make(J)); + ({J, pending}) -> send_authorization_request(N, jid:make(J)); (_) -> ok end, Subs), @@ -1574,7 +1574,7 @@ send_authorization_request(#pubsub_node{nodeid = {Host, Node}, type = Type, id = [#xmlel{name = <<"value">>, attrs = [], children = - [{xmlcdata, jlib:jid_to_string(Subscriber)}]}]}, + [{xmlcdata, jid:to_string(Subscriber)}]}]}, #xmlel{name = <<"field">>, attrs = [{<<"var">>, @@ -1590,7 +1590,7 @@ send_authorization_request(#pubsub_node{nodeid = {Host, Node}, type = Type, id = children = [{xmlcdata, <<"false">>}]}]}]}]}, lists:foreach(fun (Owner) -> - ejabberd_router:route(service_jid(Host), jlib:make_jid(Owner), Stanza) + ejabberd_router:route(service_jid(Host), jid:make(Owner), Stanza) end, node_owners_action(Host, Type, Nidx, O)). @@ -1635,7 +1635,7 @@ send_authorization_approval(Host, JID, SNode, Subscription) -> [{<<"subscription">>, subscription_to_string(S)}] end, Stanza = event_stanza(<<"subscription">>, - [{<<"jid">>, jlib:jid_to_string(JID)} + [{<<"jid">>, jid:to_string(JID)} | nodeAttr(SNode)] ++ SubAttrs), ejabberd_router:route(service_jid(Host), JID, Stanza). @@ -1648,8 +1648,8 @@ handle_authorization_response(Host, From, To, Packet, XFields) -> {{value, {_, [Node]}}, {value, {_, [SSubscriber]}}, {value, {_, [SAllow]}}} -> - FromLJID = jlib:jid_tolower(jlib:jid_remove_resource(From)), - Subscriber = jlib:string_to_jid(SSubscriber), + FromLJID = jid:tolower(jid:remove_resource(From)), + Subscriber = jid:from_string(SSubscriber), Allow = case SAllow of <<"1">> -> true; <<"true">> -> true; @@ -2045,7 +2045,7 @@ subscribe_node(Host, Node, From, JID, Configuration) -> [#xmlel{name = <<"pubsub">>, attrs = [{<<"xmlns">>, ?NS_PUBSUB}], children = [#xmlel{name = <<"subscription">>, - attrs = [{<<"jid">>, jlib:jid_to_string(Subscriber)} + attrs = [{<<"jid">>, jid:to_string(Subscriber)} | SubAttrs]}]}] end, case transaction(Host, Node, Action, sync_dirty) of @@ -2526,13 +2526,13 @@ dispatch_items({FromU, FromS, FromR} = From, {ToU, ToS, ToR} = To, Node, Message = add_message_type(Stanza, NotificationType), ejabberd_c2s:send_filtered(C2SPid, {pep_message, <<Node/binary, "+notify">>}, - service_jid(From), jlib:make_jid(To), + service_jid(From), jid:make(To), Message) end; dispatch_items(From, To, _Node, Options, Stanza) -> NotificationType = get_option(Options, notification_type, headline), Message = add_message_type(Stanza, NotificationType), - ejabberd_router:route(service_jid(From), jlib:make_jid(To), Message). + ejabberd_router:route(service_jid(From), jid:make(To), Message). %% @doc <p>Return the list of affiliations as an XMPP response.</p> -spec(get_affiliations/4 :: @@ -2620,7 +2620,7 @@ get_affiliations(Host, Node, JID) -> []; ({AJID, Aff}) -> [#xmlel{name = <<"affiliation">>, - attrs = [{<<"jid">>, jlib:jid_to_string(AJID)}, + attrs = [{<<"jid">>, jid:to_string(AJID)}, {<<"affiliation">>, affiliation_to_string(Aff)}]}] end, Affs), @@ -2644,17 +2644,17 @@ get_affiliations(Host, Node, JID) -> | {error, xmlel()} ). set_affiliations(Host, Node, From, EntitiesEls) -> - Owner = jlib:jid_tolower(jlib:jid_remove_resource(From)), + Owner = jid:tolower(jid:remove_resource(From)), Entities = lists:foldl(fun (_, error) -> error; (El, Acc) -> case El of #xmlel{name = <<"affiliation">>, attrs = Attrs} -> - JID = jlib:string_to_jid(xml:get_attr_s(<<"jid">>, Attrs)), + JID = jid:from_string(xml:get_attr_s(<<"jid">>, Attrs)), Affiliation = string_to_affiliation(xml:get_attr_s(<<"affiliation">>, Attrs)), if (JID == error) or (Affiliation == false) -> error; - true -> [{jlib:jid_tolower(JID), Affiliation} | Acc] + true -> [{jid:tolower(JID), Affiliation} | Acc] end end end, @@ -2667,7 +2667,7 @@ set_affiliations(Host, Node, From, EntitiesEls) -> Owners = node_owners_call(Host, Type, Nidx, O), case lists:member(Owner, Owners) of true -> - OwnerJID = jlib:make_jid(Owner), + OwnerJID = jid:make(Owner), FilteredEntities = case Owners of [Owner] -> [E || E <- Entities, element(1, E) =/= OwnerJID]; _ -> Entities @@ -2676,13 +2676,13 @@ set_affiliations(Host, Node, From, EntitiesEls) -> node_call(Host, Type, set_affiliation, [Nidx, JID, Affiliation]), case Affiliation of owner -> - NewOwner = jlib:jid_tolower(jlib:jid_remove_resource(JID)), + NewOwner = jid:tolower(jid:remove_resource(JID)), NewOwners = [NewOwner | Owners], tree_call(Host, set_node, [N#pubsub_node{owners = NewOwners}]); none -> - OldOwner = jlib:jid_tolower(jlib:jid_remove_resource(JID)), + OldOwner = jid:tolower(jid:remove_resource(JID)), case lists:member(OldOwner, Owners) of true -> NewOwners = Owners -- [OldOwner], @@ -2756,7 +2756,7 @@ read_sub(Host, Node, Nidx, Subscriber, SubId, Lang) -> [XdataEl] end, OptionsEl = #xmlel{name = <<"options">>, - attrs = [{<<"jid">>, jlib:jid_to_string(Subscriber)}, + attrs = [{<<"jid">>, jid:to_string(Subscriber)}, {<<"subid">>, SubId} | nodeAttr(Node)], children = Children}, @@ -2832,7 +2832,7 @@ get_subscriptions(Host, Node, JID, Plugins) when is_list(Plugins) -> unsupported, <<"retrieve-subscriptions">>)}, Acc}; true -> - Subscriber = jlib:jid_remove_resource(JID), + Subscriber = jid:remove_resource(JID), {result, Subs} = node_action(Host, Type, get_entity_subscriptions, [Host, Subscriber]), @@ -2866,14 +2866,14 @@ get_subscriptions(Host, Node, JID, Plugins) when is_list(Plugins) -> <<>> -> [#xmlel{name = <<"subscription">>, attrs = - [{<<"jid">>, jlib:jid_to_string(SubJID)}, + [{<<"jid">>, jid:to_string(SubJID)}, {<<"subid">>, SubId}, {<<"subscription">>, subscription_to_string(Sub)} | nodeAttr(SubsNode)]}]; SubsNode -> [#xmlel{name = <<"subscription">>, attrs = - [{<<"jid">>, jlib:jid_to_string(SubJID)}, + [{<<"jid">>, jid:to_string(SubJID)}, {<<"subid">>, SubId}, {<<"subscription">>, subscription_to_string(Sub)}]}]; _ -> @@ -2884,13 +2884,13 @@ get_subscriptions(Host, Node, JID, Plugins) when is_list(Plugins) -> <<>> -> [#xmlel{name = <<"subscription">>, attrs = - [{<<"jid">>, jlib:jid_to_string(SubJID)}, + [{<<"jid">>, jid:to_string(SubJID)}, {<<"subscription">>, subscription_to_string(Sub)} | nodeAttr(SubsNode)]}]; SubsNode -> [#xmlel{name = <<"subscription">>, attrs = - [{<<"jid">>, jlib:jid_to_string(SubJID)}, + [{<<"jid">>, jid:to_string(SubJID)}, {<<"subscription">>, subscription_to_string(Sub)}]}]; _ -> [] @@ -2930,12 +2930,12 @@ get_subscriptions(Host, Node, JID) -> ({AJID, Sub}) -> [#xmlel{name = <<"subscription">>, attrs = - [{<<"jid">>, jlib:jid_to_string(AJID)}, + [{<<"jid">>, jid:to_string(AJID)}, {<<"subscription">>, subscription_to_string(Sub)}]}]; ({AJID, Sub, SubId}) -> [#xmlel{name = <<"subscription">>, attrs = - [{<<"jid">>, jlib:jid_to_string(AJID)}, + [{<<"jid">>, jid:to_string(AJID)}, {<<"subscription">>, subscription_to_string(Sub)}, {<<"subid">>, SubId}]}] end, @@ -2974,18 +2974,18 @@ get_subscriptions_for_send_last(_Host, _PType, _, _JID, _LJID, _BJID) -> []. set_subscriptions(Host, Node, From, EntitiesEls) -> - Owner = jlib:jid_tolower(jlib:jid_remove_resource(From)), + Owner = jid:tolower(jid:remove_resource(From)), Entities = lists:foldl(fun (_, error) -> error; (El, Acc) -> case El of #xmlel{name = <<"subscription">>, attrs = Attrs} -> - JID = jlib:string_to_jid(xml:get_attr_s(<<"jid">>, Attrs)), + JID = jid:from_string(xml:get_attr_s(<<"jid">>, Attrs)), Sub = string_to_subscription(xml:get_attr_s(<<"subscription">>, Attrs)), SubId = xml:get_attr_s(<<"subid">>, Attrs), if (JID == error) or (Sub == false) -> error; - true -> [{jlib:jid_tolower(JID), Sub, SubId} | Acc] + true -> [{jid:tolower(JID), Sub, SubId} | Acc] end end end, @@ -3001,10 +3001,10 @@ set_subscriptions(Host, Node, From, EntitiesEls) -> attrs = [{<<"xmlns">>, ?NS_PUBSUB}], children = [#xmlel{name = <<"subscription">>, - attrs = [{<<"jid">>, jlib:jid_to_string(JID)}, + attrs = [{<<"jid">>, jid:to_string(JID)}, {<<"subscription">>, subscription_to_string(Sub)} | nodeAttr(Node)]}]}]}, - ejabberd_router:route(service_jid(Host), jlib:make_jid(JID), Stanza) + ejabberd_router:route(service_jid(Host), jid:make(JID), Stanza) end, Action = fun (#pubsub_node{type = Type, id = Nidx, owners = O}) -> Owners = node_owners_call(Host, Type, Nidx, O), @@ -3076,7 +3076,7 @@ get_roster_info(OwnerUser, OwnerServer, {SubscriberUser, SubscriberServer, _}, A Groups), {PresenceSubscription, RosterGroup}; get_roster_info(OwnerUser, OwnerServer, JID, AllowedGroups) -> - get_roster_info(OwnerUser, OwnerServer, jlib:jid_tolower(JID), AllowedGroups). + get_roster_info(OwnerUser, OwnerServer, jid:tolower(JID), AllowedGroups). string_to_affiliation(<<"owner">>) -> owner; string_to_affiliation(<<"publisher">>) -> publisher; @@ -3243,7 +3243,7 @@ items_event_stanza(Node, Items) -> DateTime = calendar:now_to_datetime(ModifNow), {T_string, Tz_string} = jlib:timestamp_to_iso(DateTime, utc), [#xmlel{name = <<"delay">>, attrs = [{<<"xmlns">>, ?NS_DELAY}, - {<<"from">>, jlib:jid_to_string(ModifUSR)}, + {<<"from">>, jid:to_string(ModifUSR)}, {<<"stamp">>, <<T_string/binary, Tz_string/binary>>}], children = [{xmlcdata, <<>>}]}]; _ -> @@ -3445,7 +3445,7 @@ broadcast_stanza(Host, _Node, _Nidx, _Type, NodeOptions, SubsByDepth, NotifyType add_shim_headers(Stanza, subid_shim(SubIDs)) end, lists:foreach(fun(To) -> - ejabberd_router:route(From, jlib:make_jid(To), StanzaToSend) + ejabberd_router:route(From, jid:make(To), StanzaToSend) end, LJIDs) end, SubIDsByJID). @@ -3462,9 +3462,9 @@ broadcast_stanza({LUser, LServer, LResource}, Publisher, Node, Nidx, Type, NodeO %% See XEP-0163 1.1 section 4.3.1 ejabberd_c2s:broadcast(C2SPid, {pep_message, <<((Node))/binary, "+notify">>}, - _Sender = jlib:make_jid(LUser, LServer, <<"">>), + _Sender = jid:make(LUser, LServer, <<"">>), _StanzaToSend = add_extended_headers(Stanza, - _ReplyTo = extended_headers([jlib:jid_to_string(Publisher)]))); + _ReplyTo = extended_headers([jid:to_string(Publisher)]))); _ -> ?DEBUG("~p@~p has no session; can't deliver ~p to contacts", [LUser, LServer, BaseStanza]) end; @@ -3684,8 +3684,8 @@ max_items(Host, Options) -> -define(JLIST_CONFIG_FIELD(Label, Var, Opts), ?LISTXFIELD(Label, <<"pubsub#", (atom_to_binary(Var, latin1))/binary>>, - (jlib:jid_to_string(get_option(Options, Var))), - [jlib:jid_to_string(O) || O <- Opts])). + (jid:to_string(get_option(Options, Var))), + [jid:to_string(O) || O <- Opts])). -define(ALIST_CONFIG_FIELD(Label, Var, Opts), ?LISTXFIELD(Label, @@ -3910,7 +3910,7 @@ set_cached_item({_, ServerHost, _}, Nidx, ItemId, Publisher, Payload) -> set_cached_item(Host, Nidx, ItemId, Publisher, Payload) -> case is_last_item_cache_enabled(Host) of true -> mnesia:dirty_write({pubsub_last_item, Nidx, ItemId, - {now(), jlib:jid_tolower(jlib:jid_remove_resource(Publisher))}, + {now(), jid:tolower(jid:remove_resource(Publisher))}, Payload}); _ -> ok end. @@ -4206,11 +4206,11 @@ extended_error(#xmlel{name = Error, attrs = Attrs, children = SubEls}, Ext, ExtA children = lists:reverse([#xmlel{name = Ext, attrs = ExtAttrs} | SubEls])}. string_to_ljid(JID) -> - case jlib:string_to_jid(JID) of + case jid:from_string(JID) of error -> {<<>>, <<>>, <<>>}; J -> - case jlib:jid_tolower(J) of + case jid:tolower(J) of error -> {<<>>, <<>>, <<>>}; J1 -> J1 end @@ -4279,7 +4279,7 @@ extended_headers(Jids) -> || Jid <- Jids]. on_user_offline(_, JID, _) -> - {User, Server, Resource} = jlib:jid_tolower(JID), + {User, Server, Resource} = jid:tolower(JID), case user_resources(User, Server) of [] -> purge_offline({User, Server, Resource}); _ -> true |