From a4bbf213bfd1d6eed01c6bba0b70216bc9f4bc82 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Mon, 22 Mar 2010 15:04:22 +0000 Subject: stanza_router: Allow non-jabber:client elements after auth, before bind. [originally 2c538d4bde13 in 0.6] --- core/stanza_router.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'core') diff --git a/core/stanza_router.lua b/core/stanza_router.lua index 72ddebd1..5aa7aeb0 100644 --- a/core/stanza_router.lua +++ b/core/stanza_router.lua @@ -36,7 +36,7 @@ function core_process_stanza(origin, stanza) end end - if origin.type == "c2s" then + if origin.type == "c2s" and stanza.attr.xmlns == "jabber:client" then if not origin.full_jid and not(stanza.name == "iq" and stanza.attr.type == "set" and stanza.tags[1] and stanza.tags[1].name == "bind" and stanza.tags[1].attr.xmlns == "urn:ietf:params:xml:ns:xmpp-bind") then -- cgit v1.2.3 From a5c2d24d44c1e33f04bb42e59f5fb66cdf8a31ba Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Mon, 22 Mar 2010 15:05:05 +0000 Subject: stanza_router: Don't send error replies for stanzas of type 'error' and 'result' on unbound authenticated connections. [originally fa84451e9b35 in 0.6] --- core/stanza_router.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'core') diff --git a/core/stanza_router.lua b/core/stanza_router.lua index 5aa7aeb0..c47cdd45 100644 --- a/core/stanza_router.lua +++ b/core/stanza_router.lua @@ -41,7 +41,9 @@ function core_process_stanza(origin, stanza) and not(stanza.name == "iq" and stanza.attr.type == "set" and stanza.tags[1] and stanza.tags[1].name == "bind" and stanza.tags[1].attr.xmlns == "urn:ietf:params:xml:ns:xmpp-bind") then -- authenticated client isn't bound and current stanza is not a bind request - origin.send(st.error_reply(stanza, "auth", "not-authorized")); -- FIXME maybe allow stanzas to account or server + if stanza.attr.type ~= "result" and stanza.attr.type ~= "error" then + origin.send(st.error_reply(stanza, "auth", "not-authorized")); -- FIXME maybe allow stanzas to account or server + end return; end -- cgit v1.2.3