From d75d69d5d51b6a7623bf616b28434524f2f0d48e Mon Sep 17 00:00:00 2001 From: Badlop Date: Tue, 1 Dec 2020 13:06:04 +0100 Subject: [PATCH] Trigger user_send_packet when send_stanza API is called (#3431) --- src/mod_admin_extra.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl index 2ac81253a..bbde8b7aa 100644 --- a/src/mod_admin_extra.erl +++ b/src/mod_admin_extra.erl @@ -1509,7 +1509,11 @@ send_stanza(FromString, ToString, Stanza) -> To = jid:decode(ToString), CodecOpts = ejabberd_config:codec_options(), Pkt = xmpp:decode(El, ?NS_CLIENT, CodecOpts), - ejabberd_router:route(xmpp:set_from_to(Pkt, From, To)) + Pkt2 = xmpp:set_from_to(Pkt, From, To), + State = #{jid => From}, + ejabberd_hooks:run_fold(user_send_packet, From#jid.lserver, + {Pkt2, State}, []), + ejabberd_router:route(Pkt2) catch _:{xmpp_codec, Why} -> io:format("incorrect stanza: ~ts~n", [xmpp:format_error(Why)]), {error, Why};