From f6b5a521040d524d359758404b565e92eaa26823 Mon Sep 17 00:00:00 2001 From: Alexey Shchepin Date: Fri, 27 Jan 2023 03:53:28 +0300 Subject: [PATCH] Add s2s_out_bounce_packet hook --- src/ejabberd_s2s_out.erl | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl index 778a53469..b9ae1abb3 100644 --- a/src/ejabberd_s2s_out.erl +++ b/src/ejabberd_s2s_out.erl @@ -360,10 +360,17 @@ bounce_message_queue(FromTo, State) -> -spec bounce_packet(xmpp_element(), state()) -> state(). bounce_packet(Pkt, State) when ?is_stanza(Pkt) -> - Lang = xmpp:get_lang(Pkt), - Err = mk_bounce_error(Lang, State), - ejabberd_router:route_error(Pkt, Err), - State; + #{server_host := Host} = State, + case ejabberd_hooks:run_fold( + s2s_out_bounce_packet, Host, State, [Pkt]) of + ignore -> + State; + State2 -> + Lang = xmpp:get_lang(Pkt), + Err = mk_bounce_error(Lang, State2), + ejabberd_router:route_error(Pkt, Err), + State2 + end; bounce_packet(_, State) -> State.