aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/s2smanager.lua32
1 files changed, 15 insertions, 17 deletions
diff --git a/core/s2smanager.lua b/core/s2smanager.lua
index e5540e1d..46dcd108 100644
--- a/core/s2smanager.lua
+++ b/core/s2smanager.lua
@@ -13,6 +13,7 @@ local tostring, pairs, setmetatable
= tostring, pairs, setmetatable;
local logger_init = require "util.logger".init;
+local sessionlib = require "util.session";
local log = logger_init("s2smanager");
@@ -26,29 +27,26 @@ local _ENV = nil;
-- luacheck: std none
local function new_incoming(conn)
- local host_session = {
- conn = conn,
- type = "s2sin_unauthed",
- direction = "incoming",
- hosts = {},
- };
- host_session.log = logger_init("s2sin"..tostring(host_session):match("[a-f0-9]+$"));
+ local host_session = sessionlib.new("s2sin");
+ sessionlib.set_id(host_session);
+ sessionlib.set_logger(host_session);
+ sessionlib.set_conn(host_session, conn);
+ host_session.direction = "incoming";
+ host_session.session.hosts = {};
incoming_s2s[host_session] = true;
return host_session;
end
local function new_outgoing(from_host, to_host)
- local host_session = {
- to_host = to_host,
- from_host = from_host,
- host = from_host,
- notopen = true,
- type = "s2sout_unauthed",
- direction = "outgoing",
- };
+ local host_session = sessionlib.new("s2sout");
+ sessionlib.set_id(host_session);
+ sessionlib.set_logger(host_session);
+ host_session.to_host = to_host;
+ host_session.from_host = from_host;
+ host_session.host = from_host;
+ host_session.notopen = true;
+ host_session.direction = "outgoing";
hosts[from_host].s2sout[to_host] = host_session;
- local conn_name = "s2sout"..tostring(host_session):match("[a-f0-9]*$");
- host_session.log = logger_init(conn_name);
return host_session;
end