Software /
code /
prosody
Diff
plugins/mod_ping.lua @ 10654:a2bd6e85a457
mod_ping: Fix double response to internal ping
When responding to a ping from elsewhere in the same Prosody the send
function will be host_send from core.hostmanager, which does not return
anything. Tailcalling it therefore lets the iq event fall trough to
handle_unhandled_stanza in core.stanza_router, which responds with an
error. This error also goes into handle_unhandled_stanza which discards
it.
Noticed because I have a module that points out when a stanza error
reply is created without a text argument.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 21 Feb 2020 23:30:47 +0100 |
parent | 10399:270cb2821566 |
child | 12977:74b9e05af71e |
line wrap: on
line diff
--- a/plugins/mod_ping.lua Fri Feb 21 23:01:43 2020 +0100 +++ b/plugins/mod_ping.lua Fri Feb 21 23:30:47 2020 +0100 @@ -11,7 +11,8 @@ module:add_feature("urn:xmpp:ping"); local function ping_handler(event) - return event.origin.send(st.reply(event.stanza)); + event.origin.send(st.reply(event.stanza)); + return true; end module:hook("iq-get/bare/urn:xmpp:ping:ping", ping_handler);