diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2018-01-03 00:38:50 +0100 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2018-01-03 15:41:30 +0100 |
commit | 835360733b2927b8c847756fd3c05e56677b999b (patch) | |
tree | 68cdd7e930848af4abf680986ec70691765bce38 /src | |
parent | Make mysql and pgsql one of the default module for Mix (diff) |
mod_block_strangers: Bounce an error message
Return a stanza error when a message is rejected, in order to make
legitimate users aware of the issue.
Closes #2197.
Diffstat (limited to 'src')
-rw-r--r-- | src/mod_block_strangers.erl | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mod_block_strangers.erl b/src/mod_block_strangers.erl index b2c56f36b..afb0fbd9a 100644 --- a/src/mod_block_strangers.erl +++ b/src/mod_block_strangers.erl @@ -79,7 +79,7 @@ filter_offline_msg({_Action, #message{} = Msg} = Acc) -> deny -> {stop, {drop, Msg}} end. -check_message(#message{from = From, to = To} = Msg) -> +check_message(#message{from = From, to = To, lang = Lang} = Msg) -> LServer = To#jid.lserver, AllowLocalUsers = gen_mod:get_module_opt(LServer, ?MODULE, allow_local_users, true), @@ -95,7 +95,7 @@ check_message(#message{from = From, to = To} = Msg) -> if Log -> ?INFO_MSG("~s message from stranger ~s to ~s", - [if Drop -> "Dropping"; + [if Drop -> "Rejecting"; true -> "Allow" end, jid:encode(From), jid:encode(To)]); @@ -104,6 +104,9 @@ check_message(#message{from = From, to = To} = Msg) -> end, if Drop -> + Txt = <<"Messages from strangers are rejected">>, + Err = xmpp:err_policy_violation(Txt, Lang), + ejabberd_router:route_error(Msg, Err), deny; true -> allow |