This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch build-main in repository python-x2go. from eb2f3b2 release 0.4.0.9 adds 65d661a happy new year adds 24836a9 Merge branch 'release/0.4.0.x' adds 9557481 Don't parse default values to ConfigParser constructor when initializing an INI file. adds 023800e don't raise an exception if tf-auth is requested adds c583edc typo fix adds 9f1bd9b Return color depth on MS Windows machines. adds e3ce176 Merge branch 'release/0.4.0.x' adds 167ec13 Split up session profile backend into generic and storage specific parts. adds 2cef942 debian/changelog: typo adds ca7464b happy new year adds 7815d13 Don't parse default values to ConfigParser constructor when initializing an INI file. adds a328215 bump version to 0.5.0.0 adds 1ea5f92 Fully rework backend concept in Python X2Go. Breaks compatibility with earlier versions of Python X2Go concerning backends (probably not really used by third-party products, if at all). adds bb4b79e don't raise an exception if tf-auth is requested adds a764584 provide BACKENDS in main module adds 49650d9 typo fix adds a423bfe Fix setting default values in X2GoClientXConfig class. adds 4ba8ae7 Return color depth on MS Windows machines. adds a08fa96 release 0.4.0.9 adds 26ad1cd Merge branch 'brokerclient' adds 6b2929a Preserve class-wide control session options (like add_to_known_hosts, forward_sshagent, etc.). Thanks to Dick Kniep for reporting this. adds 9fc8c3e fix _get_profile_parameter() in profile backend's base.py file adds 3088eda some code beautifications adds 86d185a Default to xdg-open as default PDF viewer command. adds f5f6f6d Provide session profile backend for a http broker. adds 41395ef debian/control: Add dependencies: python-requests, python-simplejson. adds 921ee10 python-x2go.spec: Add dependencies: python-requests, python-simplejson. adds 0ac8563 fix changelog entry adds 580cb0e X2GoSessionProfile.get_server_hostname must return unicode objects. adds 5eea83a fix method name adds 80e2752 fix for last commit adds 66cecf3 Speed-optimize session profile ID <-> name mapping. adds 3259daf another one: optimize session profile option retrieval adds ce97f34 Handle injection of PKey (Paramiko SSH key) objects for authentication from the broker session profiles backend. adds 66e96d2 fix profile COPYing and hostname changes adds 2cc0568 Allow catching "connection refused" errors while talking to an X2Go Session Broker (X2GoBrokerConnectionException). adds 7b061bf Support cookie based authentication against a http(s) session broker. adds 6bdf737 On Windows: Improve debugging when a new X-Server port has to be allocated. adds 857f5f3 Capture broker connection problems during selectsession calls to the broker via a HOOK method. adds b462004 httpbroker: fix handling of session profile ID/name cache adds db36b70 Allow user interaction via a HOOK if broker connection problems occur. adds 275bea4 fix some HOOKs' __doc__ strings adds 7686e68 Handle broker setups that don't require credentials. Connection can be established simply by leaving the password (and authid) empty. adds 6f43617 typo fix adds 5bf0169 no xconfig_config_file on non-Windows systems adds 8204e4b Fix detection of matching path names in X2GoIniFiles. adds e630ea6 Make sure X2GoClientXConfig config file really gets written to disk (after we changed the internas of X2GoIniFile for this new major release). adds db061d8 return from X2GoClientXConfig.write() method adds e58cebf Rename hook method HOOK_no_known_xserver_found to HOOK_no_installed_xservers_found. Call this new hook if no installed X-Servers could be found on the system. adds 3138ba4 typo fix in log message adds c462c9a Only check running X-Servers that have the same WMI SessionId as the current X2Go application. adds b4f2297 typo fix adds 634988e Session profiles: default value type for exports session profile option is an empty dictionary. adds f4e64e8 Make X2GoClient's constructor aware of non-usable X-Server ports. adds 9f2d9ec Windows: Fix crash while attempting to find the session window. adds 9eb874f fix for last commit adds d143c72 Support SSH proxy autologin feature of X2Go Session Broker. adds e30e1bb Provide Telekinesis support in Python X2Go. adds b84b608 Stop manipulating session profiles in X2GoSshProxy class. Esp. stop manipulating session profiles with deprecated session options. adds 6d4119c Type-hardening of X2GoSshProxy class. Accept hosts as list and strings. If hosts are given as a list, a random list element will be taken as host (for connecting and for the SSH proxy tunnel setup). adds 77d0d0c follow-up commit for last commit adds 5c0d29d Don't construct the sshproxy_tunnel parameter in x2go/utils.py. Leave that to higher level classes that know more about X2Go internals. adds 4c4e2f9 Type-hardening of X2GoControlSession class's C{connect()} method. Handle hostnames that come in as lists gracefully. adds 70f0136 Add support for a subsystem string when setting up port forwarding tunnels. adds 9701d66 Use gevent to spawn the TeKi client start-up process (instead of waiting for it to return). adds e113954 make telekinesis-client support more robust adds 555eaa3 fix __doc__ string adds fbc6745 fix __doc__ string adds 50c0bdd Provide support for new session parameter: clipboard. adds 3f2b693 improve debugging of SFTP server authentication adds 645f105 typo fix in log msg adds fe68c91 raise sleep period of proxy backend adds 0184629 Split up NX output and NX errors into two separate files. adds fc9a84a changelog entry for last commit adds 38d492c Silent ignore it if we cannot detect the local Xlib.display.Display() instance (happens with polyinstantiated /tmp dirs). adds 5c63c6b Revert "Provide support for new session parameter: clipboard." adds 74792e6 Provide support for new session parameter: clipboard. (Fixes: #508). adds 8883680 Revert "Provide support for new session parameter: clipboard. (Fixes: #508)." adds 08ff742 Provide support for new session parameter: clipboard. (Fixes: #508). adds 2529d5c Don't start telekinesis client if not support server-side. Don't attempt at starting telekinesis client, if it is not installed. adds 754bf16 Disallow server-side users to override X2Go Server commands via ~/bin (or similar). (Fixes: #334). adds 9b48f6f Handle non-available color depth in X2Go session name gracefully. (Fixes: #358). adds 5284ca2 Suspend/terminate terminal session instance first, before sending the x2gosuspend-session/x2goterminate-session command to the X2Go Server. adds cb8f176 Revert "Suspend/terminate terminal session instance first, before sending the x2gosuspend-session/x2goterminate-session command to the X2Go Server." adds 61de9d7 Make sure that the x2gosuspend-session/x2goterminate-session commands are sent to the X2Go Server before we take down the NX proxy subprocess. adds ce50d23 Create a "session.window" file in the session directory. This file for now contains one line "ID:<window-id>". The file appears once a session window comes up (start/resume), and disappears once the session window closes (suspend/terminate). adds a9caabf Only enable Telekinesis client debugging if the logger instance is in debug mode. adds dd92083 Performance tests have shown, that enabling SSH compression is not a good idea. NX should handle that instead (and does). adds 894917e Better control the startup bootstrap of the Telekinesis client subsystem. adds 16814f4 remove debug code from forward.py adds cea41b3 Newly understand our own Paramiko/SSH forwarding tunnel code. Become aware of handling multiple connects on the same tunnel. adds 0d155fe take down telekinesis before taking down nxproxy when sessions suspend/terminate adds 2aa779e use x2gostartagent / x2goresume-session to pass-through the clipboard parameter (requires X2Go Server 4.0.1.16 or higher) adds 2f57967 start becoming aware of ECDSA keys adds 166607d Windows: Fix compatibility with PulseAudio 3.0 & later (Fixes: #532) adds 8d8f2a3 use VcXsrv-xp-1.14.3.2 when run in development mode adds 837a73c Windows: On XP & Server 2003 (R2), prevent high PulseAudio CPU usage by lowering its CPU priority to "normal" (Fixes: #537) adds d68f163 make the TeKi client startup once more more robust... adds 74c5b68 Rename LICENSE.txt to COPYING. adds c09f73a Be more exact when detecting the NX proxy window id. adds 454659b Enforce usage of the "ares" DNS resolver in python-gevent (which is available since Python gevent 1.0~). (Fixes: #588). adds 54fddb2 On non-Windows platforms, enforce usage of the "ares" DNS resolver in python-gevent (which is available since Python gevent 1.0~). (Fixes: #588). adds 56dd121 fix for last commit adds b1292aa Use Xlib to detect client-side destop geometry. adds b950f16 fix __doc__ string for last commit adds 64ff151 For reverse port forwardings use IPv4 localhost address only. adds d5fcb46 Assure proper Telekinesis client cleanup when sessions suspends/terminates. adds a40d73f Clean up terminal sessions properly when the clean_sessions() method of the control session has got called. adds 6f0f1ae don't mention in __doc__ string what TeKi applications exist adds b801156 Assure proper NX Proxy cleanup when sessions suspends/terminates. adds 5392d3c Don't use compression on TeKi sshfs mounts. adds f308782 test if DISPLAY is accessible before detecting the local desktop geometry adds 7cb2ca7 Handle duplicate profile names gracefully (i.e. append a " (1)", " (2)", ... to the session profile name). (Fixes: #500). adds 2ff5f60 Support server-side Telekinesis versions that ship their own (teki-)sftpserver. adds f6b226d typo fix for last commit adds 05643fc Use session_name, not session_info object's __str__() method to obtain session name (in X2GoTelekinesis). adds e5a44d5 Handle socket errors on the reverse port forwarding tunnels more gracefully. adds 5c8d005 Handle sudden control session death during local folder sharing adds e6145a1 rebase adds 0a4c773 Don't choke on non-initialized SSH transport objects when initializing SFTP client. adds e3f748b fix faulty loglevel adds f5e9380 be more verbose on socket errors in rforward.py adds 920d12e Fix transport lock release in X2GoControlSession._x2go_sftp_put(). adds 9fd867a more work on transport lock release adds 457dcb6 Fix session lock release in various methods of the X2GoSession class. adds 32f828f Release _share_local_folder_lock on instance X2GoTerminalSession destruction. adds 02531f1 Detect non-installed sshfs (required for Telekinesis). adds efe7226 X2GoTelekinesis class: initial properties during instantiation adds 9e05ee5 X2GoControlSession: Don't mess with the associated_terminals dict if the control session has already died away (i.e. been forcefully disconnect). adds 4661991 improve log message adds 9fbb26f If the listsessions command detects a terminated or suspended session, we have to destroy the corresponding X2GoTerminalSession() to trigger a proper cleanup of that instance. adds 7ba06fa python-x2go.spec: Additionally adapt to building on openSUSE/SLES. adds 286ae13 python-x2go.spec: typo adds 7f0888c python-x2go.spec: some rpmlint sedatives... adds de52983 python-x2go.spec: fix bad %if condition adds bf1fb49 python-x2go.spec: Avoid duplicate files in openSUSE/SLES. adds c58c211 Add all python packages under R to BR (for epydoc run). adds 191b92e Fix various hrefs in __doc__ strings. adds a0d270f Fix creating/renaming/reconfiguring session profiles. Handle host option properly (as list). adds af9972a Make sure we do a deepcopy of the default session profile parameters. adds d3273c0 debian/control / python-x2go.spec: Update D (python-x2go): python-paramiko (>= 1.15.1-0~). Update R for python-x2go: python-paramiko >= 1.15.1. (Fixes: #602). new 2fc8ab6 Detect more exceptions in the requests module when authenticating against a session broker. new d90c4b1 Only convert the value of the export session profile option if not already a Python dictionary. new 81b9089 indentation fix new 0874534 Capture X2GoControlSessionException occurrences during client-side folder sharing initializaation while starting/resuming a session. new 712582c formalistic clean-up using pyflakes new 65f298a fix for d90c4b182 new 1ad9c40 X2GoSessionRegistry: Don't report about sessions that have a not yet fully assigned session name / profile name / profile id. new 7757563 release 0.5.0.0 The 8 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: LICENSE.txt => COPYING | 0 debian/changelog | 159 ++++ debian/control | 12 +- examples/x2go_resume_session.py | 3 +- examples/x2go_start_session.py | 1 - .../x2go_start_session_with_progress_status.py | 1 - python-x2go.spec | 24 +- setup.py | 3 + x2go/__init__.py | 17 +- x2go/_paramiko.py | 3 +- x2go/backends/control/__init__.py | 6 - x2go/backends/control/{_stdout.py => plain.py} | 249 ++++--- x2go/backends/info/__init__.py | 9 - x2go/backends/info/{_stdout.py => plain.py} | 49 +- x2go/backends/printing/__init__.py | 9 - x2go/backends/printing/{_file.py => file.py} | 11 +- x2go/backends/printing/{_gconf.py => gconf.py} | 18 +- x2go/backends/printing/{_winreg.py => winreg.py} | 20 +- x2go/backends/profiles/__init__.py | 9 - x2go/backends/profiles/_file.py | 493 ------------- x2go/backends/profiles/base.py | 778 ++++++++++++++++++++ x2go/backends/profiles/file.py | 132 ++++ x2go/backends/profiles/{_gconf.py => gconf.py} | 14 +- x2go/backends/profiles/httpbroker.py | 338 +++++++++ .../profiles/{_httpsbroker.py => sshbroker.py} | 19 +- x2go/backends/profiles/{_winreg.py => winreg.py} | 11 +- x2go/backends/proxy/__init__.py | 6 - x2go/backends/proxy/base.py | 41 +- x2go/backends/proxy/{_nx3.py => nx3.py} | 22 +- x2go/backends/settings/__init__.py | 9 - x2go/backends/settings/{_file.py => file.py} | 14 +- x2go/backends/settings/{_gconf.py => gconf.py} | 19 +- x2go/backends/settings/{_winreg.py => winreg.py} | 14 +- x2go/backends/terminal/__init__.py | 6 - x2go/backends/terminal/{_stdout.py => plain.py} | 127 +++- x2go/cache.py | 6 +- x2go/checkhosts.py | 2 +- x2go/client.py | 305 ++++---- x2go/defaults.py | 108 ++- x2go/forward.py | 56 +- x2go/inifiles.py | 33 +- x2go/printactions.py | 4 +- x2go/printqueue.py | 15 +- x2go/pulseaudio.py | 20 +- x2go/registry.py | 66 +- x2go/rforward.py | 29 +- x2go/session.py | 183 +++-- x2go/sftpserver.py | 6 +- x2go/sshproxy.py | 30 +- x2go/telekinesis.py | 407 ++++++++++ x2go/utils.py | 161 +++- x2go/x2go_exceptions.py | 4 +- x2go/xserver.py | 34 +- 53 files changed, 2893 insertions(+), 1222 deletions(-) rename LICENSE.txt => COPYING (100%) rename x2go/backends/control/{_stdout.py => plain.py} (89%) rename x2go/backends/info/{_stdout.py => plain.py} (89%) rename x2go/backends/printing/{_file.py => file.py} (95%) rename x2go/backends/printing/{_gconf.py => gconf.py} (81%) rename x2go/backends/printing/{_winreg.py => winreg.py} (79%) delete mode 100644 x2go/backends/profiles/_file.py create mode 100644 x2go/backends/profiles/base.py create mode 100644 x2go/backends/profiles/file.py rename x2go/backends/profiles/{_gconf.py => gconf.py} (84%) create mode 100644 x2go/backends/profiles/httpbroker.py rename x2go/backends/profiles/{_httpsbroker.py => sshbroker.py} (75%) rename x2go/backends/profiles/{_winreg.py => winreg.py} (90%) rename x2go/backends/proxy/{_nx3.py => nx3.py} (88%) rename x2go/backends/settings/{_file.py => file.py} (77%) rename x2go/backends/settings/{_gconf.py => gconf.py} (68%) rename x2go/backends/settings/{_winreg.py => winreg.py} (77%) rename x2go/backends/terminal/{_stdout.py => plain.py} (92%) create mode 100644 x2go/telekinesis.py -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch build-main in repository python-x2go. commit 2fc8ab673c174a273b70d5f593d050d19f0ed2d1 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 09:23:21 2014 +0200 Detect more exceptions in the requests module when authenticating against a session broker. --- debian/changelog | 2 ++ x2go/backends/profiles/httpbroker.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index a36dfdc..97aa7bf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -117,6 +117,8 @@ python-x2go (0.5.0.0-0x2go1) UNRELEASED; urgency=low - Fix creating/renaming/reconfiguring session profiles. Handle host option properly (as list). - Make sure we do a deepcopy of the default session profile parameters. + - Detect more exceptions in the requests module when authenticating against a + session broker. * debian/control: + Add dependencies: python-requests, python-simplejson. + Add R (python-x2go): sshfs. diff --git a/x2go/backends/profiles/httpbroker.py b/x2go/backends/profiles/httpbroker.py index fd3d971..e27f2ab 100644 --- a/x2go/backends/profiles/httpbroker.py +++ b/x2go/backends/profiles/httpbroker.py @@ -28,6 +28,7 @@ __NAME__ = 'x2gosessionprofiles-pylib' import re import requests +import urllib3.exceptions import copy import types import time @@ -145,7 +146,7 @@ class X2GoSessionProfiles(base.X2GoSessionProfiles): request_data['password'] = broker_password or '' try: r = requests.post(self.broker_url, data=request_data) - except requests.exceptions.ConnectionError: + except (requests.exceptions.ConnectionError, requests.exceptions.MissingSchema, urllib3.exceptions.LocationParseError): raise x2go.x2go_exceptions.X2GoBrokerConnectionException('Failed to connect to URL %s' % self.broker_url) if r.status_code == 200: payload = json.loads(r.text) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch build-main in repository python-x2go. commit d90c4b182aef55cdbac2d0151792291d4629e865 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 09:24:37 2014 +0200 Only convert the value of the export session profile option if not already a Python dictionary. --- debian/changelog | 2 ++ x2go/backends/profiles/base.py | 14 +++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/debian/changelog b/debian/changelog index 97aa7bf..c2a079f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -119,6 +119,8 @@ python-x2go (0.5.0.0-0x2go1) UNRELEASED; urgency=low - Make sure we do a deepcopy of the default session profile parameters. - Detect more exceptions in the requests module when authenticating against a session broker. + - Only convert the value of the export session profile option if not + already a Python dictionary. * debian/control: + Add dependencies: python-requests, python-simplejson. + Add R (python-x2go): sshfs. diff --git a/x2go/backends/profiles/base.py b/x2go/backends/profiles/base.py index 4275a99..46f8387 100644 --- a/x2go/backends/profiles/base.py +++ b/x2go/backends/profiles/base.py @@ -337,20 +337,20 @@ class X2GoSessionProfiles(): for option in parameters: value = self._get_profile_parameter(_profile_id, option, key_type=self.get_profile_option_type(option)) - if option == 'export': - _strvalue = value.replace(',', ';').strip().strip('"').strip().strip(';').strip() + if type(value) is types.StringType: + value = unicode(value) + + if option == 'export' and value is types.UnicodeType: + _value = value.replace(',', ';').strip().strip('"').strip().strip(';').strip() value = {} - if _strvalue: - _export_paths = _strvalue.split(';') + if _value: + _export_paths = _value.split(';') for _path in _export_paths: if not re.match('.*:(0|1)$', _path): _path = '%s:1' % _path _auto_export_path = re.match('.*:1$', _path) and True or False _export_path = ':'.join(_path.split(':')[:-1]) value[_export_path] = _auto_export_path - if type(value) is types.StringType: - value = unicode(value) - _profile_config[option] = value if parameter is not None: -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch build-main in repository python-x2go. commit 81b90899f5bc28687f5e2c2031a93488ffc5c042 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 09:54:08 2014 +0200 indentation fix --- x2go/session.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x2go/session.py b/x2go/session.py index 0c7248e..6733cdb 100644 --- a/x2go/session.py +++ b/x2go/session.py @@ -1999,7 +1999,7 @@ class X2GoSession(object): if (not self.client_instance) and \ self._SUPPORTED_FOLDERSHARING and \ self.allow_share_local_folders: - gevent.spawn(self.share_all_local_folders) + gevent.spawn(self.share_all_local_folders) self._progress_status = 100 progress_event.set() -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch build-main in repository python-x2go. commit 0874534fb3416764ced96912d1eab84bbf050c25 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 09:55:24 2014 +0200 Capture X2GoControlSessionException occurrences during client-side folder sharing initializaation while starting/resuming a session. --- debian/changelog | 2 ++ x2go/session.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/debian/changelog b/debian/changelog index c2a079f..2069d39 100644 --- a/debian/changelog +++ b/debian/changelog @@ -121,6 +121,8 @@ python-x2go (0.5.0.0-0x2go1) UNRELEASED; urgency=low session broker. - Only convert the value of the export session profile option if not already a Python dictionary. + - Capture X2GoControlSessionException occurrences during client-side folder + sharing initializaation while starting/resuming a session. * debian/control: + Add dependencies: python-requests, python-simplejson. + Add R (python-x2go): sshfs. diff --git a/x2go/session.py b/x2go/session.py index 6733cdb..22760e4 100644 --- a/x2go/session.py +++ b/x2go/session.py @@ -1966,6 +1966,11 @@ class X2GoSession(object): self.logger('%s' % str(e), loglevel=log.loglevel_WARN) self.HOOK_printing_not_available() self._SUPPORTED_PRINTING = False + except x2go_exceptions.X2GoControlSessionException, e: + self.logger('%s' % str(e), loglevel=log.loglevel_ERROR) + self.HOOK_on_control_session_death() + self._X2GoSession__disconnect() + return False self._progress_status = 70 progress_event.set() @@ -1978,6 +1983,11 @@ class X2GoSession(object): self.logger('%s' % str(e), loglevel=log.loglevel_WARN) self.HOOK_mimebox_not_available() self._SUPPORTED_MIMEBOX = False + except x2go_exceptions.X2GoControlSessionException, e: + self.logger('%s' % str(e), loglevel=log.loglevel_ERROR) + self.HOOK_on_control_session_death() + self._X2GoSession__disconnect() + return False self._progress_status = 80 progress_event.set() @@ -2672,6 +2682,13 @@ class X2GoSession(object): except x2go_exceptions.X2GoUserException, e: retval = False self.logger('%s' % str(e), loglevel=log.loglevel_WARN) + except x2go_exceptions.X2GoControlSessionException, e: + retval = False + self.logger('%s' % str(e), loglevel=log.loglevel_ERROR) + self.HOOK_on_control_session_death() + self._X2GoSession__disconnect() + break + if update_exported_folders: self._update_restore_exported_folders() self.client_instance.set_profile_config(self.profile_name, 'export', self._restore_exported_folders) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch build-main in repository python-x2go. commit 712582cc506e6daeaed1e7a37321ec18b05d5bd0 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 10:20:40 2014 +0200 formalistic clean-up using pyflakes --- examples/x2go_resume_session.py | 3 +-- examples/x2go_start_session.py | 1 - .../x2go_start_session_with_progress_status.py | 1 - setup.py | 3 +++ x2go/backends/control/plain.py | 1 - x2go/backends/info/plain.py | 2 -- x2go/backends/printing/gconf.py | 6 +++--- x2go/backends/printing/winreg.py | 6 +++--- x2go/backends/profiles/file.py | 1 - x2go/backends/profiles/gconf.py | 7 +++++-- x2go/backends/profiles/httpbroker.py | 4 +--- x2go/backends/profiles/sshbroker.py | 11 +++++++---- x2go/backends/profiles/winreg.py | 6 ++++-- x2go/backends/settings/gconf.py | 9 +++++---- x2go/backends/settings/winreg.py | 8 +++++--- x2go/cache.py | 6 +++--- x2go/client.py | 9 --------- x2go/printqueue.py | 6 +++--- x2go/registry.py | 18 +++++++++--------- x2go/telekinesis.py | 1 - x2go/utils.py | 5 ++++- x2go/x2go_exceptions.py | 1 - 22 files changed, 56 insertions(+), 59 deletions(-) diff --git a/examples/x2go_resume_session.py b/examples/x2go_resume_session.py index 2209e2d..e6ba6ff 100644 --- a/examples/x2go_resume_session.py +++ b/examples/x2go_resume_session.py @@ -25,10 +25,9 @@ # import x2go before you import other thread based modules (e.g. paramiko) import x2go +import sys import getpass -import os,sys import gevent -import paramiko # modify to your needs... server = "server.mydomain.tld" diff --git a/examples/x2go_start_session.py b/examples/x2go_start_session.py index 958a822..f84c2ab 100644 --- a/examples/x2go_start_session.py +++ b/examples/x2go_start_session.py @@ -25,7 +25,6 @@ # import x2go before you import other thread based modules (e.g. paramiko) import x2go -import sys import gevent import getpass diff --git a/examples/x2go_start_session_with_progress_status.py b/examples/x2go_start_session_with_progress_status.py index 4cdc288..9184b36 100644 --- a/examples/x2go_start_session_with_progress_status.py +++ b/examples/x2go_start_session_with_progress_status.py @@ -25,7 +25,6 @@ # import x2go before you import other thread based modules (e.g. paramiko) import x2go -import sys import gevent import getpass import threading diff --git a/setup.py b/setup.py index 99dacf4..277729a 100755 --- a/setup.py +++ b/setup.py @@ -21,6 +21,9 @@ import os from setuptools import setup, find_packages + +# silence pyflakes, the correct __VERSION__ will be detected below... +__VERSION__ = "0.0.0.0" try: # for python3.x for line in open(os.path.join('x2go', '__init__.py'),encoding='utf-8').readlines(): diff --git a/x2go/backends/control/plain.py b/x2go/backends/control/plain.py index 6f3b0f8..ea5b6e1 100644 --- a/x2go/backends/control/plain.py +++ b/x2go/backends/control/plain.py @@ -51,7 +51,6 @@ import x2go.defaults as defaults import x2go.checkhosts as checkhosts from x2go.defaults import BACKENDS as _BACKENDS -from x2go.defaults import CURRENT_LOCAL_USER as _current_user import x2go._paramiko x2go._paramiko.monkey_patch_paramiko() diff --git a/x2go/backends/info/plain.py b/x2go/backends/info/plain.py index 90f9f4d..b2b5438 100644 --- a/x2go/backends/info/plain.py +++ b/x2go/backends/info/plain.py @@ -32,8 +32,6 @@ __NAME__ = 'x2goserversessioninfo-pylib' import types import re -import x2go.defaults as defaults - class X2GoServerSessionInfo(object): """\ L{X2GoServerSessionInfo} is used to store all information diff --git a/x2go/backends/printing/gconf.py b/x2go/backends/printing/gconf.py index 3741c3e..88fba08 100644 --- a/x2go/backends/printing/gconf.py +++ b/x2go/backends/printing/gconf.py @@ -28,13 +28,13 @@ configuration of your X2Go client application. __NAME__ = 'x2goprint-pylib' # modules +import copy # Python X2Go modules import x2go.log as log + # we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables) from x2go.defaults import X2GO_CLIENTPRINTING_DEFAULTS as _X2GO_CLIENTPRINTING_DEFAULTS -from x2go.defaults import X2GO_PRINTING_CONFIGFILES as _X2GO_PRINTING_CONFIGFILES -import x2go.inifiles as inifiles from x2go.x2go_exceptions import X2GoNotImplementedYetException @@ -51,7 +51,7 @@ class X2GoClientPrinting(object): """ _print_action = None - defaultValues = _X2GO_CLIENTPRINTING_DEFAULTS + defaultValues = copy.deepcopy(_X2GO_CLIENTPRINTING_DEFAULTS) def __init__(self, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT): """\ diff --git a/x2go/backends/printing/winreg.py b/x2go/backends/printing/winreg.py index d0fb75d..f74c669 100644 --- a/x2go/backends/printing/winreg.py +++ b/x2go/backends/printing/winreg.py @@ -28,13 +28,13 @@ configuration of your X2Go client application. __NAME__ = 'x2goprint-pylib' # modules +import copy # Python X2Go modules import x2go.log as log + # we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables) from x2go.defaults import X2GO_CLIENTPRINTING_DEFAULTS as _X2GO_CLIENTPRINTING_DEFAULTS -from x2go.defaults import X2GO_PRINTING_CONFIGFILES as _X2GO_PRINTING_CONFIGFILES -import x2go.inifiles as inifiles from x2go.x2go_exceptions import X2GoNotImplementedYetException @@ -51,7 +51,7 @@ class X2GoClientPrinting(object): """ _print_action = None - defaultValues = _X2GO_CLIENTPRINTING_DEFAULTS + defaultValues = copy.deepcopy(_X2GO_CLIENTPRINTING_DEFAULTS) def __init__(self, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT): """\ diff --git a/x2go/backends/profiles/file.py b/x2go/backends/profiles/file.py index b604a30..0c19883 100644 --- a/x2go/backends/profiles/file.py +++ b/x2go/backends/profiles/file.py @@ -26,7 +26,6 @@ applications. """ __NAME__ = 'x2gosessionprofiles-pylib' -import types import random # Python X2Go modules diff --git a/x2go/backends/profiles/gconf.py b/x2go/backends/profiles/gconf.py index 3c3089f..85bd8c9 100644 --- a/x2go/backends/profiles/gconf.py +++ b/x2go/backends/profiles/gconf.py @@ -26,8 +26,11 @@ applications. """ __NAME__ = 'x2gosessionprofiles-pylib' +# modules +import copy + # Python X2Go modules -from x2go.defaults import X2GO_SESSIONPROFILE_DEFAULTS +from x2go.defaults import X2GO_SESSIONPROFILE_DEFAULTS as _X2GO_SESSIONPROFILE_DEFAULTS import x2go.log as log import x2go.backends.profiles.base as base @@ -35,7 +38,7 @@ from x2go.x2go_exceptions import X2GoNotImplementedYetException class X2GoSessionProfiles(base.X2GoSessionProfiles): - defaultSessionProfile = X2GO_SESSIONPROFILE_DEFAULTS + defaultSessionProfile = copy.deepcopy(_X2GO_SESSIONPROFILE_DEFAULTS) _non_profile_sections = ('embedded') def __init__(self, session_profile_defaults=None, logger=None, loglevel=log.loglevel_DEFAULT): diff --git a/x2go/backends/profiles/httpbroker.py b/x2go/backends/profiles/httpbroker.py index e27f2ab..2e17e40 100644 --- a/x2go/backends/profiles/httpbroker.py +++ b/x2go/backends/profiles/httpbroker.py @@ -43,11 +43,9 @@ import x2go.log as log from x2go.utils import genkeypair import x2go.x2go_exceptions -from x2go.x2go_exceptions import X2GoNotImplementedYetException - class X2GoSessionProfiles(base.X2GoSessionProfiles): - defaultSessionProfile = _X2GO_SESSIONPROFILE_DEFAULTS + defaultSessionProfile = copy.deepcopy(_X2GO_SESSIONPROFILE_DEFAULTS) def __init__(self, session_profile_defaults=None, broker_url="http://localhost:8080/json/", diff --git a/x2go/backends/profiles/sshbroker.py b/x2go/backends/profiles/sshbroker.py index d5e8b70..11fbbef 100644 --- a/x2go/backends/profiles/sshbroker.py +++ b/x2go/backends/profiles/sshbroker.py @@ -26,20 +26,23 @@ applications. """ __NAME__ = 'x2gosessionprofiles-pylib' +# modules +import copy + # Python X2Go modules -from x2go.defaults import X2GO_SESSIONPROFILES_CONFIGFILES -from x2go.defaults import X2GO_SESSIONPROFILE_DEFAULTS import x2go.backends.profiles.base as base import x2go.log as log +from x2go.defaults import X2GO_SESSIONPROFILE_DEFAULTS as _X2GO_SESSIONPROFILE_DEFAULTS + from x2go.x2go_exceptions import X2GoNotImplementedYetException class X2GoSessionProfiles(base.X2GoSessionProfiles): - defaultSessionProfile = X2GO_SESSIONPROFILE_DEFAULTS + defaultSessionProfile = copy.deepcopy(_X2GO_SESSIONPROFILE_DEFAULTS) _non_profile_sections = ('embedded') - def __init__(self, session_profile_defaults=None, logger=None, loglevel=log.loglevel_DEFAULT): + def __init__(self, session_profile_defaults=_X2GO_SESSIONPROFILE_DEFAULTS, logger=None, loglevel=log.loglevel_DEFAULT): """\ Retrieve X2Go session profiles from a SSH session broker. diff --git a/x2go/backends/profiles/winreg.py b/x2go/backends/profiles/winreg.py index 8cd9c54..95bc532 100644 --- a/x2go/backends/profiles/winreg.py +++ b/x2go/backends/profiles/winreg.py @@ -26,6 +26,9 @@ applications. """ __NAME__ = 'x2gosessionprofiles-pylib' +# modules +import copy + # Python X2Go modules from x2go.defaults import X2GO_SESSIONPROFILE_DEFAULTS import x2go.backends.profiles.base as base @@ -35,7 +38,7 @@ from x2go.x2go_exceptions import X2GoNotImplementedYetException class X2GoSessionProfilesWINREG(base.X2GoSessionProfiles): - defaultSessionProfile = X2GO_SESSIONPROFILE_DEFAULTS + defaultSessionProfile = copy.deepcopy(X2GO_SESSIONPROFILE_DEFAULTS) _non_profile_sections = ('embedded') def __init__(self, session_profile_defaults=None, logger=None, loglevel=log.loglevel_DEFAULT): @@ -53,4 +56,3 @@ class X2GoSessionProfilesWINREG(base.X2GoSessionProfiles): """ raise X2GoNotImplementedYetException('WINREG backend support is not implemented yet') - diff --git a/x2go/backends/settings/gconf.py b/x2go/backends/settings/gconf.py index 379b409..39d31d4 100644 --- a/x2go/backends/settings/gconf.py +++ b/x2go/backends/settings/gconf.py @@ -28,11 +28,12 @@ in your Python X2Go based applications to access the """ __NAME__ = 'x2gosettings-pylib' +# modules +import copy + # Python X2Go modules import x2go.log as log -from x2go.defaults import X2GO_SETTINGS_CONFIGFILES as _X2GO_SETTINGS_CONFIGFILES from x2go.defaults import X2GO_CLIENTSETTINGS_DEFAULTS as _X2GO_CLIENTSETTINGS_DEFAULTS -import x2go.inifiles as inifiles from x2go.x2go_exceptions import X2GoNotImplementedYetException @@ -41,9 +42,9 @@ class X2GoClientSettings(object): Configure settings for L{X2GoClient} instances with the GConf daemon. """ - defaultValues = _X2GO_CLIENTSETTINGS_DEFAULTS + defaultValues = copy.deepcopy(_X2GO_CLIENTSETTINGS_DEFAULTS) - def __init__(self, config_files=_X2GO_SETTINGS_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT): + def __init__(self, defaults=_X2GO_CLIENTSETTINGS_DEFAULTS, logger=None, loglevel=log.loglevel_DEFAULT): """\ Constructs an L{X2GoClientSettings} instance. This is normally done from within an L{X2GoClient} instance. You can retrieve this L{X2GoClientSettings} instance with the L{X2GoClient.get_client_settings()} diff --git a/x2go/backends/settings/winreg.py b/x2go/backends/settings/winreg.py index 877d2b3..61eb18d 100644 --- a/x2go/backends/settings/winreg.py +++ b/x2go/backends/settings/winreg.py @@ -28,9 +28,11 @@ in your Python X2Go based applications to access the """ __NAME__ = 'x2gosettings-pylib' +# modules +import copy + # Python X2Go modules import x2go.log as log -from x2go.defaults import X2GO_SETTINGS_CONFIGFILES as _X2GO_SETTINGS_CONFIGFILES from x2go.defaults import X2GO_CLIENTSETTINGS_DEFAULTS as _X2GO_CLIENTSETTINGS_DEFAULTS import x2go.inifiles as inifiles @@ -41,9 +43,9 @@ class X2GoClientSettings(inifiles.X2GoIniFile): Windows registry based settings for L{X2GoClient} instances. """ - defaultValues = _X2GO_CLIENTSETTINGS_DEFAULTS + defaultValues = copy.deepcopy(_X2GO_CLIENTSETTINGS_DEFAULTS) - def __init__(self, config_files=_X2GO_SETTINGS_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT): + def __init__(self, defaults=_X2GO_CLIENTSETTINGS_DEFAULTS, logger=None, loglevel=log.loglevel_DEFAULT): """\ Constructs an L{X2GoClientSettings} instance. This is normally done from within an L{X2GoClient} instance. You can retrieve this L{X2GoClientSettings} instance with the L{X2GoClient.get_client_settings()} diff --git a/x2go/cache.py b/x2go/cache.py index 78fb0f4..609da1c 100644 --- a/x2go/cache.py +++ b/x2go/cache.py @@ -160,7 +160,7 @@ class X2GoListSessionsCache(object): if profile_name in self.x2go_listsessions_cache.keys(): del self.x2go_listsessions_cache[profile_name] self.protected = False - raise x2go_exceptions.X2GoControlSessionException + raise x2go_exceptions.X2GoControlSessionException(str(e)) except x2go_exceptions.X2GoTimeOutException: pass except KeyError: @@ -184,7 +184,7 @@ class X2GoListSessionsCache(object): if profile_name in self.x2go_listsessions_cache.keys(): del self.x2go_listsessions_cache[profile_name] self.protected = False - raise x2go_exceptions.X2GoControlSessionException + raise x2go_exceptions.X2GoControlSessionException(str(e)) except x2go_exceptions.X2GoTimeOutException: pass except KeyError: @@ -206,7 +206,7 @@ class X2GoListSessionsCache(object): if profile_name in self.x2go_listsessions_cache.keys(): del self.x2go_listsessions_cache[profile_name] self.protected = False - raise x2go_exceptions.X2GoControlSessionException + raise x2go_exceptions.X2GoControlSessionException(str(e)) except KeyError: pass diff --git a/x2go/client.py b/x2go/client.py index 7ec8825..d76e46c 100644 --- a/x2go/client.py +++ b/x2go/client.py @@ -146,14 +146,6 @@ from defaults import PUBAPP_MAX_NO_SUBMENUS as _PUBAPP_MAX_NO_SUBMENUS from defaults import BACKENDS as _BACKENDS -import x2go.backends.control as control -import x2go.backends.terminal as terminal -import x2go.backends.info as info -import x2go.backends.proxy as proxy -import x2go.backends.profiles as profiles -import x2go.backends.settings as settings -import x2go.backends.printing as printing - if _X2GOCLIENT_OS == 'Windows': from xserver import X2GoClientXConfig, X2GoXServer from pulseaudio import X2GoPulseAudio @@ -1546,7 +1538,6 @@ class X2GoClient(object): _desktop = '%s@%s' % (user, display) if not _desktop in self._X2GoClient__list_desktops(session_uuid): - _orig_desktop = _desktop _desktop = '%s.0' % _desktop return self.session_registry(session_uuid).share_desktop(desktop=_desktop, share_mode=share_mode, check_desktop_list=check_desktop_list, **sessionopts) diff --git a/x2go/printqueue.py b/x2go/printqueue.py index 3971cc9..f8a41d2 100644 --- a/x2go/printqueue.py +++ b/x2go/printqueue.py @@ -148,14 +148,14 @@ class X2GoPrintQueue(threading.Thread): job_files = [ jf for jf in l if jf.endswith('.ready') ] jobs = [] for _job_file in job_files: - j = open(os.path.join(self.spool_dir, _job_file), 'r') - content = j.read() + _job_file_handle = open(os.path.join(self.spool_dir, _job_file), 'r') + content = _job_file_handle.read() try: (pdf_filename, job_title) = content.split('\n')[0:2] except ValueError: pdf_filename = content job_title = 'X2Go Print Job' - j.close() + _job_file_handle.close() jobs.append((_job_file, pdf_filename, job_title)) return [ j for j in jobs if j[1] not in self.active_jobs.keys() ] else: diff --git a/x2go/registry.py b/x2go/registry.py index 1625dbd..2b181cd 100644 --- a/x2go/registry.py +++ b/x2go/registry.py @@ -659,21 +659,21 @@ class X2GoSessionRegistry(object): sessions = [ ts for ts in self.registry.values() if eval('ts.%s' % state) ] if return_profile_names: profile_names = [] - for session in sessions: - if session.profile_name not in profile_names: - profile_names.append(session.profile_name) + for this_session in sessions: + if this_session.profile_name not in profile_names: + profile_names.append(this_session.profile_name) return profile_names elif return_profile_ids: profile_ids = [] - for session in sessions: - if session.profile_id not in profile_ids: - profile_ids.append(session.profile_id) + for this_session in sessions: + if this_session.profile_id not in profile_ids: + profile_ids.append(this_session.profile_id) return profile_ids elif return_session_names: session_names = [] - for session in sessions: - if session.session_name not in session_names: - session_names.append(session.session_name) + for this_session in sessions: + if this_session.session_name not in session_names: + session_names.append(this_session.session_name) return session_names elif return_objects: return sessions diff --git a/x2go/telekinesis.py b/x2go/telekinesis.py index bd3e751..684f18e 100644 --- a/x2go/telekinesis.py +++ b/x2go/telekinesis.py @@ -41,7 +41,6 @@ if _X2GOCLIENT_OS in ("Windows"): import subprocess else: import x2go.gevent_subprocess as subprocess - from x2go.x2go_exceptions import WindowsError from x2go.defaults import LOCAL_HOME as _LOCAL_HOME from x2go.defaults import X2GO_SESSIONS_ROOTDIR as _X2GO_SESSIONS_ROOTDIR diff --git a/x2go/utils.py b/x2go/utils.py index 7196271..8ac3c8a 100644 --- a/x2go/utils.py +++ b/x2go/utils.py @@ -44,6 +44,8 @@ from defaults import pack_methods_nx3 from defaults import BACKENDS as _BACKENDS +import x2go_exceptions + if _X2GOCLIENT_OS != 'Windows': import Xlib from defaults import X_DISPLAY as _X_DISPLAY @@ -828,6 +830,8 @@ class ProgressStatus(object): raise StopIteration def _get_backend_class(backend, class_name): + # silence pyflakes, the _this_class var will be assigned in an exec() statement below... + _this_class = None if type(backend) not in (types.StringType, types.UnicodeType): return backend backend = backend.upper() available_backends = [ k for k in _BACKENDS[class_name].keys() if k != 'default' ] @@ -853,7 +857,6 @@ def genkeypair(local_username, client_address, key_type='RSA'): """ key = None pubkey = None - privkey = None # generate key pair if unicode(key_type) == u'RSA': diff --git a/x2go/x2go_exceptions.py b/x2go/x2go_exceptions.py index 4943996..61f21e4 100644 --- a/x2go/x2go_exceptions.py +++ b/x2go/x2go_exceptions.py @@ -67,7 +67,6 @@ class X2GoSSHProxyException(_X2GoException): pass class X2GoSSHProxyAuthenticationException(_X2GoException): pass class X2GoNotImplementedYetException(_X2GoException): pass class X2GoDesktopSharingDenied(_X2GoException): pass -class X2GoDesktopSharingDenied(_X2GoException): pass class X2GoTimeOutException(_X2GoException): pass class X2GoBrokerConnectionException(_X2GoException): pass class X2GoTelekinesisClientException(_X2GoException): pass -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch build-main in repository python-x2go. commit 65f298a830457c99da6b9a098d2659b8b3449f5b Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 10:34:49 2014 +0200 fix for d90c4b182 --- x2go/backends/profiles/base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x2go/backends/profiles/base.py b/x2go/backends/profiles/base.py index 46f8387..14f0ea3 100644 --- a/x2go/backends/profiles/base.py +++ b/x2go/backends/profiles/base.py @@ -340,7 +340,8 @@ class X2GoSessionProfiles(): if type(value) is types.StringType: value = unicode(value) - if option == 'export' and value is types.UnicodeType: + if option == 'export' and type(value) is types.UnicodeType: + _value = value.replace(',', ';').strip().strip('"').strip().strip(';').strip() value = {} if _value: -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch build-main in repository python-x2go. commit 1ad9c402bdb14afaa4d601551c11d576594e4311 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 12:39:31 2014 +0200 X2GoSessionRegistry: Don't report about sessions that have a not yet fully assigned session name / profile name / profile id. --- debian/changelog | 2 ++ x2go/registry.py | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 2069d39..a36193f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -123,6 +123,8 @@ python-x2go (0.5.0.0-0x2go1) UNRELEASED; urgency=low already a Python dictionary. - Capture X2GoControlSessionException occurrences during client-side folder sharing initializaation while starting/resuming a session. + - X2GoSessionRegistry: Don't report about sessions that have a not yet + fully assigned session name / profile name / profile id. * debian/control: + Add dependencies: python-requests, python-simplejson. + Add R (python-x2go): sshfs. diff --git a/x2go/registry.py b/x2go/registry.py index 2b181cd..bb9e788 100644 --- a/x2go/registry.py +++ b/x2go/registry.py @@ -660,19 +660,19 @@ class X2GoSessionRegistry(object): if return_profile_names: profile_names = [] for this_session in sessions: - if this_session.profile_name not in profile_names: + if this_session.profile_name and this_session.profile_name not in profile_names: profile_names.append(this_session.profile_name) return profile_names elif return_profile_ids: profile_ids = [] for this_session in sessions: - if this_session.profile_id not in profile_ids: + if this_session.profile_id and this_session.profile_id not in profile_ids: profile_ids.append(this_session.profile_id) return profile_ids elif return_session_names: session_names = [] for this_session in sessions: - if this_session.session_name not in session_names: + if this_session.session_name and this_session.session_name not in session_names: session_names.append(this_session.session_name) return session_names elif return_objects: -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch build-main in repository python-x2go. commit 7757563d19c5dc238f3bb5513411928decf7f201 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 12:41:40 2014 +0200 release 0.5.0.0 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index a36193f..6f6df81 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -python-x2go (0.5.0.0-0x2go1) UNRELEASED; urgency=low +python-x2go (0.5.0.0-0x2go1) unstable; urgency=low [ Mike Gabriel ] * New upstream version (0.5.0.0): @@ -143,7 +143,7 @@ python-x2go (0.5.0.0-0x2go1) UNRELEASED; urgency=low PulseAudio's CPU priority from "high" to "normal" on XP specifically. Also do so on Windows Server 2003 (R2) (Fixes: #537) - -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Sun, 05 Jan 2014 16:35:57 +0100 + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Mon, 20 Oct 2014 12:40:34 +0200 python-x2go (0.4.0.10-0x2go1) UNRELEASED; urgency=low -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git