From b9e4bb5887ad52686ea76ae482f2894859a2c08e Mon Sep 17 00:00:00 2001 From: damp11113 Date: Sat, 4 Jan 2025 13:47:02 +0700 Subject: [PATCH] fix "can't disconnection" --- setup.py | 2 +- src/PyserSSH/server.py | 3 +++ src/PyserSSH/system/info.py | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 689083a..05e6c22 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name='PyserSSH', - version='5.1.3', + version='5.1.4', license='MIT', author='DPSoftware Foundation', author_email='contact@damp11113.xyz', diff --git a/src/PyserSSH/server.py b/src/PyserSSH/server.py index 46dd80d..6dc230a 100644 --- a/src/PyserSSH/server.py +++ b/src/PyserSSH/server.py @@ -246,6 +246,8 @@ class Server: isConnect = expect(self, self.client_handlers[channel.getpeername()], echo) self._handle_event("disconnected", self.client_handlers[peername]) + channel.close() + bh_session.close() except KeyboardInterrupt: self._handle_event("disconnected", self.client_handlers[peername]) channel.close() @@ -256,6 +258,7 @@ class Server: finally: self._handle_event("disconnected", self.client_handlers[peername]) channel.close() + bh_session.close() else: if self.sftpena: logger.info("user is sftp") diff --git a/src/PyserSSH/system/info.py b/src/PyserSSH/system/info.py index 1df12e2..b1e346d 100644 --- a/src/PyserSSH/system/info.py +++ b/src/PyserSSH/system/info.py @@ -25,7 +25,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ -version = "5.1.3" +version = "5.1.4" system_banner = ( f"\033[36mPyserSSH V{version} \033[0m"