Diff

plugins/muc/muc.lib.lua @ 5335:bb81c13d2c6f

MUC: Always return <service-unavailable/> when a node is present in service discovery requests.
author Waqas Hussain <waqas20@gmail.com>
date Tue, 26 Feb 2013 23:56:44 +0500
parent 5334:da7857891eb8
child 5397:ed55a48270be
line wrap: on
line diff
--- a/plugins/muc/muc.lib.lua	Tue Feb 26 20:31:41 2013 +0500
+++ b/plugins/muc/muc.lib.lua	Tue Feb 26 23:56:44 2013 +0500
@@ -765,13 +765,9 @@
 	local type = stanza.attr.type;
 	local xmlns = stanza.tags[1] and stanza.tags[1].attr.xmlns;
 	if stanza.name == "iq" then
-		if xmlns == "http://jabber.org/protocol/disco#info" and type == "get" then
-			if stanza.tags[1].attr.node then
-				origin.send(st.error_reply(stanza, "cancel", "feature-not-implemented"));
-			else
-				origin.send(self:get_disco_info(stanza));
-			end
-		elseif xmlns == "http://jabber.org/protocol/disco#items" and type == "get" then
+		if xmlns == "http://jabber.org/protocol/disco#info" and type == "get" and not stanza.tags[1].attr.node then
+			origin.send(self:get_disco_info(stanza));
+		elseif xmlns == "http://jabber.org/protocol/disco#items" and type == "get" and not stanza.tags[1].attr.node then
 			origin.send(self:get_disco_items(stanza));
 		elseif xmlns == "http://jabber.org/protocol/muc#admin" then
 			local actor = stanza.attr.from;