The branch, release/0.1.1.x has been updated via 2eaa28d9aac14d7aa40f315084013bf2346665a5 (commit) via c19244a46d5323607653a98d186d9f370efcbbd9 (commit) from da6002f82aca5764b23e1bd0cf6b55fc50fe0be7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 2eaa28d9aac14d7aa40f315084013bf2346665a5 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Tue Sep 27 20:48:38 2011 +0200 Always disconnect from X2goSession instance. commit c19244a46d5323607653a98d186d9f370efcbbd9 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Tue Sep 27 20:47:53 2011 +0200 Catch failures on sftp_write in control session instance. ----------------------------------------------------------------------- Summary of changes: debian/changelog | 2 ++ x2go/backends/control/_stdout.py | 12 +++++++----- x2go/session.py | 3 +++ 3 files changed, 12 insertions(+), 5 deletions(-) The diff of changes is: diff --git a/debian/changelog b/debian/changelog index 3cea1fb..bdb7124 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,8 @@ python-x2go (0.1.1.8-0-x2go1) UNRELEASED; urgency=low - Unshare local folders during session cleanup. - Remove local session cache folders after sessions have terminated. - Fix missing import of socket module in backends/control/_stdout.py. + - Catch failures on sftp_write in control session instance. + - Always disconnect from X2goSession instance. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Sun, 25 Sep 2011 02:08:11 +0200 diff --git a/x2go/backends/control/_stdout.py b/x2go/backends/control/_stdout.py index 25c2068..57df4f7 100644 --- a/x2go/backends/control/_stdout.py +++ b/x2go/backends/control/_stdout.py @@ -160,10 +160,13 @@ class X2goControlSessionSTDOUT(paramiko.SSHClient): def _x2go_sftp_write(self, remote_path, content): self.logger('sFTP-write: opening remote file %s on host %s for writing' % (remote_path, self.get_transport().getpeername()), loglevel=log.loglevel_DEBUG) - remote_fileobj = self.sftp_client.open(remote_path, 'w') - self.logger('sFTP-write: writing content: %s' % content, loglevel=log.loglevel_DEBUG_SFTPXFER) - remote_fileobj.write(content) - remote_fileobj.close() + try: + remote_fileobj = self.sftp_client.open(remote_path, 'w') + self.logger('sFTP-write: writing content: %s' % content, loglevel=log.loglevel_DEBUG_SFTPXFER) + remote_fileobj.write(content) + remote_fileobj.close() + except SSHException: + self.logger('sFTP-write: opening remote file %s on host %s failed' % (remote_path, self.get_transport().getpeername()), loglevel=log.loglevel_WARN) def _x2go_sftp_remove(self, remote_path): @@ -495,7 +498,6 @@ class X2goControlSessionSTDOUT(paramiko.SSHClient): self.session_died = False if not self.home_exists(): - self.disconnect() raise x2go_exceptions.X2goRemoteHomeException('remote home directory does not exist') return (self.get_transport() is not None) diff --git a/x2go/session.py b/x2go/session.py index f700c03..f8d2ace 100644 --- a/x2go/session.py +++ b/x2go/session.py @@ -773,6 +773,9 @@ class X2goSession(object): **_params) except X2goControlSessionException, e: raise X2goSessionException(str(e)) + except X2goRemoteHomeException, e: + self.disconnect() + raise e except: # remove credentials immediately self.control_params['password'] = '' hooks/post-receive -- python-x2go.git (Python X2go Client API) This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "python-x2go.git" (Python X2go Client API).