Annotate

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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1523
841d61be198f Remove version number from copyright headers
Matthew Wild <mwild1@gmail.com>
parents: 1511
diff changeset
1 -- Prosody IM
2923
b7049746bd29 Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents: 2011
diff changeset
2 -- Copyright (C) 2008-2010 Matthew Wild
b7049746bd29 Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents: 2011
diff changeset
3 -- Copyright (C) 2008-2010 Waqas Hussain
5776
bd0ff8ae98a8 Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents: 4129
diff changeset
4 --
758
b1885732e979 GPL->MIT!
Matthew Wild <mwild1@gmail.com>
parents: 615
diff changeset
5 -- This project is MIT/X11 licensed. Please see the
b1885732e979 GPL->MIT!
Matthew Wild <mwild1@gmail.com>
parents: 615
diff changeset
6 -- COPYING file in the source package for more information.
519
cccd610a0ef9 Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents: 438
diff changeset
7 --
cccd610a0ef9 Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents: 438
diff changeset
8
1511
f9f8b7184cbe mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
9 local st = require "util.stanza";
f9f8b7184cbe mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
10
f9f8b7184cbe mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
11 module:add_feature("urn:xmpp:ping");
f9f8b7184cbe mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents: 896
diff changeset
12
2011
8159497c86e3 mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents: 1523
diff changeset
13 local function ping_handler(event)
10654
a2bd6e85a457 mod_ping: Fix double response to internal ping
Kim Alvefur <zash@zash.se>
parents: 10399
diff changeset
14 event.origin.send(st.reply(event.stanza));
a2bd6e85a457 mod_ping: Fix double response to internal ping
Kim Alvefur <zash@zash.se>
parents: 10399
diff changeset
15 return true;
2011
8159497c86e3 mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents: 1523
diff changeset
16 end
8159497c86e3 mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents: 1523
diff changeset
17
6012
7e8a624272bf mod_ping: Use type-specific event
Kim Alvefur <zash@zash.se>
parents: 5776
diff changeset
18 module:hook("iq-get/bare/urn:xmpp:ping:ping", ping_handler);
7e8a624272bf mod_ping: Use type-specific event
Kim Alvefur <zash@zash.se>
parents: 5776
diff changeset
19 module:hook("iq-get/host/urn:xmpp:ping:ping", ping_handler);