aboutsummaryrefslogtreecommitdiff
path: root/src/mod_block_strangers.erl
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2017-01-16 18:40:30 +0300
committerAlexey Shchepin <alexey@process-one.net>2017-01-16 18:40:30 +0300
commitb080b8f54d99610579924477fc0b218b3c48c298 (patch)
tree25c387570064119c6c36d1cc9a64866274c899f3 /src/mod_block_strangers.erl
parentRemove 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.erl21
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