Software / code / prosody
Comparison
core/stanza_router.lua @ 1410:b71a9e29adc3
stanza_router: Remove even more old routing code
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Thu, 25 Jun 2009 08:13:21 +0500 |
| parent | 1409:e34cbd9baf8b |
| child | 1411:b12096b69f36 |
comparison
equal
deleted
inserted
replaced
| 1409:e34cbd9baf8b | 1410:b71a9e29adc3 |
|---|---|
| 173 core_route_stanza(origin, stanza); | 173 core_route_stanza(origin, stanza); |
| 174 end | 174 end |
| 175 end | 175 end |
| 176 | 176 |
| 177 function core_route_stanza(origin, stanza) | 177 function core_route_stanza(origin, stanza) |
| 178 -- Hooks | |
| 179 --- ...later | |
| 180 | |
| 181 -- Deliver | |
| 182 local to = stanza.attr.to; | 178 local to = stanza.attr.to; |
| 183 local node, host, resource = jid_split(to); | 179 local node, host, resource = jid_split(to); |
| 184 local to_bare = node and (node.."@"..host) or host; -- bare JID | 180 local to_bare = node and (node.."@"..host) or host; -- bare JID |
| 185 local from = stanza.attr.from; | 181 local from = stanza.attr.from; |
| 186 local from_node, from_host, from_resource = jid_split(from); | 182 local from_node, from_host, from_resource = jid_split(from); |
| 188 | 184 |
| 189 -- Auto-detect origin if not specified | 185 -- Auto-detect origin if not specified |
| 190 origin = origin or hosts[from_host]; | 186 origin = origin or hosts[from_host]; |
| 191 if not origin then return false; end | 187 if not origin then return false; end |
| 192 | 188 |
| 193 if hosts[to_bare] and hosts[to_bare].type == "component" then -- hack to allow components to handle node@server | |
| 194 return component_handle_stanza(origin, stanza); | |
| 195 elseif hosts[host] and hosts[host].type == "component" then -- directed at a component | |
| 196 return component_handle_stanza(origin, stanza); | |
| 197 end | |
| 198 | |
| 199 if stanza.name == "presence" and (stanza.attr.type ~= nil and stanza.attr.type ~= "unavailable" and stanza.attr.type ~= "error") then resource = nil; end | |
| 200 | |
| 201 local host_session = hosts[host] | 189 local host_session = hosts[host] |
| 202 if host_session and host_session.type == "local" then | 190 if host_session and host_session.type == "local" then |
| 203 -- old stanza routing code removed | 191 -- old stanza routing code removed |
| 204 core_post_stanza(origin, stanza); | 192 core_post_stanza(origin, stanza); |
| 205 elseif origin.type == "c2s" then | 193 elseif origin.type == "c2s" then |