summaryrefslogtreecommitdiff
path: root/src/mod_pubsub.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2015-11-24 18:44:13 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2015-11-24 18:44:13 +0300
commit95265dd3ad8e149d94d08e1a73970fb0bbf55b49 (patch)
treea00a134cf0148a121ea505809cef0d9d49799652 /src/mod_pubsub.erl
parentMake 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.erl118
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