Comparison

core/sessionmanager.lua @ 4548:e6e5c76ff009

sessionmanager, mod_c2s: Move timeout logic to mod_c2s
author Matthew Wild <mwild1@gmail.com>
date Mon, 23 Jan 2012 00:56:57 +0000
parent 4543:db27a4c18b6a
child 4552:414d857ee125
comparison
equal deleted inserted replaced
4547:d9d777e97e8f 4548:e6e5c76ff009
26 local add_task = require "util.timer".add_task; 26 local add_task = require "util.timer".add_task;
27 local gettime = require "socket".gettime; 27 local gettime = require "socket".gettime;
28 28
29 local st = require "util.stanza"; 29 local st = require "util.stanza";
30 30
31 local c2s_timeout = config_get("*", "core", "c2s_timeout");
32
33 local newproxy = newproxy; 31 local newproxy = newproxy;
34 local getmetatable = getmetatable; 32 local getmetatable = getmetatable;
35 33
36 module "sessionmanager" 34 module "sessionmanager"
37 35
60 end 58 end
61 end 59 end
62 session.ip = conn:ip(); 60 session.ip = conn:ip();
63 local conn_name = "c2s"..tostring(conn):match("[a-f0-9]+$"); 61 local conn_name = "c2s"..tostring(conn):match("[a-f0-9]+$");
64 session.log = logger.init(conn_name); 62 session.log = logger.init(conn_name);
65
66 if c2s_timeout then
67 add_task(c2s_timeout, function ()
68 if session.type == "c2s_unauthed" then
69 session:close("connection-timeout");
70 end
71 end);
72 end
73 63
74 return session; 64 return session;
75 end 65 end
76 66
77 local resting_session = { -- Resting, not dead 67 local resting_session = { -- Resting, not dead