aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2017-03-21 15:42:24 +0300
committerAlexey Shchepin <alexey@process-one.net>2017-03-21 15:42:38 +0300
commit9fb188afbceb5cb54f61d007ffdf5fca411bc1a5 (patch)
tree0c187e124caf50131cf0ca517efa9643d5ba60bd
parentUse item creation date in rsm order (#1516) (diff)
Don't block contacts with subscription=to in mod_block_strangers (#1609)
-rw-r--r--src/mod_block_strangers.erl12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/mod_block_strangers.erl b/src/mod_block_strangers.erl
index dfc9f9b74..8072fa874 100644
--- a/src/mod_block_strangers.erl
+++ b/src/mod_block_strangers.erl
@@ -57,13 +57,19 @@ filter_packet({#message{} = Msg, State} = Acc) ->
From = xmpp:get_from(Msg),
LFrom = jid:tolower(From),
LBFrom = jid:remove_resource(LFrom),
- #{pres_a := PresA} = State,
+ #{pres_a := PresA,
+ pres_t := PresT,
+ pres_f := PresF} = State,
case (Msg#message.body == [] andalso
Msg#message.subject == [])
orelse ejabberd_router:is_my_route(From#jid.lserver)
orelse (?SETS):is_element(LFrom, PresA)
- orelse (?SETS):is_element(LBFrom, PresA)
- orelse sets_bare_member(LBFrom, PresA) of
+ orelse (?SETS):is_element(LBFrom, PresA)
+ orelse sets_bare_member(LBFrom, PresA)
+ orelse (?SETS):is_element(LFrom, PresT)
+ orelse (?SETS):is_element(LBFrom, PresT)
+ orelse (?SETS):is_element(LFrom, PresF)
+ orelse (?SETS):is_element(LBFrom, PresF) of
true ->
Acc;
false ->