Commit 1ee793fa authored by ibuler's avatar ibuler

[Debug] GC debug

parent 127fa8b1
......@@ -313,6 +313,7 @@ class InteractiveServer:
break
except socket.error:
break
print("Interact function end")
self.close()
def interact_async(self):
......@@ -323,3 +324,6 @@ class InteractiveServer:
def close(self):
self.app.remove_client(self.client)
logger.info("Exit interactive server")
def __del__(self):
print("Interactive class been gc")
......@@ -75,7 +75,7 @@ class Client:
return "<%s from %s:%s>" % (self.user, self.addr[0], self.addr[1])
def __del__(self):
logger.info("GC client object: {}".format(self))
print("GC client object: {}".format(self))
class Server:
......@@ -187,7 +187,7 @@ class Server:
return "<To: {}>".format(str(self.asset))
def __del__(self):
logger.info("GC server object: {}".format(self))
print("Server object has been gc".format(self))
class WSProxy:
......
......@@ -179,7 +179,7 @@ class ServerReplayRecorder(ReplayRecorder):
return False
def __del__(self):
print("{} has been gc".format(self))
print("Server recorder has been gc")
del self.file
......
......@@ -107,7 +107,10 @@ class Session:
def terminate(self):
msg = b"Terminate by administrator\r\n"
self.client.send(msg)
try:
self.client.send(msg)
except OSError:
pass
self.close()
def bridge(self):
......@@ -186,4 +189,4 @@ class Session:
return self.id
def __del__(self):
logger.info("Session {} object has been GC".format(self.id))
print("Session object been gc")
......@@ -51,6 +51,7 @@ class SSHServer:
thread.start()
except Exception as e:
logger.error("Start SSH server error: {}".format(e))
print("SSH Server stop")
def handle_connection(self, sock, addr):
transport = paramiko.Transport(sock, gss_kex=False)
......@@ -72,10 +73,15 @@ class SSHServer:
return
while True:
if not transport.is_active():
logger.debug("Transport closed")
break
chan = transport.accept()
server.event.wait(5)
if chan is None:
continue
server.event.wait(5)
if not server.event.is_set():
logger.warning("Client not request a valid request, exiting")
return
......@@ -94,6 +100,7 @@ class SSHServer:
if request_type == 'pty' or request_type == 'x11':
logger.info("Request type `pty`, dispatch to interactive mode")
InteractiveServer(self.app, client).interact()
print("Dispatch function end")
elif request_type == 'exec':
pass
elif request_type == 'subsystem':
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment