diff options
author | Badlop <badlop@process-one.net> | 2020-12-01 13:06:04 +0100 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2020-12-01 13:14:24 +0100 |
commit | d75d69d5d51b6a7623bf616b28434524f2f0d48e (patch) | |
tree | 18d1b1713b0c9c6fb34db51dc9d926ee06db5ac0 /src | |
parent | Merge 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.erl | 6 |
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}; |