diff options
author | Alexey Shchepin <alexey@process-one.net> | 2017-01-16 18:40:30 +0300 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2017-01-16 18:40:30 +0300 |
commit | b080b8f54d99610579924477fc0b218b3c48c298 (patch) | |
tree | 25c387570064119c6c36d1cc9a64866274c899f3 /src/mod_block_strangers.erl | |
parent | Remove stub in mob_block_strangers (diff) |
Use user_receive_packet hook in mod_block_strangers
Diffstat (limited to 'src/mod_block_strangers.erl')
-rw-r--r-- | src/mod_block_strangers.erl | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/mod_block_strangers.erl b/src/mod_block_strangers.erl index bc329ea0b..34a40d036 100644 --- a/src/mod_block_strangers.erl +++ b/src/mod_block_strangers.erl @@ -32,7 +32,7 @@ -export([start/2, stop/1, depends/2, mod_opt_type/1]). --export([filter_packet/3]). +-export([filter_packet/1]). -include("xmpp.hrl"). -include("ejabberd.hrl"). @@ -41,18 +41,16 @@ -define(SETS, gb_sets). start(Host, _Opts) -> - ejabberd_hooks:add(c2s_filter_incoming_packet, Host, - ?MODULE, filter_packet, 50), + ejabberd_hooks:add(user_receive_packet, Host, + ?MODULE, filter_packet, 25), ok. stop(Host) -> - ejabberd_hooks:delete(c2s_filter_incoming_packet, Host, - ?MODULE, filter_packet, 50), + ejabberd_hooks:delete(user_receive_packet, Host, + ?MODULE, filter_packet, 25), ok. -filter_packet(deny = Acc, _State, _Msg) -> - Acc; -filter_packet(Acc, State, Msg) -> +filter_packet({#message{} = Msg, State} = Acc) -> From = xmpp:get_from(Msg), LFrom = jid:tolower(From), LBFrom = jid:remove_resource(LFrom), @@ -83,12 +81,13 @@ filter_packet(Acc, State, Msg) -> end, if Drop -> - deny; + {drop, State}; true -> Acc end - end. - + end; +filter_packet(Acc) -> + Acc. sets_bare_member({U, S, <<"">>} = LBJID, Set) -> case ?SETS:next(?SETS:iterator_from(LBJID, Set)) of |