diff options
author | Matthew Wild <mwild1@gmail.com> | 2009-05-21 16:06:50 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2009-05-21 16:06:50 +0100 |
commit | b724cfa46f130b243b7953f605c21af799f2ada9 (patch) | |
tree | 848f4bc66d3c6e4d7edb1f2508fc144af05f4fef /core/stanza_router.lua | |
parent | 4c6d6e419fa7afba0ac190a34d70c2dad018b4f7 (diff) | |
download | prosody-b724cfa46f130b243b7953f605c21af799f2ada9.tar.gz prosody-b724cfa46f130b243b7953f605c21af799f2ada9.zip |
stanza_router: Fix for subscriptions to users on components [0.4 branch only]
Diffstat (limited to 'core/stanza_router.lua')
-rw-r--r-- | core/stanza_router.lua | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/stanza_router.lua b/core/stanza_router.lua index 29840d76..ae6b944f 100644 --- a/core/stanza_router.lua +++ b/core/stanza_router.lua @@ -123,14 +123,14 @@ function core_process_stanza(origin, stanza) core_handle_stanza(origin, stanza); elseif stanza.attr.xmlns and stanza.attr.xmlns ~= "jabber:client" and stanza.attr.xmlns ~= "jabber:server" then modules_handle_stanza(host or origin.host or origin.to_host, origin, stanza); + elseif origin.type == "c2s" and stanza.name == "presence" and stanza.attr.type ~= nil and stanza.attr.type ~= "unavailable" and stanza.attr.type ~= "error" then + handle_outbound_presence_subscriptions_and_probes(origin, stanza, from_bare, to_bare, core_route_stanza); elseif hosts[to] and hosts[to].type == "component" then -- hack to allow components to handle node@server/resource and server/resource component_handle_stanza(origin, stanza); elseif hosts[to_bare] and hosts[to_bare].type == "component" then -- hack to allow components to handle node@server component_handle_stanza(origin, stanza); elseif hosts[host] and hosts[host].type == "component" then -- directed at a component component_handle_stanza(origin, stanza); - elseif origin.type == "c2s" and stanza.name == "presence" and stanza.attr.type ~= nil and stanza.attr.type ~= "unavailable" and stanza.attr.type ~= "error" then - handle_outbound_presence_subscriptions_and_probes(origin, stanza, from_bare, to_bare, core_route_stanza); elseif hosts[host] and hosts[host].type == "local" and stanza.name == "iq" and not resource then -- directed at bare JID core_handle_stanza(origin, stanza); else |