MUC: Respond to ping per XEP-0410: MUC Self-Ping server optimization (closes #1220)
authorKim Alvefur <zash@zash.se>
Sun, 07 Oct 2018 03:48:13 +0200
changeset 9447 7c1cdf5f9f83
parent 9446 4e881be88727
child 9448 af7eafe82447
MUC: Respond to ping per XEP-0410: MUC Self-Ping server optimization (closes #1220)
plugins/muc/muc.lib.lua
--- a/plugins/muc/muc.lib.lua	Sat Oct 06 18:56:22 2018 +0200
+++ b/plugins/muc/muc.lib.lua	Sun Oct 07 03:48:13 2018 +0200
@@ -734,6 +734,11 @@
 			origin.send(st.error_reply(stanza, "cancel", "item-not-found", "Recipient not in room"));
 			return true;
 		end
+		-- XEP-0410 MUC Self-Ping #1220
+		if to == current_nick and stanza.attr.type == "get" and stanza:get_child("ping", "urn:xmpp:ping") then
+			self:route_stanza(st.reply(stanza));
+			return true;
+		end
 		do -- construct_stanza_id
 			stanza.attr.id = base64.encode(occupant.jid.."\0"..stanza.attr.id.."\0"..md5(from));
 		end