[X2Go-Commits] python-x2go.git - twofactorauth (branch) updated: ffada7f75b49527f55ac054620d7df024a92e16e
X2Go dev team
git-admin at x2go.org
Sat Sep 14 15:55:44 CEST 2013
The branch, twofactorauth has been updated
via ffada7f75b49527f55ac054620d7df024a92e16e (commit)
from c5136ce01cb6e6a9fca5a220fcfad65dfd27bf6e (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 -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
x2go/backends/proxy/base.py | 5 ++++-
x2go/backends/terminal/_stdout.py | 10 +++++++++-
x2go/session.py | 3 +++
x2go/sftpserver.py | 18 +++++++++++++++---
4 files changed, 31 insertions(+), 5 deletions(-)
The diff of changes is:
diff --git a/x2go/backends/proxy/base.py b/x2go/backends/proxy/base.py
index 0047940..b84e69f 100644
--- a/x2go/backends/proxy/base.py
+++ b/x2go/backends/proxy/base.py
@@ -196,7 +196,10 @@ class X2goProxyBASE(threading.Thread):
if _X2GOCLIENT_OS == 'Windows':
_stdin.close()
self.logger('terminating proxy: %s' % p, loglevel=log.loglevel_DEBUG)
- p.terminate()
+ try:
+ p.terminate()
+ except WindowsError:
+ pass
def _update_local_proxy_socket(self, port):
pass
diff --git a/x2go/backends/terminal/_stdout.py b/x2go/backends/terminal/_stdout.py
index 73fe7dd..ea93ef0 100644
--- a/x2go/backends/terminal/_stdout.py
+++ b/x2go/backends/terminal/_stdout.py
@@ -48,6 +48,7 @@ import x2go.x2go_exceptions as x2go_exceptions
from x2go.cleanup import x2go_cleanup
# we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)
+from x2go.defaults import X2GOCLIENT_OS as _X2GOCLIENT_OS
from x2go.defaults import LOCAL_HOME as _LOCAL_HOME
from x2go.defaults import CURRENT_LOCAL_USER as _CURRENT_LOCAL_USER
from x2go.defaults import X2GO_CLIENT_ROOTDIR as _X2GO_CLIENT_ROOTDIR
@@ -520,6 +521,7 @@ class X2goTerminalSessionSTDOUT(object):
self.logger('local folder does not exist: %s' % folder_name, log.loglevel_WARN)
return False
+ folder_name = os.path.normpath(folder_name)
self.logger('sharing local folder: %s' % folder_name, log.loglevel_INFO)
_auth_rsakey = self.control_session._x2go_session_auth_rsakey
@@ -530,11 +532,17 @@ class X2goTerminalSessionSTDOUT(object):
_tmp_io_object.write('----BEGIN RSA IDENTITY----')
_tmp_io_object.write('%s %s' % (_host_rsakey.get_name(),_host_rsakey.get_base64(),))
- _x2go_key_fname = os.path.join(os.path.dirname(self.session_info.remote_container), 'ssh', 'key.z%s' % self.session_info.agent_pid)
+ # _x2go_key_fname must be a UniX pathn
+ _x2go_key_fname = '%s/%s/%s' % (os.path.dirname(self.session_info.remote_container), 'ssh', 'key.z%s' % self.session_info.agent_pid)
_x2go_key_bundle = _tmp_io_object.getvalue()
self.control_session._x2go_sftp_write(_x2go_key_fname, _x2go_key_bundle)
+ if _X2GOCLIENT_OS == 'Windows':
+ folder_name = folder_name.replace('\\', '/')
+ folder_name = folder_name.replace(':', '')
+ folder_name = '/windrive/%s' % folder_name
+
if folder_type is 'disk':
cmd_line = [ 'export HOSTNAME &&',
diff --git a/x2go/session.py b/x2go/session.py
index f2e3173..5ba91d5 100644
--- a/x2go/session.py
+++ b/x2go/session.py
@@ -158,6 +158,9 @@ class X2goSession(object):
self.logger('X2go terminal session parameters for profile %s:' % profile_name, log.loglevel_DEBUG)
for p in self.terminal_params:
self.logger(' %s: %s' % (p,self.terminal_params[p]), log.loglevel_DEBUG)
+ self.logger('X2go sshproxy parameters for profile %s:' % profile_name, log.loglevel_DEBUG)
+ for p in self.sshproxy_params:
+ self.logger(' %s: %s' % (p,self.sshproxy_params[p]), log.loglevel_DEBUG)
if control_session is None:
self.logger('initializing X2goControlSession', loglevel=log.loglevel_DEBUG)
diff --git a/x2go/sftpserver.py b/x2go/sftpserver.py
index db57377..deb5a93 100644
--- a/x2go/sftpserver.py
+++ b/x2go/sftpserver.py
@@ -80,6 +80,8 @@ class _SSHServer(paramiko.ServerInterface):
Ensure proper authentication.
"""
+ # for debugging!!!
+ return paramiko.AUTH_SUCCESSFUL
if username == self.current_local_user:
self.logger('sFTP server %s: username is %s' % (self, self.current_local_user), loglevel=log.loglevel_DEBUG)
if type(key) == paramiko.RSAKey and key == self.auth_key:
@@ -132,10 +134,19 @@ class _SFTPServerInterface(paramiko.SFTPServerInterface):
"""\
Enforce the chroot jail.
"""
- path = self.CHROOT + self.canonicalize(path)
- path = path.replace('//','/')
+ if defaults.X2GOCLIENT_OS == 'Windows' and path.startswith('/windrive'):
+ _path_components = path.split('/')
+ _drive = _path_components[2]
+ _tail_components = (len(_path_components) > 3) and _path_components[3:] or ''
+ _tail = os.path.normpath('/'.join(_tail_components))
+ path = os.path.join('%s:' % _drive, '/', _tail)
+ else:
+ path = os.path.normpath(os.path.join(self.CHROOT, self.canonicalize(path)))
return path
+ def session_started(self):
+ print 'SESSION STARTED: %s' % self.CHROOT
+
def list_folder(self, path):
"""\
List the contents of a folder.
@@ -239,6 +250,7 @@ class _SFTPServerInterface(paramiko.SFTPServerInterface):
"""\
Remove a file.
"""
+ path = self._realpath(path)
os.remove(path)
self.logger('sFTP server %s: removing file: %s' % (self, path), loglevel=log.loglevel_DEBUG_SFTPXFER)
return paramiko.SFTP_OK
@@ -490,4 +502,4 @@ def x2go_rev_forward_sftpchannel_handler(chan=None, auth_key=None, logger=None):
class X2goRevFwSFTPChannelThread(rforward.X2goRevFwChannelThread): pass
-"""A clone of L{rforward.X2goRevFwChannelThread}."""
\ No newline at end of file
+"""A clone of L{rforward.X2goRevFwChannelThread}."""
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).
More information about the x2go-commits
mailing list