14 local traceback = debug.traceback; |
14 local traceback = debug.traceback; |
15 |
15 |
16 local logger = require "logger"; |
16 local logger = require "logger"; |
17 local log = logger.init("xmppserver_listener"); |
17 local log = logger.init("xmppserver_listener"); |
18 local lxp = require "lxp" |
18 local lxp = require "lxp" |
|
19 local st = require "util.stanza"; |
|
20 local connlisteners_register = require "net.connlisteners".register; |
19 local new_xmpp_stream = require "util.xmppstream".new; |
21 local new_xmpp_stream = require "util.xmppstream".new; |
20 local s2s_new_incoming = require "core.s2smanager".new_incoming; |
22 local s2s_new_incoming = require "core.s2smanager".new_incoming; |
21 local s2s_streamopened = require "core.s2smanager".streamopened; |
23 local s2s_streamopened = require "core.s2smanager".streamopened; |
22 local s2s_streamclosed = require "core.s2smanager".streamclosed; |
24 local s2s_streamclosed = require "core.s2smanager".streamclosed; |
23 local s2s_destroy_session = require "core.s2smanager".destroy_session; |
25 local s2s_destroy_session = require "core.s2smanager".destroy_session; |
61 stanza = session.filter("stanzas/in", stanza); |
63 stanza = session.filter("stanzas/in", stanza); |
62 if stanza then |
64 if stanza then |
63 return xpcall(function () return core_process_stanza(session, stanza) end, handleerr); |
65 return xpcall(function () return core_process_stanza(session, stanza) end, handleerr); |
64 end |
66 end |
65 end |
67 end |
66 |
|
67 local connlisteners_register = require "net.connlisteners".register; |
|
68 |
|
69 local t_insert = table.insert; |
|
70 local t_concat = table.concat; |
|
71 local t_concatall = function (t, sep) local tt = {}; for _, s in ipairs(t) do t_insert(tt, tostring(s)); end return t_concat(tt, sep); end |
|
72 local m_random = math.random; |
|
73 local format = string.format; |
|
74 local sessionmanager = require "core.sessionmanager"; |
|
75 local sm_new_session, sm_destroy_session = sessionmanager.new_session, sessionmanager.destroy_session; |
|
76 local st = require "util.stanza"; |
|
77 |
68 |
78 local sessions = {}; |
69 local sessions = {}; |
79 local xmppserver = { default_port = 5269, default_mode = "*a" }; |
70 local xmppserver = { default_port = 5269, default_mode = "*a" }; |
80 |
71 |
81 -- These are session methods -- |
72 -- These are session methods -- |