webssh

Web based ssh client https://github.com/huashengdun/webssh webssh.huashengdun.org/
git clone http://git.hanabi.in/repos/webssh.git
Log | Files | Refs | README | LICENSE

commit 19d816f9914f765e5cc8f1e48386e5d8e5eac4cc
parent 596e12d8642d3415f1b74871ea93f17bbd33b687
Author: Sheng <webmaster0115@gmail.com>
Date:   Wed, 16 Sep 2020 21:01:53 +0800

Check if channel is closed first when error occurs on reading or writing

Diffstat:
Mwebssh/worker.py | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/webssh/worker.py b/webssh/worker.py @@ -67,7 +67,7 @@ class Worker(object): data = self.chan.recv(BUF_SIZE) except (OSError, IOError) as e: logging.error(e) - if errno_from_exception(e) in _ERRNO_CONNRESET: + if self.chan.closed or errno_from_exception(e) in _ERRNO_CONNRESET: self.close(reason='chan error on reading') else: logging.debug('{!r} from {}:{}'.format(data, *self.dst_addr)) @@ -93,7 +93,7 @@ class Worker(object): sent = self.chan.send(data) except (OSError, IOError) as e: logging.error(e) - if errno_from_exception(e) in _ERRNO_CONNRESET: + if self.chan.closed or errno_from_exception(e) in _ERRNO_CONNRESET: self.close(reason='chan error on writing') else: self.update_handler(IOLoop.WRITE)