diff --git a/src/ejabberd_auth_anonymous.erl b/src/ejabberd_auth_anonymous.erl index 0a9361180..2808bcc70 100644 --- a/src/ejabberd_auth_anonymous.erl +++ b/src/ejabberd_auth_anonymous.erl @@ -180,7 +180,7 @@ remove_connection(SID, LUser, LServer) when is_list(LUser), is_list(LServer) -> register_connection(SID, JID, Info) when ?IS_JID(JID) -> LUser = exmpp_jid:lnode(JID), - LServer = exmpp_jid:ldomain(JID), + LServer = exmpp_jid:prep_domain(JID), case proplists:get_value(auth_module, Info) of undefined -> ok; @@ -201,7 +201,7 @@ register_connection(SID, JID, Info) when ?IS_JID(JID) -> unregister_connection(SID, JID, _) when ?IS_JID(JID) -> LUser = exmpp_jid:lnode(JID), - LServer = exmpp_jid:ldomain(JID), + LServer = exmpp_jid:prep_domain(JID), purge_hook(anonymous_user_exist(LUser, LServer), LUser, LServer), remove_connection(SID, LUser, LServer). diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 4054d9eb2..147f48109 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -1574,7 +1574,7 @@ check_privacy_route(From, StateData, FromRoute, To, Packet) -> %% Check if privacy rules allow this delivery is_privacy_allow(From, To, Packet, PrivacyList) -> User = exmpp_jid:lnode(To), - Server = exmpp_jid:ldomain(To), + Server = exmpp_jid:prep_domain(To), allow == ejabberd_hooks:run_fold( privacy_check_packet, Server, allow, diff --git a/src/ejabberd_local.erl b/src/ejabberd_local.erl index 78d67784d..74005ad59 100644 --- a/src/ejabberd_local.erl +++ b/src/ejabberd_local.erl @@ -76,7 +76,7 @@ start_link() -> process_iq(From, To, Packet) -> case exmpp_iq:xmlel_to_iq(Packet) of #iq{kind = request, ns = XMLNS} = IQ_Rec -> - Host = exmpp_jid:ldomain(To), + Host = exmpp_jid:prep_domain(To), case ets:lookup(?IQTABLE, {XMLNS, Host}) of [{_, Module, Function}] -> ResIQ = Module:Function(From, To, IQ_Rec), @@ -325,7 +325,7 @@ do_route(From, To, Packet) -> <<"result">> -> ok; _ -> ejabberd_hooks:run(local_send_to_resource_hook, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), [From, To, Packet]) end end. diff --git a/src/ejabberd_router.erl b/src/ejabberd_router.erl index 915f4379a..5f60932b7 100644 --- a/src/ejabberd_router.erl +++ b/src/ejabberd_router.erl @@ -332,7 +332,7 @@ do_route(OrigFrom, OrigTo, OrigPacket) -> case ejabberd_hooks:run_fold(filter_packet, {OrigFrom, OrigTo, OrigPacket}, []) of {From, To, Packet} -> - LDomain = exmpp_jid:ldomain(To), + LDomain = exmpp_jid:prep_domain(To), case mnesia:dirty_read(route, LDomain) of [] -> ejabberd_s2s:route(From, To, Packet); diff --git a/src/ejabberd_s2s.erl b/src/ejabberd_s2s.erl index 0c68c694c..c13d8beaa 100644 --- a/src/ejabberd_s2s.erl +++ b/src/ejabberd_s2s.erl @@ -283,7 +283,7 @@ do_route(From, To, Packet) -> ?DEBUG("sending to process ~p~n", [Pid]), NewPacket1 = exmpp_stanza:set_sender(Packet, From), NewPacket = exmpp_stanza:set_recipient(NewPacket1, To), - MyServer = exmpp_jid:ldomain(From), + MyServer = exmpp_jid:prep_domain(From), ejabberd_hooks:run( s2s_send_packet, MyServer, diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl index d4fc78152..82eab82ce 100644 --- a/src/ejabberd_s2s_in.erl +++ b/src/ejabberd_s2s_in.erl @@ -406,7 +406,7 @@ stream_established({xmlstreamelement, El}, StateData) -> (Name == 'presence')) -> ejabberd_hooks:run( s2s_receive_packet, - exmpp_jid:ldomain(From), + exmpp_jid:prep_domain(From), [From, To, El]), ejabberd_router:route( From, To, El); @@ -426,7 +426,7 @@ stream_established({xmlstreamelement, El}, StateData) -> (Name == 'presence')) -> ejabberd_hooks:run( s2s_receive_packet, - exmpp_jid:ldomain(From), + exmpp_jid:prep_domain(From), [From, To, El]), ejabberd_router:route( From, To, El); diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl index e786a4d4d..1fe22afae 100644 --- a/src/ejabberd_service.erl +++ b/src/ejabberd_service.erl @@ -231,7 +231,7 @@ stream_established({xmlstreamelement, El}, StateData) -> %% The default is the standard behaviour in XEP-0114 _ -> FromJID1 = exmpp_jid:parse(From), - Server = exmpp_jid:ldomain(FromJID1), + Server = exmpp_jid:prep_domain(FromJID1), case lists:member(Server, StateData#state.hosts) of true -> FromJID1; false -> error diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index b5c8270e9..b3b301887 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -112,7 +112,7 @@ route(From, To, Packet) -> open_session(SID, JID, Info) when ?IS_JID(JID) -> set_session(SID, JID, undefined, Info), check_for_sessions_to_replace(JID), - ejabberd_hooks:run(sm_register_connection_hook, exmpp_jid:ldomain(JID), + ejabberd_hooks:run(sm_register_connection_hook, exmpp_jid:prep_domain(JID), [SID, JID, Info]). close_session(SID, JID ) when ?IS_JID(JID)-> @@ -124,7 +124,7 @@ close_session(SID, JID ) when ?IS_JID(JID)-> mnesia:delete({session, SID}) end, mnesia:sync_dirty(F), - ejabberd_hooks:run(sm_remove_connection_hook, exmpp_jid:ldomain(JID), + ejabberd_hooks:run(sm_remove_connection_hook, exmpp_jid:prep_domain(JID), [SID, JID, Info]). check_in_subscription(Acc, User, Server, _JID, _Type, _Reason) @@ -160,7 +160,7 @@ get_user_resources(User, Server) get_user_ip(JID) when ?IS_JID(JID) -> USR = {exmpp_jid:lnode(JID), - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), exmpp_jid:lresource(JID)}, case mnesia:dirty_index_read(session, USR, #session.usr) of [] -> @@ -194,33 +194,33 @@ get_user_info(User, Server, Resource) set_presence(SID, JID, Priority, Presence, Info) when ?IS_JID(JID) -> set_session(SID, JID, Priority, Info), ejabberd_hooks:run(set_presence_hook, - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), [exmpp_jid:lnode(JID), - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), exmpp_jid:lresource(JID), Presence]). unset_presence(SID, JID, Status, Info) when ?IS_JID(JID)-> set_session(SID, JID, undefined, Info), ejabberd_hooks:run(unset_presence_hook, - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), [exmpp_jid:lnode(JID), - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), exmpp_jid:lresource(JID), Status]). close_session_unset_presence(SID, JID, Status) when ?IS_JID(JID) -> close_session(SID, JID), ejabberd_hooks:run(unset_presence_hook, - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), [exmpp_jid:lnode(JID), - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), exmpp_jid:lresource(JID), Status]). get_session_pid(JID) when ?IS_JID(JID) -> USR = {exmpp_jid:lnode(JID), - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), exmpp_jid:lresource(JID)}, case catch mnesia:dirty_index_read(session, USR, #session.usr) of [#session{sid = {_, Pid}}] -> Pid; @@ -385,9 +385,9 @@ code_change(_OldVsn, State, _Extra) -> %%-------------------------------------------------------------------- set_session(SID, JID, Priority, Info) -> - US = {exmpp_jid:lnode(JID), exmpp_jid:ldomain(JID)}, + US = {exmpp_jid:lnode(JID), exmpp_jid:prep_domain(JID)}, USR = {exmpp_jid:lnode(JID), - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), exmpp_jid:lresource(JID)}, F = fun() -> mnesia:write(#session{sid = SID, @@ -427,40 +427,40 @@ do_route(From, To, Packet) -> {is_privacy_allow(From, To, Packet) andalso ejabberd_hooks:run_fold( roster_in_subscription, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), false, - [exmpp_jid:lnode(To), exmpp_jid:ldomain(To), From, subscribe, Reason]), + [exmpp_jid:lnode(To), exmpp_jid:prep_domain(To), From, subscribe, Reason]), true}; 'subscribed' -> {is_privacy_allow(From, To, Packet) andalso ejabberd_hooks:run_fold( roster_in_subscription, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), false, - [exmpp_jid:lnode(To), exmpp_jid:ldomain(To), From, subscribed, <<>>]), + [exmpp_jid:lnode(To), exmpp_jid:prep_domain(To), From, subscribed, <<>>]), true}; 'unsubscribe' -> {is_privacy_allow(From, To, Packet) andalso ejabberd_hooks:run_fold( roster_in_subscription, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), false, - [exmpp_jid:lnode(To), exmpp_jid:ldomain(To), From, unsubscribe, <<>>]), + [exmpp_jid:lnode(To), exmpp_jid:prep_domain(To), From, unsubscribe, <<>>]), true}; 'unsubscribed' -> {is_privacy_allow(From, To, Packet) andalso ejabberd_hooks:run_fold( roster_in_subscription, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), false, - [exmpp_jid:lnode(To), exmpp_jid:ldomain(To), From, unsubscribed, <<>>]), + [exmpp_jid:lnode(To), exmpp_jid:prep_domain(To), From, unsubscribed, <<>>]), true}; _ -> {true, false} end, if Pass -> PResources = get_user_present_resources( - exmpp_jid:lnode(To), exmpp_jid:ldomain(To)), + exmpp_jid:lnode(To), exmpp_jid:prep_domain(To)), lists:foreach( fun({_, R}) -> do_route( @@ -482,13 +482,13 @@ do_route(From, To, Packet) -> exmpp_jid:full(To, R), Packet) end, get_user_resources(exmpp_jid:lnode(To), - exmpp_jid:ldomain(To))); + exmpp_jid:prep_domain(To))); _ -> ok end; _ -> USR = {exmpp_jid:lnode(To), - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), exmpp_jid:lresource(To)}, case mnesia:dirty_index_read(session, USR, #session.usr) of [] -> @@ -522,7 +522,7 @@ do_route(From, To, Packet) -> %% or if there are no current sessions for the user. is_privacy_allow(From, To, Packet) -> User = exmpp_jid:lnode(To), - Server = exmpp_jid:ldomain(To), + Server = exmpp_jid:prep_domain(To), PrivacyList = ejabberd_hooks:run_fold(privacy_get_user_list, Server, #userlist{}, [User, Server]), is_privacy_allow(From, To, Packet, PrivacyList). @@ -531,7 +531,7 @@ is_privacy_allow(From, To, Packet) -> %% Function copied from ejabberd_c2s.erl is_privacy_allow(From, To, Packet, PrivacyList) -> User = exmpp_jid:lnode(To), - Server = exmpp_jid:ldomain(To), + Server = exmpp_jid:prep_domain(To), allow == ejabberd_hooks:run_fold( privacy_check_packet, Server, allow, @@ -543,7 +543,7 @@ is_privacy_allow(From, To, Packet, PrivacyList) -> route_message(From, To, Packet) -> LUser = exmpp_jid:lnode(To), - LServer = exmpp_jid:ldomain(To), + LServer = exmpp_jid:prep_domain(To), PrioRes = get_user_present_resources(LUser, LServer), case catch lists:max(PrioRes) of {Priority, _R} when is_integer(Priority), Priority >= 0 -> @@ -579,7 +579,7 @@ route_message(From, To, Packet) -> exmpp_jid:ldomain_as_list(To)) of true -> ejabberd_hooks:run(offline_message_hook, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), [From, To, Packet]); _ -> Err = exmpp_stanza:reply_with_error( @@ -636,7 +636,7 @@ check_for_sessions_to_replace(JID) -> check_existing_resources(JID) -> USR = {exmpp_jid:lnode(JID), - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), exmpp_jid:lresource(JID)}, %% A connection exist with the same resource. We replace it: SIDs = mnesia:dirty_select( @@ -659,7 +659,7 @@ check_max_sessions(JID) -> SIDs = mnesia:dirty_select( session, [{#session{sid = '$1', - us = {exmpp_jid:lnode(JID), exmpp_jid:ldomain(JID)}, + us = {exmpp_jid:lnode(JID), exmpp_jid:prep_domain(JID)}, _ = '_'}, [], ['$1']}]), MaxSessions = get_max_user_sessions(JID), @@ -690,7 +690,7 @@ get_max_user_sessions(JID) -> process_iq(From, To, Packet) -> case exmpp_iq:xmlel_to_iq(Packet) of #iq{kind = request, ns = XMLNS} = IQ_Rec -> - LServer = exmpp_jid:ldomain(To), + LServer = exmpp_jid:prep_domain(To), case ets:lookup(sm_iqtable, {XMLNS, LServer}) of [{_, Module, Function}] -> ResIQ = Module:Function(From, To, IQ_Rec), diff --git a/src/ejabberd_system_monitor.erl b/src/ejabberd_system_monitor.erl index aea38787a..0911e94b2 100644 --- a/src/ejabberd_system_monitor.erl +++ b/src/ejabberd_system_monitor.erl @@ -218,7 +218,7 @@ get_admin_jids() -> try JID = exmpp_jid:parse(S), [{exmpp_jid:lnode(JID), - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), exmpp_jid:lresource(JID)}] catch _ -> diff --git a/src/jlib.erl b/src/jlib.erl index d914bf73f..53941eee8 100644 --- a/src/jlib.erl +++ b/src/jlib.erl @@ -383,7 +383,7 @@ short_bare_jid(JID) -> short_prepd_jid(JID) -> {exmpp_jid:lnode(JID), - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), exmpp_jid:lresource(JID)}. short_prepd_bare_jid(JID) -> diff --git a/src/mod_adhoc.erl b/src/mod_adhoc.erl index 19dfcd9d8..ab169d1b9 100644 --- a/src/mod_adhoc.erl +++ b/src/mod_adhoc.erl @@ -103,7 +103,7 @@ get_local_commands(Acc, _From, To, <<>>, Lang) -> end; get_local_commands(_Acc, From, To, ?NS_ADHOC_b, Lang) -> - ejabberd_hooks:run_fold(adhoc_local_items, exmpp_jid:ldomain(To), {result, []}, [From, To, Lang]); + ejabberd_hooks:run_fold(adhoc_local_items, exmpp_jid:prep_domain(To), {result, []}, [From, To, Lang]); get_local_commands(_Acc, _From, _To, <<"ping">>, _Lang) -> {result, []}; @@ -134,7 +134,7 @@ get_sm_commands(Acc, _From, To, <<>>, Lang) -> end; get_sm_commands(_Acc, From, To, ?NS_ADHOC_b, Lang) -> - ejabberd_hooks:run_fold(adhoc_sm_items, exmpp_jid:ldomain(To), {result, []}, [From, To, Lang]); + ejabberd_hooks:run_fold(adhoc_sm_items, exmpp_jid:prep_domain(To), {result, []}, [From, To, Lang]); get_sm_commands(Acc, _From, _To, _Node, _Lang) -> Acc. @@ -221,7 +221,7 @@ process_adhoc_request(From, To, IQ_Rec, Hook) -> {error, Error} -> exmpp_iq:error(IQ_Rec, Error); #adhoc_request{} = AdhocRequest -> - case ejabberd_hooks:run_fold(Hook, exmpp_jid:ldomain(To), empty, + case ejabberd_hooks:run_fold(Hook, exmpp_jid:prep_domain(To), empty, [From, To, AdhocRequest]) of ignore -> ignore; diff --git a/src/mod_announce.erl b/src/mod_announce.erl index abaef4b05..bdf702d39 100644 --- a/src/mod_announce.erl +++ b/src/mod_announce.erl @@ -702,7 +702,7 @@ announce_online(From, To, Packet) -> Err = exmpp_stanza:reply_with_error(Packet, 'forbidden'), ejabberd_router:route(To, From, Err); allow -> - announce_online1(ejabberd_sm:get_vh_session_list(exmpp_jid:ldomain(To)), + announce_online1(ejabberd_sm:get_vh_session_list(exmpp_jid:prep_domain(To)), exmpp_jid:domain_as_list(To), Packet) end. @@ -837,7 +837,7 @@ send_motd(JID) -> [#motd_users{}] -> ok; _ -> - Local = exmpp_jid:make(exmpp_jid:ldomain(JID)), + Local = exmpp_jid:make(exmpp_jid:prep_domain(JID)), ejabberd_router:route(Local, JID, Packet), F = fun() -> mnesia:write(#motd_users{us = US}) diff --git a/src/mod_caps.erl b/src/mod_caps.erl index b7d740379..67bc804ef 100644 --- a/src/mod_caps.erl +++ b/src/mod_caps.erl @@ -315,7 +315,7 @@ handle_cast({note_caps, From, %% lots of caps disco requests. %#jid{node = U, domain = S, resource = R} = From, U = exmpp_jid:lnode(From), - S = exmpp_jid:ldomain(From), + S = exmpp_jid:prep_domain(From), R = exmpp_jid:resource(From), BJID = exmpp_jid:jid_to_binary(From), mnesia:transaction(fun() -> diff --git a/src/mod_configure.erl b/src/mod_configure.erl index b33c6366f..83cb1df83 100644 --- a/src/mod_configure.erl +++ b/src/mod_configure.erl @@ -299,7 +299,7 @@ get_sm_items(Acc, From, To, Node, Lang) -> get_user_resources(BareJID) -> Rs = ejabberd_sm:get_user_resources(exmpp_jid:lnode(BareJID), - exmpp_jid:ldomain(BareJID)), + exmpp_jid:prep_domain(BareJID)), lists:map(fun(R) -> #xmlel{ns = ?NS_DISCO_ITEMS, name = 'item', attrs = [?XMLATTR('jid', @@ -1641,7 +1641,7 @@ set_form(From, Host, ?NS_ADMINL("get-user-lastlogin"), Lang, XData) -> %% TODO: Update time format to XEP-0202: Entity Time FLast = case ejabberd_sm:get_user_resources(exmpp_jid:lnode(User), - exmpp_jid:ldomain(Server)) of + exmpp_jid:prep_domain(Server)) of [] -> _US = {User, Server}, case get_last_info(User, Server) of @@ -1676,13 +1676,13 @@ set_form(From, Host, ?NS_ADMINL("user-stats"), Lang, XData) -> true = (Server == Host) orelse (get_permission_level(From) == global), Resources = ejabberd_sm:get_user_resources(exmpp_jid:lnode(JID), - exmpp_jid:ldomain(JID)), + exmpp_jid:prep_domain(JID)), IPs1 = [ejabberd_sm:get_user_ip(exmpp_jid:full(JID,Resource)) || Resource <- Resources], IPs = [inet_parse:ntoa(IP)++":"++integer_to_list(Port) || {IP, Port} <- IPs1], Items = ejabberd_hooks:run_fold(roster_get, - exmpp_jid:ldomain(JID), + exmpp_jid:prep_domain(JID), [], [{list_to_binary(User), list_to_binary(Server)}]), Rostersize = integer_to_list(erlang:length(Items)), diff --git a/src/mod_disco.erl b/src/mod_disco.erl index a75b173f4..13288a01a 100644 --- a/src/mod_disco.erl +++ b/src/mod_disco.erl @@ -133,7 +133,7 @@ process_local_iq_items(From, To, #iq{type = get, payload = SubEl, Node = exmpp_xml:get_attribute_as_binary(SubEl, 'node', <<>>), case ejabberd_hooks:run_fold(disco_local_items, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), empty, [From, To, Node, Lang]) of {result, Items} -> @@ -155,11 +155,11 @@ process_local_iq_info(From, To, #iq{type = get, payload = SubEl, lang = Lang} = IQ_Rec) -> Node = exmpp_xml:get_attribute_as_binary(SubEl, 'node', <<>>), Identity = ejabberd_hooks:run_fold(disco_local_identity, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), [], [From, To, Node, Lang]), case ejabberd_hooks:run_fold(disco_local_features, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), empty, [From, To, Node, Lang]) of {result, Features} -> @@ -274,7 +274,7 @@ process_sm_iq_items(From, To, #iq{type = get, payload = SubEl, lang = Lang} = IQ_Rec) -> Node = exmpp_xml:get_attribute_as_binary(SubEl, 'node', <<>>), case ejabberd_hooks:run_fold(disco_sm_items, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), empty, [From, To, Node, Lang]) of {result, Items} -> @@ -348,11 +348,11 @@ process_sm_iq_info(From, To, #iq{type = get, payload = SubEl, lang = Lang} = IQ_Rec) -> Node = exmpp_xml:get_attribute_as_binary(SubEl, 'node', <<>>), Identity = ejabberd_hooks:run_fold(disco_sm_identity, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), [], [From, To, Node, Lang]), case ejabberd_hooks:run_fold(disco_sm_features, - exmpp_jid:ldomain(To), + exmpp_jid:prep_domain(To), empty, [From, To, Node, Lang]) of {result, Features} -> @@ -393,7 +393,7 @@ get_sm_features(Acc, _From, _To, _Node, _Lang) -> get_user_resources(JID) -> Rs = ejabberd_sm:get_user_resources(exmpp_jid:lnode(JID), - exmpp_jid:ldomain(JID)), + exmpp_jid:prep_domain(JID)), lists:map(fun(R) -> #xmlel{ns = ?NS_DISCO_ITEMS, name = 'item', attrs = [ ?XMLATTR('jid', diff --git a/src/mod_last.erl b/src/mod_last.erl index 321ef8327..5f8cb4d08 100644 --- a/src/mod_last.erl +++ b/src/mod_last.erl @@ -105,23 +105,23 @@ now_to_seconds({MegaSecs, Secs, _MicroSecs}) -> process_sm_iq(From, To, #iq{type = get} = IQ_Rec) -> {Subscription, _Groups} = ejabberd_hooks:run_fold( - roster_get_jid_info, exmpp_jid:ldomain(To), - {none, []}, [exmpp_jid:lnode(To), exmpp_jid:ldomain(To), From]), + roster_get_jid_info, exmpp_jid:prep_domain(To), + {none, []}, [exmpp_jid:lnode(To), exmpp_jid:prep_domain(To), From]), if (Subscription == both) or (Subscription == from) -> UserListRecord = ejabberd_hooks:run_fold( - privacy_get_user_list, exmpp_jid:ldomain(To), + privacy_get_user_list, exmpp_jid:prep_domain(To), #userlist{}, - [exmpp_jid:lnode(To), exmpp_jid:ldomain(To)]), + [exmpp_jid:lnode(To), exmpp_jid:prep_domain(To)]), case ejabberd_hooks:run_fold( - privacy_check_packet, exmpp_jid:ldomain(To), + privacy_check_packet, exmpp_jid:prep_domain(To), allow, - [exmpp_jid:lnode(To), exmpp_jid:ldomain(To), UserListRecord, + [exmpp_jid:lnode(To), exmpp_jid:prep_domain(To), UserListRecord, {From, To, exmpp_presence:available()}, out]) of allow -> - get_last(IQ_Rec, exmpp_jid:lnode(To), exmpp_jid:ldomain(To)); + get_last(IQ_Rec, exmpp_jid:lnode(To), exmpp_jid:prep_domain(To)); deny -> exmpp_iq:error(IQ_Rec, 'not-allowed') end; diff --git a/src/mod_last_odbc.erl b/src/mod_last_odbc.erl index 961a20329..09943751e 100644 --- a/src/mod_last_odbc.erl +++ b/src/mod_last_odbc.erl @@ -99,18 +99,18 @@ process_sm_iq(From, To, #iq{type = get} = IQ_Rec) -> Server = exmpp_jid:ldomain_as_list(To), {Subscription, _Groups} = ejabberd_hooks:run_fold( - roster_get_jid_info, exmpp_jid:ldomain(To), - {none, []}, [exmpp_jid:lnode(To), exmpp_jid:ldomain(To), From]), + roster_get_jid_info, exmpp_jid:prep_domain(To), + {none, []}, [exmpp_jid:lnode(To), exmpp_jid:prep_domain(To), From]), if (Subscription == both) or (Subscription == from) -> UserListRecord = ejabberd_hooks:run_fold( - privacy_get_user_list, exmpp_jid:ldomain(To), + privacy_get_user_list, exmpp_jid:prep_domain(To), #userlist{}, - [exmpp_jid:lnode(To), exmpp_jid:ldomain(To)]), + [exmpp_jid:lnode(To), exmpp_jid:prep_domain(To)]), case ejabberd_hooks:run_fold( - privacy_check_packet, exmpp_jid:ldomain(To), + privacy_check_packet, exmpp_jid:prep_domain(To), allow, - [exmpp_jid:lnode(To), exmpp_jid:ldomain(To), UserListRecord, + [exmpp_jid:lnode(To), exmpp_jid:prep_domain(To), UserListRecord, {From, To, exmpp_presence:available()}, out]) of diff --git a/src/mod_muc/mod_muc.erl b/src/mod_muc/mod_muc.erl index 69d6fce1a..624c771df 100644 --- a/src/mod_muc/mod_muc.erl +++ b/src/mod_muc/mod_muc.erl @@ -146,7 +146,7 @@ process_iq_disco_items(Host, From, To, #iq{lang = Lang} = IQ) when is_binary(Hos can_use_nick(_Host, _JID, <<>>) -> false; can_use_nick(Host, JID, Nick) when is_binary(Host), is_binary(Nick) -> - LUS = {exmpp_jid:lnode(JID), exmpp_jid:ldomain(JID)}, + LUS = {exmpp_jid:lnode(JID), exmpp_jid:prep_domain(JID)}, case catch mnesia:dirty_select( muc_registered, [{#muc_registered{us_host = '$1', @@ -662,7 +662,7 @@ flush() -> iq_get_register_info(Host, From, Lang) -> LUser = exmpp_jid:lnode(From), - LServer = exmpp_jid:ldomain(From), + LServer = exmpp_jid:prep_domain(From), LUS = {LUser, LServer}, {Nick, Registered} = case catch mnesia:dirty_read(muc_registered, {LUS, Host}) of @@ -692,7 +692,7 @@ iq_get_register_info(Host, From, Lang) -> iq_set_register_info(Host, From, Nick, Lang) when is_binary(Host), is_binary(Nick) -> LUser = exmpp_jid:lnode(From), - LServer = exmpp_jid:ldomain(From), + LServer = exmpp_jid:prep_domain(From), LUS = {LUser, LServer}, F = fun() -> case Nick of diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl index c9c69d078..d64b78930 100644 --- a/src/mod_muc/mod_muc_room.erl +++ b/src/mod_muc/mod_muc_room.erl @@ -3495,7 +3495,7 @@ add_to_log(Type, Data, StateData) -> tab_add_online_user(JID, StateData) -> LUser = exmpp_jid:lnode(JID), - LServer = exmpp_jid:ldomain(JID), + LServer = exmpp_jid:prep_domain(JID), US = {LUser, LServer}, Room = StateData#state.room, Host = StateData#state.host, @@ -3507,7 +3507,7 @@ tab_add_online_user(JID, StateData) -> tab_remove_online_user(JID, StateData) when ?IS_JID(JID) -> LUser = exmpp_jid:lnode(JID), - LServer = exmpp_jid:ldomain(JID), + LServer = exmpp_jid:prep_domain(JID), tab_remove_online_user({LUser, LServer, none},StateData); tab_remove_online_user({LUser, LServer,_}, StateData) -> @@ -3520,7 +3520,7 @@ tab_remove_online_user({LUser, LServer,_}, StateData) -> tab_count_user(JID) -> LUser = exmpp_jid:lnode(JID), - LServer = exmpp_jid:ldomain(JID), + LServer = exmpp_jid:prep_domain(JID), US = {LUser, LServer}, case catch ets:select( muc_online_users, diff --git a/src/mod_privacy.erl b/src/mod_privacy.erl index 7fbc8443b..3989bba39 100644 --- a/src/mod_privacy.erl +++ b/src/mod_privacy.erl @@ -661,7 +661,7 @@ is_type_match(Type, Value, JID, Subscription, Groups) -> jid -> {User, Server, Resource} = Value, ((User == undefined) orelse (User == []) orelse (User == exmpp_jid:lnode(JID))) - andalso ((Server == undefined) orelse (Server == []) orelse (Server == exmpp_jid:ldomain(JID))) + andalso ((Server == undefined) orelse (Server == []) orelse (Server == exmpp_jid:prep_domain(JID))) andalso ((Resource == undefined) orelse (Resource == []) orelse (Resource == exmpp_jid:lresource(JID))); subscription -> Value == Subscription; diff --git a/src/mod_privacy_odbc.erl b/src/mod_privacy_odbc.erl index b94b1a649..42f96157a 100644 --- a/src/mod_privacy_odbc.erl +++ b/src/mod_privacy_odbc.erl @@ -660,7 +660,7 @@ is_type_match(Type, Value, JID, Subscription, Groups) -> jid -> {User, Server, Resource} = Value, ((User == undefined) orelse (User == []) orelse (User == exmpp_jid:lnode(JID))) - andalso ((Server == undefined) orelse (Server == []) orelse (Server == exmpp_jid:ldomain(JID))) + andalso ((Server == undefined) orelse (Server == []) orelse (Server == exmpp_jid:prep_domain(JID))) andalso ((Resource == undefined) orelse (Resource == []) orelse (Resource == exmpp_jid:lresource(JID))); subscription -> Value == Subscription; diff --git a/src/mod_private.erl b/src/mod_private.erl index 7edf4d433..313a312f0 100644 --- a/src/mod_private.erl +++ b/src/mod_private.erl @@ -74,7 +74,7 @@ process_sm_iq(From, To, #iq{type = Type} = IQ_Rec) -> process_iq_get(From, _To, #iq{payload = SubEl} = IQ_Rec) -> LUser = exmpp_jid:lnode(From), - LServer = exmpp_jid:ldomain(From), + LServer = exmpp_jid:prep_domain(From), case catch get_data(LUser, LServer, exmpp_xml:get_child_elements(SubEl)) of @@ -89,7 +89,7 @@ process_iq_get(From, _To, #iq{payload = SubEl} = IQ_Rec) -> process_iq_set(From, _To, #iq{payload = SubEl} = IQ_Rec) -> LUser = exmpp_jid:lnode(From), - LServer = exmpp_jid:ldomain(From), + LServer = exmpp_jid:prep_domain(From), F = fun() -> lists:foreach( fun(El) -> diff --git a/src/mod_roster.erl b/src/mod_roster.erl index 6b5559bcb..a817bbad9 100644 --- a/src/mod_roster.erl +++ b/src/mod_roster.erl @@ -163,8 +163,8 @@ process_local_iq(From, To, #iq{type = set} = IQ_Rec) %% IQ_Result = exmpp_iq:iq() process_iq_get(From, To, IQ_Rec) -> - US = {exmpp_jid:lnode(From), exmpp_jid:ldomain(From)}, - case catch ejabberd_hooks:run_fold(roster_get, exmpp_jid:ldomain(To), [], [US]) of + US = {exmpp_jid:lnode(From), exmpp_jid:prep_domain(From)}, + case catch ejabberd_hooks:run_fold(roster_get, exmpp_jid:prep_domain(To), [], [US]) of Items when is_list(Items) -> XItems = lists:map(fun item_to_xml/1, Items), Result = #xmlel{ns = ?NS_ROSTER, name = 'query', @@ -251,7 +251,7 @@ process_item_set(From, To, #xmlel{} = El) -> JID1 = exmpp_jid:parse(exmpp_xml:get_attribute_as_binary(El, 'jid', <<>>)), User = exmpp_jid:node(From), LUser = exmpp_jid:lnode(From), - LServer = exmpp_jid:ldomain(From), + LServer = exmpp_jid:prep_domain(From), JID = jlib:short_jid(JID1), LJID = jlib:short_prepd_jid(JID1), F = fun() -> @@ -279,7 +279,7 @@ process_item_set(From, To, #xmlel{} = El) -> %% If the item exist in shared roster, take the %% subscription information from there: Item3 = ejabberd_hooks:run_fold(roster_process_item, - exmpp_jid:ldomain(From), Item2, [exmpp_jid:ldomain(From)]), + exmpp_jid:prep_domain(From), Item2, [exmpp_jid:prep_domain(From)]), {Item, Item3} end, case mnesia:transaction(F) of @@ -844,7 +844,7 @@ process_item_attrs_ws(Item, []) -> get_in_pending_subscriptions(Ls, User, Server) when is_binary(User), is_binary(Server) -> JID = exmpp_jid:make(User, Server), - US = {exmpp_jid:lnode(JID), exmpp_jid:ldomain(JID)}, + US = {exmpp_jid:lnode(JID), exmpp_jid:prep_domain(JID)}, case mnesia:dirty_index_read(roster, US, #roster.us) of Result when is_list(Result) -> Ls ++ lists:map( @@ -1185,7 +1185,7 @@ user_roster(User, Server, Query, Lang) -> build_contact_jid_td({U, S, R}) -> %% Convert {U, S, R} into {jid, U, S, R, U, S, R}: ContactJID = exmpp_jid:make(U, S, R), - JIDURI = case {exmpp_jid:lnode(ContactJID), exmpp_jid:ldomain(ContactJID)} of + JIDURI = case {exmpp_jid:lnode(ContactJID), exmpp_jid:prep_domain(ContactJID)} of {undefined, _} -> ""; {CUser, CServer} -> CUser_S = binary_to_list(CUser), diff --git a/src/mod_roster_odbc.erl b/src/mod_roster_odbc.erl index 4024aae2c..65666206d 100644 --- a/src/mod_roster_odbc.erl +++ b/src/mod_roster_odbc.erl @@ -119,8 +119,8 @@ process_local_iq(From, To, #iq{type = set} = IQ_Rec) -> process_iq_get(From, To, IQ_Rec) -> - US = {exmpp_jid:lnode(From), exmpp_jid:ldomain(From)}, - case catch ejabberd_hooks:run_fold(roster_get, exmpp_jid:ldomain(To), [], [US]) of + US = {exmpp_jid:lnode(From), exmpp_jid:prep_domain(From)}, + case catch ejabberd_hooks:run_fold(roster_get, exmpp_jid:prep_domain(To), [], [US]) of Items when is_list(Items) -> XItems = lists:map(fun item_to_xml/1, Items), Result = #xmlel{ns = ?NS_ROSTER, name = 'query', @@ -218,7 +218,7 @@ process_item_set(From, To, #xmlel{} = El) -> try JID1 = exmpp_jid:parse(exmpp_xml:get_attribute_as_binary(El, 'jid', <<>>)), User = exmpp_jid:lnode(From), - Server = exmpp_jid:ldomain(From), + Server = exmpp_jid:prep_domain(From), LServer = binary_to_list(Server), {U0, S0, R0} = LJID = jlib:short_prepd_jid(JID1), Username = ejabberd_odbc:escape(User), @@ -234,7 +234,7 @@ process_item_set(From, To, #xmlel{} = El) -> us = {User, Server}, jid = LJID}; [I] -> - R = raw_to_record(exmpp_jid:ldomain(From), I), + R = raw_to_record(exmpp_jid:prep_domain(From), I), case R of %% Bad JID in database: error -> @@ -263,12 +263,12 @@ process_item_set(From, To, #xmlel{} = El) -> %% If the item exist in shared roster, take the %% subscription information from there: Item3 = ejabberd_hooks:run_fold(roster_process_item, - exmpp_jid:ldomain(From), Item2, [exmpp_jid:ldomain(From)]), + exmpp_jid:prep_domain(From), Item2, [exmpp_jid:prep_domain(From)]), {Item, Item3} end, case odbc_queries:sql_transaction(LServer, F) of {atomic, {OldItem, Item}} -> - push_item(exmpp_jid:node(From), exmpp_jid:ldomain(From), To, Item), + push_item(exmpp_jid:node(From), exmpp_jid:prep_domain(From), To, Item), case Item#roster.subscription of remove -> IsTo = case OldItem#roster.subscription of @@ -774,7 +774,7 @@ get_in_pending_subscriptions(Ls, User, Server) end, lists:flatmap( fun(I) -> - case raw_to_record(exmpp_jid:ldomain(JID), I) of + case raw_to_record(exmpp_jid:prep_domain(JID), I) of %% Bad JID in database: error -> []; @@ -1020,7 +1020,7 @@ user_roster(User, Server, Query, Lang) -> build_contact_jid_td({U, S, R}) -> %% Convert {U, S, R} into {jid, U, S, R, U, S, R}: ContactJID = exmpp_jid:make(U, S, R), - JIDURI = case {exmpp_jid:lnode(ContactJID), exmpp_jid:ldomain(ContactJID)} of + JIDURI = case {exmpp_jid:lnode(ContactJID), exmpp_jid:prep_domain(ContactJID)} of {undefined, _} -> ""; {CUser, CServer} -> CUser_S = binary_to_list(CUser),