aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2020-12-01 13:06:04 +0100
committerBadlop <badlop@process-one.net>2020-12-01 13:14:24 +0100
commitd75d69d5d51b6a7623bf616b28434524f2f0d48e (patch)
tree18d1b1713b0c9c6fb34db51dc9d926ee06db5ac0 /src
parentMerge pull request #3429 from mtdcr/systemd-foreground (diff)
Trigger user_send_packet when send_stanza API is called (#3431)
Diffstat (limited to 'src')
-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};