aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mod_admin_extra.erl6
1 files changed, 5 insertions, 1 deletions
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};