From 2c16a1aec191b70099d6c32267387bc18924e4b6 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Mon, 1 Jun 2009 15:48:39 +0500 Subject: stanza_router: Don't reply with an error on invalid JIDs in error or result stanzas --- core/stanza_router.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/stanza_router.lua b/core/stanza_router.lua index 001a9fd2..03221fb9 100644 --- a/core/stanza_router.lua +++ b/core/stanza_router.lua @@ -81,7 +81,9 @@ function core_process_stanza(origin, stanza) 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 @@ function core_process_stanza(origin, stanza) 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 -- cgit v1.2.3