[X2go-Commits] python-x2go.git - release/0.1.1.x (branch) updated: 0.1.1.4-15-ga5ab9db

X2go dev team git-admin at x2go.org
Thu Jul 28 15:44:55 CEST 2011


The branch, release/0.1.1.x has been updated
       via  a5ab9db9661a5b2c9a14055d040f6cc7b7d18dd0 (commit)
       via  5ec4f17eec36937131a8154c2c42b6fcba7b6e65 (commit)
      from  65bc84008ddf63ac5d464ccb0f74109eb22d8b84 (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 a5ab9db9661a5b2c9a14055d040f6cc7b7d18dd0
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Thu Jul 28 15:44:31 2011 +0200

    Stabilize sshfs related problems in case remote user is not in fuse group.

commit 5ec4f17eec36937131a8154c2c42b6fcba7b6e65
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Thu Jul 28 15:36:59 2011 +0200

    If sound is set to false in session profile use snd_system='none' in terminal session.

-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                  |    3 +++
 x2go/backends/terminal/_stdout.py |    3 +++
 x2go/session.py                   |   31 +++++++++++++++++++++++--------
 x2go/utils.py                     |    2 +-
 4 files changed, 30 insertions(+), 9 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 598ebb5..d69b3ba 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,9 @@ python-x2go (0.1.1.5-0~x2go1) UNRELEASED; urgency=low
     - Handle full path command string appropriately.
     - Fix for X2goSessionRegistry.forget method, do not complain if session_uuid
       is already forgotten.
+    - If sound is set to false in session profile use snd_system='none' in
+      terminal session.
+    - Stabilize sshfs related problems in case remote user is not in fuse group.
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Tue, 19 Jul 2011 20:44:30 +0200
 
diff --git a/x2go/backends/terminal/_stdout.py b/x2go/backends/terminal/_stdout.py
index b8e7852..f7bea1d 100644
--- a/x2go/backends/terminal/_stdout.py
+++ b/x2go/backends/terminal/_stdout.py
@@ -444,6 +444,9 @@ class X2goTerminalSessionSTDOUT(object):
         Initialize Paramiko/SSH reverse forwarding tunnel for X2go folder sharing.
 
         """
+        if self.session_info.username not in self.control_session._x2go_remote_group('fuse'):
+            raise x2go_exceptions.X2goUserException('remote user %s is not member of X2go server group fuse' % self.session_info.username)
+
         # start reverse SSH tunnel for sshfs (folder sharing, printing)
         ssh_transport = self.control_session.get_transport()
         if self.reverse_tunnels[self.session_info.name]['sshfs'][1] is None:
diff --git a/x2go/session.py b/x2go/session.py
index 0954e4a..e870da3 100644
--- a/x2go/session.py
+++ b/x2go/session.py
@@ -270,6 +270,11 @@ class X2goSession(object):
             'faulty': self.faulty,
         }
 
+        self._SUPPORTED_SOUND = SUPPORTED_SOUND
+        self._SUPPORTED_PRINTING = SUPPORTED_PRINTING
+        self._SUPPORTED_MIMEBOX = SUPPORTED_MIMEBOX
+        self._SUPPORTED_FOLDERSHARING = SUPPORTED_FOLDERSHARING
+
         self.init_control_session()
         self.terminal_session = None
 
@@ -1020,26 +1025,36 @@ class X2goSession(object):
 
             if self.has_terminal_session() and not self.faulty:
 
-                if SUPPORTED_SOUND and self.terminal_session.params.snd_system is not 'none':
+
+                if self._SUPPORTED_SOUND and self.terminal_session.params.snd_system is not 'none':
                     self.terminal_session and not self.faulty and self.terminal_session.start_sound()
+                else:
+                    self._SUPPORTED_SOUND = False
 
-                if (SUPPORTED_PRINTING and self.printing) or \
-                   (SUPPORTED_MIMEBOX and self.allow_mimebox) or \
-                   (SUPPORTED_FOLDERSHARING and self.allow_share_local_folders):
-                    self.terminal_session and not self.faulty and self.terminal_session.start_sshfs()
+                try:
+                    if (self._SUPPORTED_PRINTING and self.printing) or \
+                       (self._SUPPORTED_MIMEBOX and self.allow_mimebox) or \
+                       (self._SUPPORTED_FOLDERSHARING and self.allow_share_local_folders):
+                        self.terminal_session and not self.faulty and self.terminal_session.start_sshfs()
+                except X2goUserException:
+                    # TODO: handle this exception as a notification hook method...
+                    self._SUPPORTED_PRINTING = False
+                    self._SUPPORTED_MIMEBOX = False
+                    self._SUPPORTED_FOLDERSHARING = False
 
                 try:
                     if SUPPORTED_PRINTING and self.printing:
                         self.terminal_session and not self.faulty and self.terminal_session.start_printing()
                         self.terminal_session and not self.faulty and self.session_environment.update({'X2GO_SPOOLDIR': self.terminal_session.get_printing_spooldir(), })
                 except X2goUserException:
-                    pass
+                    # TODO: handle this exception as a notification hook method...
+                    self._SUPPORTED_PRINTING = False
 
-                if SUPPORTED_MIMEBOX and self.allow_mimebox:
+                if self._SUPPORTED_MIMEBOX and self.allow_mimebox:
                     self.terminal_session and not self.faulty and self.terminal_session.start_mimebox(mimebox_extensions=self.mimebox_extensions, mimebox_action=self.mimebox_action)
                     self.session_environment.update({'X2GO_MIMEBOX': self.terminal_session.get_mimebox_spooldir(), })
 
-                if SUPPORTED_FOLDERSHARING and self.share_local_folders:
+                if self._SUPPORTED_FOLDERSHARING and self.share_local_folders:
                     if _control.get_transport().reverse_tunnels[self.terminal_session.get_session_name()]['sshfs'][1] is not None:
                         for _folder in self.share_local_folders:
                             self.share_local_folder(_folder)
diff --git a/x2go/utils.py b/x2go/utils.py
index 9bf38b1..47eeea1 100644
--- a/x2go/utils.py
+++ b/x2go/utils.py
@@ -216,7 +216,7 @@ def _convert_SessionProfileOptions_2_SessionParams(_options):
     del _params['fullscreen']
 
     if not _options['sound']:
-        snd_system = 'none'
+        _params['snd_system'] = 'none'
     del _params['sound']
 
     if _options['rootless']:


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