Commit 3615910a authored by zheng liu's avatar zheng liu

Merged in dev (pull request #14)

Dev
parents 555b4571 77bfcbd5
...@@ -148,11 +148,16 @@ class SSHws(Namespace, BaseWebSocketHandler): ...@@ -148,11 +148,16 @@ class SSHws(Namespace, BaseWebSocketHandler):
def on_logout(self, connection): def on_logout(self, connection):
logger.debug("{} logout".format(connection)) logger.debug("{} logout".format(connection))
if connection: if connection:
self.clients[request.sid]["proxy"][connection].close() if connection in self.clients[request.sid]["proxy"].keys():
proxy = self.clients[request.sid]["proxy"][connection]
del self.clients[request.sid]["proxy"][connection] del self.clients[request.sid]["proxy"][connection]
proxy.close()
if connection in self.clients[request.sid]["forwarder"].keys():
del self.clients[request.sid]["forwarder"][connection] del self.clients[request.sid]["forwarder"][connection]
self.clients[request.sid]["client"][connection].close() if connection in self.clients[request.sid]["client"].keys():
client = self.clients[request.sid]["client"][connection]
del self.clients[request.sid]["client"][connection] del self.clients[request.sid]["client"][connection]
client.close()
class HttpServer: class HttpServer:
......
...@@ -129,7 +129,7 @@ class InteractiveServer: ...@@ -129,7 +129,7 @@ class InteractiveServer:
self.display_asset_groups() self.display_asset_groups()
elif opt.startswith("g") and opt.lstrip("g").isdigit(): elif opt.startswith("g") and opt.lstrip("g").isdigit():
self.display_group_assets(int(opt.lstrip("g"))) self.display_group_assets(int(opt.lstrip("g")))
elif opt in ['q', 'Q']: elif opt in ['q', 'Q', 'exit', 'quit']:
return self._sentinel return self._sentinel
elif opt in ['h', 'H']: elif opt in ['h', 'H']:
self.display_banner() self.display_banner()
......
...@@ -163,9 +163,12 @@ class TtyIOParser(object): ...@@ -163,9 +163,12 @@ class TtyIOParser(object):
for d in data: for d in data:
self.stream.feed(d) self.stream.feed(d)
try:
for line in self.screen.display: for line in self.screen.display:
if line.strip(): if line.strip():
output.append(line) output.append(line)
except IndexError:
pass
self.screen.reset() self.screen.reset()
return sep.join(output[0:-1]).strip() return sep.join(output[0:-1]).strip()
......
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