diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2017-09-24 15:04:09 +0200 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2017-09-24 15:04:09 +0200 |
commit | 59ec3d36f4baf44cad86ab92ab0426291a575c6f (patch) | |
tree | 3efb6c6552b3221c69b7e1c3ce82963938c0bace /src | |
parent | Reuse some translation strings (diff) |
mod_mam: Simplify check for anon MUC JID filtering
Refuse filtering anon MUC MAM queries by JID even if it's the client's
own JID. Clients probably won't perform such queries in practice, so
the additional complexity is unnecessary.
Diffstat (limited to 'src')
-rw-r--r-- | src/mod_mam.erl | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/src/mod_mam.erl b/src/mod_mam.erl index a4dc62b01..a009a9164 100644 --- a/src/mod_mam.erl +++ b/src/mod_mam.erl @@ -863,7 +863,7 @@ select(_LServer, JidRequestor, JidArchive, Query, RSM, {Msgs, true, L} end; select(LServer, JidRequestor, JidArchive, Query, RSM, MsgType) -> - case might_expose_jid(JidRequestor, Query, MsgType) of + case might_expose_jid(Query, MsgType) of true -> {[], true, 0}; false -> @@ -993,22 +993,11 @@ match_rsm(Now, #rsm_set{before = ID}) when is_binary(ID), ID /= <<"">> -> match_rsm(_Now, _) -> true. -might_expose_jid(JidRequestor, Query, {groupchat, Role, - #state{config = #config{anonymous = true}}}) +might_expose_jid(Query, + {groupchat, Role, #state{config = #config{anonymous = true}}}) when Role /= moderator -> - case proplists:get_value(with, Query) of - undefined -> - false; - With -> - case {jid:remove_resource(jid:tolower(With)), - jid:remove_resource(jid:tolower(JidRequestor))} of - {J, J} -> - false; - _ -> - true - end - end; -might_expose_jid(_JidRequestor, _Query, _MsgType) -> + proplists:is_defined(with, Query); +might_expose_jid(_Query, _MsgType) -> false. get_jids(undefined) -> |