X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=core%2Fstanza_router.lua;h=ad312b850ef16d4dbe2ae7e70c5ba2b92fd9c6b2;hb=4f30ec4ac8e956391e63a65fe8b8515d615ad5ea;hp=ef4f369575776e0b6a0303c936290e3d229a3232;hpb=18ad21f4053f6469566aa17180ae387f52002e72;p=prosody.git diff --git a/core/stanza_router.lua b/core/stanza_router.lua index ef4f3695..ad312b85 100644 --- a/core/stanza_router.lua +++ b/core/stanza_router.lua @@ -29,13 +29,10 @@ function core_process_stanza(origin, stanza) -- 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 @@ -183,7 +180,7 @@ function core_route_stanza(origin, stanza) local xmlns = stanza.attr.xmlns; --stanza.attr.xmlns = "jabber:server"; stanza.attr.xmlns = nil; - log("debug", "sending s2s stanza: %s", tostring(stanza)); + log("debug", "sending s2s stanza: %s", tostring(stanza.top_tag and stanza:top_tag()) or stanza); send_s2s(origin.host, host, stanza); -- TODO handle remote routing errors stanza.attr.xmlns = xmlns; -- reset else