moduleapi: Import util.stanza required for module:broadcast()
[prosody.git] / core / s2smanager.lua
index 5777cb8ef16b48a1ed34be63866ed004e4bfaa78..59c1831b5eea054805283ea4c8339243523aa461 100644 (file)
@@ -1,7 +1,7 @@
 -- Prosody IM
 -- Copyright (C) 2008-2010 Matthew Wild
 -- Copyright (C) 2008-2010 Waqas Hussain
--- 
+--
 -- This project is MIT/X11 licensed. Please see the
 -- COPYING file in the source package for more information.
 --
@@ -9,8 +9,8 @@
 
 
 local hosts = prosody.hosts;
-local tostring, pairs, getmetatable, newproxy, setmetatable
-    = tostring, pairs, getmetatable, newproxy, setmetatable;
+local tostring, pairs, setmetatable
+    = tostring, pairs, setmetatable;
 
 local logger_init = require "util.logger".init;
 
@@ -24,15 +24,8 @@ local fire_event = prosody.events.fire_event;
 
 module "s2smanager"
 
-local open_sessions = 0;
-
 function new_incoming(conn)
        local session = { conn = conn, type = "s2sin_unauthed", direction = "incoming", hosts = {} };
-       if true then
-               session.trace = newproxy(true);
-               getmetatable(session.trace).__gc = function () open_sessions = open_sessions - 1; end;
-       end
-       open_sessions = open_sessions + 1;
        session.log = logger_init("s2sin"..tostring(session):match("[a-f0-9]+$"));
        incoming_s2s[session] = true;
        return session;
@@ -62,7 +55,7 @@ local resting_session = { -- Resting, not dead
 function retire_session(session, reason)
        local log = session.log or log;
        for k in pairs(session) do
-               if k ~= "trace" and k ~= "log" and k ~= "id" and k ~= "conn" then
+               if k ~= "log" and k ~= "id" and k ~= "conn" then
                        session[k] = nil;
                end
        end
@@ -77,14 +70,14 @@ end
 function destroy_session(session, reason)
        if session.destroyed then return; end
        (session.log or log)("debug", "Destroying "..tostring(session.direction).." session "..tostring(session.from_host).."->"..tostring(session.to_host)..(reason and (": "..reason) or ""));
-       
+
        if session.direction == "outgoing" then
                hosts[session.from_host].s2sout[session.to_host] = nil;
                session:bounce_sendq(reason);
        elseif session.direction == "incoming" then
                incoming_s2s[session] = nil;
        end
-       
+
        local event_data = { session = session, reason = reason };
        if session.type == "s2sout" then
                fire_event("s2sout-destroyed", event_data);
@@ -97,7 +90,7 @@ function destroy_session(session, reason)
                        hosts[session.to_host].events.fire_event("s2sin-destroyed", event_data);
                end
        end
-       
+
        retire_session(session, reason); -- Clean session until it is GC'd
        return true;
 end