aboutsummaryrefslogtreecommitdiffstats
path: root/main.lua
diff options
context:
space:
mode:
Diffstat (limited to 'main.lua')
-rw-r--r--main.lua17
1 files changed, 15 insertions, 2 deletions
diff --git a/main.lua b/main.lua
index c19ad8bf..97ea089f 100644
--- 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