net.http, net.http.server, mod_c2s, mod_s2s, mod_component, mod_admin_telnet, mod_net...
authorMatthew Wild <mwild1@gmail.com>
Fri, 29 Aug 2014 10:54:34 +0000 (11:54 +0100)
committerMatthew Wild <mwild1@gmail.com>
Fri, 29 Aug 2014 10:54:34 +0000 (11:54 +0100)
net/http.lua
net/http/server.lua
plugins/mod_admin_telnet.lua
plugins/mod_c2s.lua
plugins/mod_component.lua
plugins/mod_net_multiplex.lua
plugins/mod_s2s/mod_s2s.lua

index 6ddb19004beb1977b3fe20301487bdbd60ff59b7..9dde6062d22ebf1c9df245cbc95f7f7148eef00c 100644 (file)
@@ -72,6 +72,10 @@ function listener.ondisconnect(conn, err)
        requests[conn] = nil;
 end
 
+function listener.ondetach(conn)
+       requests[conn] = nil;
+end
+
 local function request_reader(request, data, err)
        if not request.parser then
                local function error_cb(reason)
index 771adf10cfdf441e642eeb93d384514315bf15a3..7937f87c8277e22608612b6f688ca232d43f4825 100644 (file)
@@ -142,6 +142,10 @@ function listener.ondisconnect(conn)
        sessions[conn] = nil;
 end
 
+function listener.ondetach(conn)
+       sessions[conn] = nil;
+end
+
 function listener.onincoming(conn, data)
        sessions[conn]:feed(data);
 end
index 671b6d8945504ba65188cbc560077e2106194ac4..e4b5a045ccbab2308b758c4f1f87556c4326929a 100644 (file)
@@ -163,6 +163,10 @@ function console_listener.ondisconnect(conn, err)
        end
 end
 
+function console_listener.ondetach(conn)
+       sessions[conn] = nil;
+end
+
 -- Console commands --
 -- These are simple commands, not valid standalone in Lua
 
index b6895f4b4341c3b7725f7aabfeb9955717cb1092..3d6487c91eadd11b942e2063a32437b58990ce9c 100644 (file)
@@ -266,6 +266,10 @@ function listener.associate_session(conn, session)
        sessions[conn] = session;
 end
 
+function listener.ondetach(conn)
+       sessions[conn] = nil;
+end
+
 module:hook("server-stopping", function(event)
        local reason = event.reason;
        for _, session in pairs(sessions) do
index c5a1da81ce49e3f920eae0dab735d92977043c3e..7bc0f5b76dcc1814fdc65e6c65b8dbe776727d16 100644 (file)
@@ -319,6 +319,10 @@ function listener.ondisconnect(conn, err)
        end
 end
 
+function listener.ondetach(conn)
+       sessions[conn] = nil;
+end
+
 module:provides("net", {
        name = "component";
        private = true;
index d666b907841b50e843eb28814769005e3f0424ba..0dd3dc67709dc308e0281c1a29bd9cad5d9ccdeb 100644 (file)
@@ -34,7 +34,6 @@ end
 function listener.onincoming(conn, data)
        if not data then return; end
        local buf = buffers[conn];
-       buffers[conn] = nil;
        buf = buf and buf..data or data;
        for service, multiplex_pattern in pairs(available_services) do
                if buf:match(multiplex_pattern) then
@@ -57,6 +56,8 @@ function listener.ondisconnect(conn, err)
        buffers[conn] = nil; -- warn if no buffer?
 end
 
+listener.ondetach = listener.ondisconnect;
+
 module:provides("net", {
        name = "multiplex";
        config_prefix = "";
index 834e6a1ca28ddbc73aeea467f3462453c1fef780..ee03987de0254c5ac2767df1319c9475852ffb32 100644 (file)
@@ -638,6 +638,10 @@ function listener.register_outgoing(conn, session)
        initialize_session(session);
 end
 
+function listener.ondetach(conn)
+       sessions[conn] = nil;
+end
+
 function check_auth_policy(event)
        local host, session = event.host, event.session;
        local must_secure = secure_auth;