Changeset

1270:0e700e2041ef

stanza_router: Don't reply with an error on invalid JIDs in error or result stanzas
author Waqas Hussain <waqas20@gmail.com>
date Mon, 01 Jun 2009 15:48:39 +0500
parents 1269:b06d6674477b
children 1271:e78c161944ab
files core/stanza_router.lua
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/core/stanza_router.lua	Mon Jun 01 15:09:42 2009 +0500
+++ b/core/stanza_router.lua	Mon Jun 01 15:48:39 2009 +0500
@@ -81,7 +81,9 @@
 		node, host, resource = jid_prepped_split(to);
 		if not host then
 			log("warn", "Received stanza with invalid destination JID: %s", to);
-			origin.send(st.error_reply(stanza, "modify", "jid-malformed", "The destination address is invalid: "..to));
+			if stanza.attr.type ~= "error" and stanza.attr.type ~= "result" then
+				origin.send(st.error_reply(stanza, "modify", "jid-malformed", "The destination address is invalid: "..to));
+			end
 			return;
 		end
 		to_bare = node and (node.."@"..host) or host; -- bare JID
@@ -93,7 +95,9 @@
 		from_node, from_host, from_resource = jid_prepped_split(from);
 		if not from_host then
 			log("warn", "Received stanza with invalid source JID: %s", from);
-			origin.send(st.error_reply(stanza, "modify", "jid-malformed", "The source address is invalid: "..from));
+			if stanza.attr.type ~= "error" and stanza.attr.type ~= "result" then
+				origin.send(st.error_reply(stanza, "modify", "jid-malformed", "The source address is invalid: "..from));
+			end
 			return;
 		end
 		from_bare = from_node and (from_node.."@"..from_host) or from_host; -- bare JID