[X2go-Commits] python-x2go.git - master (branch) updated: 0.2.0.10-53-g8eafb11

X2Go dev team git-admin at x2go.org
Thu Nov 8 10:05:14 CET 2012


The branch, master has been updated
       via  8eafb118d1654a534ab836d2f7275c8153e3b941 (commit)
      from  9006f4a59cfe2149b93e4c726b42969b567f7d69 (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 8eafb118d1654a534ab836d2f7275c8153e3b941
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Thu Nov 8 10:04:41 2012 +0100

    Set the session name in case a session start failed due to lack of forwarding tunneling support in the server's SSH daemon.

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

Summary of changes:
 debian/changelog            |    2 ++
 x2go/backends/proxy/base.py |    2 ++
 x2go/forward.py             |    9 ++++++++-
 x2go/session.py             |   11 +++++++++++
 4 files changed, 23 insertions(+), 1 deletion(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 7502f95..89ac661 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -34,6 +34,8 @@ python-x2go (0.2.1.0-0~x2go1) UNRELEASED; urgency=low
       authentication.
     - Add progress bar support for session startup / resuming. Closes upstream
       issue #14.
+    - Set the session name in case a session start failed due to lack of
+      forwarding tunneling support in the server's SSH daemon.
   * /debian/rules:
     + Allow package build on systems with missing dh_python2.
   * /debian/control:
diff --git a/x2go/backends/proxy/base.py b/x2go/backends/proxy/base.py
index 1c62313..0a1ce72 100644
--- a/x2go/backends/proxy/base.py
+++ b/x2go/backends/proxy/base.py
@@ -105,6 +105,7 @@ class X2goProxyBASE(threading.Thread):
 
         self.sessions_rootdir = sessions_rootdir
         self.session_info = session_info
+        self.session_name = self.session_info.session_name
         self.ssh_transport = ssh_transport
         self.session_log = session_log
         self.proxy_options = proxy_options
@@ -186,6 +187,7 @@ class X2goProxyBASE(threading.Thread):
                                                       remote_port=self.session_info.graphics_port,
                                                       ssh_transport=self.ssh_transport,
                                                       session_instance=self.session_instance,
+                                                      session_name=self.session_name,
                                                       logger=self.logger,
                                                      )
 
diff --git a/x2go/forward.py b/x2go/forward.py
index a933424..e06323a 100644
--- a/x2go/forward.py
+++ b/x2go/forward.py
@@ -45,7 +45,7 @@ class X2goFwServer(StreamServer):
     through an external proxy command launched by a C{X2goProxy*} backend.
 
     """
-    def __init__ (self, listener, remote_host, remote_port, ssh_transport, session_instance=None, logger=None, loglevel=log.loglevel_DEFAULT,):
+    def __init__ (self, listener, remote_host, remote_port, ssh_transport, session_instance=None, session_name=None, logger=None, loglevel=log.loglevel_DEFAULT,):
         """\
         @param listener: listen on TCP/IP socket C{(<IP>, <Port>)}
         @type listener: C{tuple}
@@ -55,6 +55,11 @@ class X2goFwServer(StreamServer):
         @type remote_port: C{int}
         @param ssh_transport: a valid Paramiko/SSH transport object
         @type ssh_transport: C{obj}
+        @param session_instance: the complete L{X2goSession} instance of the X2Go session this port forwarding server belongs to.
+            Note: for new L{X2goSession} instances the object has the session name not yet set(!!!)
+        @type session_instance: C{obj}
+        @param session_name: the session name of the X2Go session this port forwarding server belongs to
+        @type session_name: C{str}
         @param logger: you can pass an L{X2goLogger} object to the
             L{X2goFwServer} constructor
         @type logger: C{obj}
@@ -76,6 +81,7 @@ class X2goFwServer(StreamServer):
         self.chain_host = remote_host
         self.chain_port = remote_port
         self.ssh_transport = ssh_transport
+        self.session_name = session_name
         self.session_instance = session_instance
 
         self.fw_socket = None
@@ -130,6 +136,7 @@ class X2goFwServer(StreamServer):
                                                                                 _count),
                                                                                 loglevel=log.loglevel_ERROR)
             if self.session_instance:
+                self.session_instance.set_session_name(self.session_name)
                 self.session_instance.HOOK_forwarding_tunnel_setup_failed(chain_host=self.chain_host, chain_port=self.chain_port)
             self.failed = True
 
diff --git a/x2go/session.py b/x2go/session.py
index e67fa93..21fd356 100644
--- a/x2go/session.py
+++ b/x2go/session.py
@@ -886,6 +886,17 @@ class X2goSession(object):
         return self.session_name
     __get_session_name = get_session_name
 
+    def set_session_name(self, session_name):
+        """\
+        Manipulate the L{X2GoSession}'s session name.
+
+        @param session_name: the new session name to be set
+        @type session_name: C{str}
+
+        """
+        self.session_name = session_name
+    __set_session_name = set_session_name
+
     def get_session_info(self):
         """\
         Retrieve the server-side X2Go session info object for this session.


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