aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbadlop <badlop@ono.com>2015-04-27 19:39:32 +0200
committerbadlop <badlop@ono.com>2015-04-27 19:39:32 +0200
commit6f99775115f62ad90b2b7da91f9879c001b455aa (patch)
tree61fb73c878e51bc26067676f1f52921d3e32512e /src
parentRely on core routine for handling affiliation changes (thanks to Ben Langfeld) (diff)
parentmod_disco: Apply minor readability improvements (diff)
Merge pull request #547 from weiss/fix-account-jid-disco
Fix service discovery handling for account JIDs
Diffstat (limited to 'src')
-rw-r--r--src/mod_disco.erl24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/mod_disco.erl b/src/mod_disco.erl
index 40f0f8e06..00b65d23e 100644
--- a/src/mod_disco.erl
+++ b/src/mod_disco.erl
@@ -352,19 +352,19 @@ get_sm_items(empty, From, To, _Node, _Lang) ->
_ -> {error, ?ERR_NOT_ALLOWED}
end.
-is_presence_subscribed(#jid{luser = User,
- lserver = Server},
- #jid{luser = LUser, lserver = LServer}) ->
- lists:any(fun (#roster{jid = {TUser, TServer, _},
- subscription = S}) ->
- if LUser == TUser, LServer == TServer, S /= none ->
- true;
- true -> false
- end
+is_presence_subscribed(#jid{luser = User, lserver = Server},
+ #jid{luser = User, lserver = Server}) -> true;
+is_presence_subscribed(#jid{luser = FromUser, lserver = FromServer},
+ #jid{luser = ToUser, lserver = ToServer}) ->
+ lists:any(fun (#roster{jid = {SubUser, SubServer, _}, subscription = Sub})
+ when FromUser == SubUser, FromServer == SubServer,
+ Sub /= none ->
+ true;
+ (_RosterEntry) ->
+ false
end,
- ejabberd_hooks:run_fold(roster_get, Server, [],
- [{User, Server}]))
- orelse User == LUser andalso Server == LServer.
+ ejabberd_hooks:run_fold(roster_get, ToServer, [],
+ [{ToUser, ToServer}])).
process_sm_iq_info(From, To,
#iq{type = Type, lang = Lang, sub_el = SubEl} = IQ) ->