Annotate

main.lua @ 212:9d6da9ed9063

Internal component support
author Waqas Hussain <waqas20@gmail.com>
date Tue, 04 Nov 2008 17:25:12 +0500
parent 207:90c387884234
child 218:1263896ab2f1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
133
b92493ea6fd7 Fixed: Works when LuaRocks is not present
Waqas Hussain <waqas20@gmail.com>
parents: 99
diff changeset
1 pcall(require, "luarocks.require")
0
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
2
97
c3f12fd0c823 Some tiny changes for main.lua
Matthew Wild <mwild1@gmail.com>
parents: 65
diff changeset
3 local server = require "net.server"
99
ba08b8a4eeef Abstract connections with "connection listeners"
Matthew Wild <mwild1@gmail.com>
parents: 97
diff changeset
4 require "lxp"
0
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
5 require "socket"
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
6 require "ssl"
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
7
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
8 function log(type, area, message)
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
9 print(type, area, message);
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
10 end
36
62998e5319e3 Moved hosts to a config file, still need better config though
Matthew Wild <mwild1@gmail.com>
parents: 34
diff changeset
11
62998e5319e3 Moved hosts to a config file, still need better config though
Matthew Wild <mwild1@gmail.com>
parents: 34
diff changeset
12 dofile "lxmppd.cfg"
207
90c387884234 A little whitespace fix
Waqas Hussain <waqas20@gmail.com>
parents: 203
diff changeset
13
99
ba08b8a4eeef Abstract connections with "connection listeners"
Matthew Wild <mwild1@gmail.com>
parents: 97
diff changeset
14 -- Maps connections to sessions --
36
62998e5319e3 Moved hosts to a config file, still need better config though
Matthew Wild <mwild1@gmail.com>
parents: 34
diff changeset
15 sessions = {};
207
90c387884234 A little whitespace fix
Waqas Hussain <waqas20@gmail.com>
parents: 203
diff changeset
16
99
ba08b8a4eeef Abstract connections with "connection listeners"
Matthew Wild <mwild1@gmail.com>
parents: 97
diff changeset
17 -- Load and initialise core modules --
207
90c387884234 A little whitespace fix
Waqas Hussain <waqas20@gmail.com>
parents: 203
diff changeset
18
49
1cd2a8db392d New "import" module to help tidy up all the local declarations at the top of modules
Matthew Wild <mwild1@gmail.com>
parents: 38
diff changeset
19 require "util.import"
20
6885fd2cf51f Remove some debugging messages
Matthew Wild <mwild1@gmail.com>
parents: 18
diff changeset
20 require "core.xmlhandlers"
0
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
21 require "core.rostermanager"
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
22 require "core.offlinemessage"
30
bcf539295f2d Huge commit to:
Matthew Wild <mwild1@gmail.com>
parents: 20
diff changeset
23 require "core.modulemanager"
1
b8787e859fd2 Switched to new connection framework, courtesy of the luadch project
matthew
parents: 0
diff changeset
24 require "core.usermanager"
30
bcf539295f2d Huge commit to:
Matthew Wild <mwild1@gmail.com>
parents: 20
diff changeset
25 require "core.sessionmanager"
bcf539295f2d Huge commit to:
Matthew Wild <mwild1@gmail.com>
parents: 20
diff changeset
26 require "core.stanza_router"
99
ba08b8a4eeef Abstract connections with "connection listeners"
Matthew Wild <mwild1@gmail.com>
parents: 97
diff changeset
27
ba08b8a4eeef Abstract connections with "connection listeners"
Matthew Wild <mwild1@gmail.com>
parents: 97
diff changeset
28 local start = require "net.connlisteners".start;
0
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
29 require "util.stanza"
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
30 require "util.jid"
49
1cd2a8db392d New "import" module to help tidy up all the local declarations at the top of modules
Matthew Wild <mwild1@gmail.com>
parents: 38
diff changeset
31
99
ba08b8a4eeef Abstract connections with "connection listeners"
Matthew Wild <mwild1@gmail.com>
parents: 97
diff changeset
32 ------------------------------------------------------------------------
133
b92493ea6fd7 Fixed: Works when LuaRocks is not present
Waqas Hussain <waqas20@gmail.com>
parents: 99
diff changeset
33
0
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
34 -- Locals for faster access --
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
35 local t_insert = table.insert;
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
36 local t_concat = table.concat;
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
37 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
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
38 local m_random = math.random;
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
39 local format = string.format;
53
14ea0fe6ca86 Session destruction fixes, some debugging code while we fix the rest. Also change logger to be more useful.
Matthew Wild <mwild1@gmail.com>
parents: 49
diff changeset
40 local sm_new_session, sm_destroy_session = sessionmanager.new_session, sessionmanager.destroy_session; --import("core.sessionmanager", "new_session", "destroy_session");
0
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
41 local st = stanza;
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
42 ------------------------------
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
43
97
c3f12fd0c823 Some tiny changes for main.lua
Matthew Wild <mwild1@gmail.com>
parents: 65
diff changeset
44 local hosts, sessions = hosts, sessions;
0
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
45
99
ba08b8a4eeef Abstract connections with "connection listeners"
Matthew Wild <mwild1@gmail.com>
parents: 97
diff changeset
46 -- Initialise modules
33
091f91a1f67a Let modules set/write globals
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
47 modulemanager.loadall();
091f91a1f67a Let modules set/write globals
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
48
1
b8787e859fd2 Switched to new connection framework, courtesy of the luadch project
matthew
parents: 0
diff changeset
49 setmetatable(_G, { __index = function (t, k) print("WARNING: ATTEMPT TO READ A NIL GLOBAL!!!", k); error("Attempt to read a non-existent global. Naughty boy.", 2); end, __newindex = function (t, k, v) print("ATTEMPT TO SET A GLOBAL!!!!", tostring(k).." = "..tostring(v)); error("Attempt to set a global. Naughty boy.", 2); end }) --]][][[]][];
b8787e859fd2 Switched to new connection framework, courtesy of the luadch project
matthew
parents: 0
diff changeset
50
0
3e3171b59028 First commit, where do you want to go tomorrow?
matthew
parents:
diff changeset
51
20
6885fd2cf51f Remove some debugging messages
Matthew Wild <mwild1@gmail.com>
parents: 18
diff changeset
52 local protected_handler = function (conn, data, err) local success, ret = pcall(handler, conn, data, err); if not success then print("ERROR on "..tostring(conn)..": "..ret); conn:close(); end end;
6885fd2cf51f Remove some debugging messages
Matthew Wild <mwild1@gmail.com>
parents: 18
diff changeset
53 local protected_disconnect = function (conn, err) local success, ret = pcall(disconnect, conn, err); if not success then print("ERROR on "..tostring(conn).." disconnect: "..ret); conn:close(); end end;
1
b8787e859fd2 Switched to new connection framework, courtesy of the luadch project
matthew
parents: 0
diff changeset
54
99
ba08b8a4eeef Abstract connections with "connection listeners"
Matthew Wild <mwild1@gmail.com>
parents: 97
diff changeset
55 start("xmppclient", { ssl = ssl_ctx })
145
fbb3a4ff9cf1 dialback keys now verified
Matthew Wild <mwild1@gmail.com>
parents: 99
diff changeset
56 start("xmppserver", { ssl = ssl_ctx })
1
b8787e859fd2 Switched to new connection framework, courtesy of the luadch project
matthew
parents: 0
diff changeset
57
b8787e859fd2 Switched to new connection framework, courtesy of the luadch project
matthew
parents: 0
diff changeset
58 server.loop();