[X2Go-Commits] [python-x2go] 01/01: Support server-side Telekinesis versions that ship their own (teki-)sftpserver.
git-admin at x2go.org
git-admin at x2go.org
Wed Oct 1 11:01:41 CEST 2014
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository python-x2go.
commit 2ff5f60484743e2ecd831251f7aff85ad1ef77a1
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Oct 1 11:01:37 2014 +0200
Support server-side Telekinesis versions that ship their own (teki-)sftpserver.
---
debian/changelog | 2 ++
x2go/telekinesis.py | 26 +++++++++++++++++++-------
2 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index c8be003..c82ca2d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -92,6 +92,8 @@ python-x2go (0.5.0.0-0x2go1) UNRELEASED; urgency=low
- Don't use compression on TeKi sshfs mounts.
- Handle duplicate profile names gracefully (i.e. append a " (1)",
" (2)", ... to the session profile name). (Fixes: #500).
+ - Support server-side Telekinesis versions that ship their own
+ (teki-)sftpserver.
* debian/control:
+ Add dependencies: python-requests, python-simplejson.
* python-x2go.spec:
diff --git a/x2go/telekinesis.py b/x2go/telekinesis.py
index d649c37..1bedf6b 100644
--- a/x2go/telekinesis.py
+++ b/x2go/telekinesis.py
@@ -326,13 +326,25 @@ class X2GoTelekinesisClient(threading.Thread):
if e.errno == 17:
# file exists
pass
- telekinesis_sshfs_command = ['sshfs',
- '-o', 'compression=no',
- '-o', 'follow_symlinks',
- '-o', 'directport={tekidata_port}'.format(tekidata_port=self.local_tekidata_port),
- '127.0.0.1:{remote_home}/.x2go/C-{sid}/telekinesis/remote/'.format(remote_home=self.session_instance.get_remote_home(), sid=self.session_info),
- '/tmp/.x2go-{local_user}/telekinesis/S-{sid}/'.format(local_user=_CURRENT_LOCAL_USER, sid=self.session_info),
- ]
+ if self.session_instance.has_server_feature('X2GO_TELEKINESIS_TEKISFTPSERVER'):
+ # the Perl-based SFTP-Server shipped with Telekinesis Server (teki-sftpserver) supports
+ # chroot'ing. Let's use this by default, if available.
+ telekinesis_sshfs_command = ['sshfs',
+ '-o', 'compression=no',
+ '-o', 'follow_symlinks',
+ '-o', 'directport={tekidata_port}'.format(tekidata_port=self.local_tekidata_port),
+ '127.0.0.1:/',
+ '/tmp/.x2go-{local_user}/telekinesis/S-{sid}/'.format(local_user=_CURRENT_LOCAL_USER, sid=self.session_info),
+ ]
+ else:
+ # very first Telekinesis Server implementation used OpenSSH's sftp-server
+ # that lacks/lacked chroot capability
+ telekinesis_sshfs_command = ['sshfs',
+ '-o', 'compression=no',
+ '-o', 'follow_symlinks',
+ '-o', 'directport={tekidata_port}'.format(tekidata_port=self.local_tekidata_port),
+ '127.0.0.1:{remote_home}/.x2go/C-{sid}/telekinesis/remote/'.format(remote_home=self.session_instance.get_remote_home(), sid=self.session_info),
+ '/tmp/.x2go-{local_user}/telekinesis/S-{sid}/'.format(local_user=_CURRENT_LOCAL_USER, sid=self.session_info),
self.logger('forking threaded subprocess: %s' % " ".join(telekinesis_sshfs_command), loglevel=log.loglevel_DEBUG)
self.telekinesis_sshfs = subprocess.Popen(telekinesis_sshfs_command,
env=self.TEKICLIENT_ENV,
--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
More information about the x2go-commits
mailing list