Beginning of new routing logic
authorMatthew Wild <mwild1@gmail.com>
Tue, 26 Aug 2008 12:14:43 +0000 (13:14 +0100)
committerMatthew Wild <mwild1@gmail.com>
Tue, 26 Aug 2008 12:14:43 +0000 (13:14 +0100)
main.lua

index c19ad8bf30853e44d361e2d6aee8756b82dcf195..97ea089f7548c0129969cfed8f7ea345010d4f61 100644 (file)
--- a/main.lua
+++ b/main.lua
@@ -8,7 +8,7 @@ require "lxp"
 function log(type, area, message)
        print(type, area, message);
 end
-
 require "core.stanza_dispatch"
 local init_xmlhandlers = require "core.xmlhandlers"
 require "core.rostermanager"
@@ -16,7 +16,7 @@ require "core.offlinemessage"
 require "core.usermanager"
 require "util.stanza"
 require "util.jid"
-
 -- Locals for faster access --
 local t_insert = table.insert;
 local t_concat = table.concat;
@@ -50,6 +50,19 @@ function connect_host(host)
        hosts[host] = { type = "remote", sendbuffer = {} };
 end
 
+local function route_stanza(stanza)
+       if not stanza.attr.to then
+               -- Has no 'to' attribute, handle internally
+       end
+       local node, host, resource = jid.split(stanza.attr.to);
+       if host and hosts[host] and hosts[host].type == "local" then
+                       -- Is a local host, handle internally
+                       
+       else
+               -- Is not for us or a local user, route accordingly
+       end
+end
+
 local function send_to(session, to, stanza)
        local node, host, resource = jid.split(to);
        if not hosts[host] then