Diff

main.lua @ 18:ae161e907149

Beginning of new routing logic
author Matthew Wild <mwild1@gmail.com>
date Tue, 26 Aug 2008 13:14:43 +0100
parent 12:90f22275f7ae
child 20:6885fd2cf51f
line wrap: on
line diff
--- a/main.lua	Mon Aug 25 22:19:47 2008 +0100
+++ b/main.lua	Tue Aug 26 13:14:43 2008 +0100
@@ -8,7 +8,7 @@
 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.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 @@
 	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