[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: 0.1.1.4-100-g37cbc1f
X2Go dev team
git-admin at x2go.org
Wed Jan 8 15:28:52 CET 2014
The branch, build-baikal has been updated
via 37cbc1fa5f77877a2a7c28f30947e0fe8027601e (commit)
from 986103a27f73a8a133b5b5acd10e2d7675da3e7a (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:
debian/changelog | 2 ++
x2go/backends/terminal/_stdout.py | 26 ++++++++++++++++++++++++++
2 files changed, 28 insertions(+)
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 36703a2..c2752f0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,8 @@ python-x2go (0.1.2.0-0~x2go1) UNRELEASED; urgency=low
- Add default value for new session profile parameter xinerama (ignored by
Python X2Go for now).
- Replace any non-code string ,,X2go'' by ,,X2Go''.
+ - Add support for session port re-allocation on session resume (feature of
+ x2goserver >= 3.1.0.0).
* Depend on python-xlib.
-- Mike Gabriel <mike.gabriel at das-netzwerkteam.de> Sat, 28 Sep 2012 01:44:21 +0100
diff --git a/x2go/backends/terminal/_stdout.py b/x2go/backends/terminal/_stdout.py
index b3c6ba9..4ded9bc 100644
--- a/x2go/backends/terminal/_stdout.py
+++ b/x2go/backends/terminal/_stdout.py
@@ -1104,6 +1104,32 @@ class X2goTerminalSessionSTDOUT(object):
(stdin, stdout, stderr) = self.control_session._x2go_exec_command(cmd_line)
+ # re-allocate (if needed) server-side ports for graphics, sound and sshfs
+ for stdout_line in stdout.read():
+ try:
+ _new_value = stdout_line.split("=")[1].strip()
+ if 'gr_port=' in stdout_line and _new_value != str(session_info.graphics_port):
+ try:
+ session_info.graphics_port = int(_new_value)
+ self.logger('re-allocating graphics port for session %s, old server-side port is in use; new graphics port is %s' % (self.session_info, self.session_info.graphics_port), loglevel=log.loglevel_NOTICE)
+ except TypeError:
+ # if the re-allocation fails, this is fatal!!!
+ raise X2goTerminalSessionException('Failed to retrieve new graphics port from server. X2Go Session cannot be resumed.')
+ elif 'sound_port=' in stdout_line and _new_value != str(session_info.snd_port):
+ try:
+ session_info.snd_port = int(_new_value)
+ self.logger('re-allocating sound port for session %s, old server-side port is in use; new sound port is %s' % (self.session_info, self.session_info.snd_port), loglevel=log.loglevel_NOTICE)
+ except TypeError:
+ self.logger('Failed to retrieve new sound port from server for session %s, session will be without sound.' % self.session_info, loglevel=log.loglevel_WARN)
+ elif 'fs_port=' in stdout_line and _new_value != str(session_info.sshfs_port):
+ try:
+ session_info.sshfs_port = int(_new_value)
+ self.logger('re-allocating sshfs port for session %s, old server-side port is in use; new sshfs port is %s' % (self.session_info, self.session_info.sshfs_port), loglevel=log.loglevel_NOTICE)
+ except TypeError:
+ self.logger('Failed to retrieve new sshfs port from server for session %s, session will be without client-side folder sharing. Neither will there be X2Go printing nor X2Go MIME box support.' % self.session_info, loglevel=log.loglevel_WARN)
+ except IndexError:
+ continue
+
self.proxy = self.proxy_backend(session_info=self.session_info,
ssh_transport=self.control_session.get_transport(),
sessions_rootdir=self.sessions_rootdir,
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