Comparison

core/stanza_router.lua @ 781:191b9f0e5485

Fixed: Some presence stanzas from local users were not being routed correctly to components (ghosts in mod_muc)
author Waqas Hussain <waqas20@gmail.com>
date Wed, 11 Feb 2009 18:11:41 +0500
parent 780:4417ab6ccc20
child 783:defb0119f80f
comparison
equal deleted inserted replaced
780:4417ab6ccc20 781:191b9f0e5485
176 176
177 -- Auto-detect origin if not specified 177 -- Auto-detect origin if not specified
178 origin = origin or hosts[from_host]; 178 origin = origin or hosts[from_host];
179 if not origin then return false; end 179 if not origin then return false; end
180 180
181 if hosts[to] and hosts[to].type == "component" then -- hack to allow components to handle node@server/resource and server/resource
182 return component_handle_stanza(origin, stanza);
183 elseif hosts[to_bare] and hosts[to_bare].type == "component" then -- hack to allow components to handle node@server
184 return component_handle_stanza(origin, stanza);
185 elseif hosts[host] and hosts[host].type == "component" then -- directed at a component
186 return component_handle_stanza(origin, stanza);
187 end
188
181 if stanza.name == "presence" and (stanza.attr.type ~= nil and stanza.attr.type ~= "unavailable") then resource = nil; end 189 if stanza.name == "presence" and (stanza.attr.type ~= nil and stanza.attr.type ~= "unavailable") then resource = nil; end
182 190
183 local host_session = hosts[host] 191 local host_session = hosts[host]
184 if host_session and host_session.type == "local" then 192 if host_session and host_session.type == "local" then
185 -- Local host 193 -- Local host