Diff

core/stanza_router.lua @ 1985:9b352c8a32e6

stanza_router: Added a compatibility workaround for missing 'id' attribute in <iq/> elements.
author Waqas Hussain <waqas20@gmail.com>
date Sat, 17 Oct 2009 23:46:34 +0500
parent 1971:91420df04d5b
child 2132:20a52cfda988
child 2833:a82bd02d5918
line wrap: on
line diff
--- a/core/stanza_router.lua	Sat Oct 17 18:09:07 2009 +0100
+++ b/core/stanza_router.lua	Sat Oct 17 23:46:34 2009 +0500
@@ -29,13 +29,10 @@
 	-- TODO verify validity of stanza (as well as JID validity)
 	if stanza.attr.type == "error" and #stanza.tags == 0 then return; end -- TODO invalid stanza, log
 	if stanza.name == "iq" then
-		local can_reply = stanza.attr.type == "set" or stanza.attr.type == "get"
-		local missing_id = not stanza.attr.id;
-		if can_reply and (#stanza.tags ~= 1 or missing_id) then
+		if not stanza.attr.id then stanza.attr.id = ""; end -- COMPAT Jabiru doesn't send the id attribute on roster requests
+		if (stanza.attr.type == "set" or stanza.attr.type == "get") and (#stanza.tags ~= 1) then
 			origin.send(st.error_reply(stanza, "modify", "bad-request"));
 			return;
-		elseif missing_id then
-			return;
 		end
 	end