mirror of
https://github.com/processone/ejabberd
synced 2025-10-03 09:49:18 +02:00
mod_block_strangers: Bounce groupchat to bare JID
If a blocked message is of type 'groupchat', address the error message to the bare JID (rather than sending it as MUC PM).
This commit is contained in:
parent
1f6c0022dd
commit
e8f1de8785
1 changed files with 8 additions and 1 deletions
|
@ -106,7 +106,8 @@ check_message(#message{from = From, to = To, lang = Lang} = Msg) ->
|
|||
Drop ->
|
||||
Txt = <<"Messages from strangers are rejected">>,
|
||||
Err = xmpp:err_policy_violation(Txt, Lang),
|
||||
ejabberd_router:route_error(Msg, Err),
|
||||
Msg1 = maybe_adjust_from(Msg),
|
||||
ejabberd_router:route_error(Msg1, Err),
|
||||
deny;
|
||||
true ->
|
||||
allow
|
||||
|
@ -118,6 +119,12 @@ check_message(#message{from = From, to = To, lang = Lang} = Msg) ->
|
|||
allow
|
||||
end.
|
||||
|
||||
-spec maybe_adjust_from(message()) -> message().
|
||||
maybe_adjust_from(#message{type = groupchat, from = From} = Msg) ->
|
||||
Msg#message{from = jid:remove_resource(From)};
|
||||
maybe_adjust_from(#message{} = Msg) ->
|
||||
Msg.
|
||||
|
||||
-spec check_subscription(jid(), jid()) -> none | some.
|
||||
check_subscription(From, To) ->
|
||||
{LocalUser, LocalServer, _} = jid:tolower(To),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue