This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository python-x2go. from 7757563 release 0.5.0.0 new 10a9dbf Continue development... new 01d8e27 Update TODO file. new 3a3751e Update README file. new 1e11f64 Provide API inline documentation for http(s) session broker client implementation. new c35d660 release 0.5.0.1 The 5 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: README | 17 +++--- TODO | 14 ++--- debian/changelog | 10 ++++ python-x2go.spec | 2 +- x2go/__init__.py | 2 +- x2go/backends/profiles/httpbroker.py | 96 ++++++++++++++++++++++++++++++++++ 6 files changed, 126 insertions(+), 15 deletions(-) -- 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 master in repository python-x2go. commit 10a9dbf0d9ec92951753ec7cb58c8216f9d07779 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 22:24:17 2014 +0200 Continue development... --- debian/changelog | 7 +++++++ python-x2go.spec | 2 +- x2go/__init__.py | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 6f6df81..9c2fa78 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +python-x2go (0.5.0.1-0x2go1) UNRELEASED; urgency=medium + + * New upstream version (0.5.0.1): + - Continue development... + + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Mon, 20 Oct 2014 22:23:45 +0200 + python-x2go (0.5.0.0-0x2go1) unstable; urgency=low [ Mike Gabriel ] diff --git a/python-x2go.spec b/python-x2go.spec index a3667ea..8b0e570 100644 --- a/python-x2go.spec +++ b/python-x2go.spec @@ -3,7 +3,7 @@ #endif Name: python-x2go -Version: 0.5.0.0 +Version: 0.5.0.1 Release: 0.0x2go1%{?dist} Summary: Python module providing X2Go client API diff --git a/x2go/__init__.py b/x2go/__init__.py index 7be12a5..d76d592 100644 --- a/x2go/__init__.py +++ b/x2go/__init__.py @@ -183,7 +183,7 @@ Contact """ __NAME__ = 'python-x2go' -__VERSION__ = '0.5.0.0' +__VERSION__ = '0.5.0.1' import os from defaults import X2GOCLIENT_OS -- 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 master in repository python-x2go. commit 01d8e271dfe26d5ca00a3708c138d5e980bb8cde Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 22:24:38 2014 +0200 Update TODO file. --- TODO | 14 ++++++++------ debian/changelog | 4 ++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/TODO b/TODO index 59b219c..fbdffa6 100644 --- a/TODO +++ b/TODO @@ -6,12 +6,14 @@ See http://www.gnu.org/licenses/agpl.html for a recent copy. === python-x2go TODOs === -as of 20110701 +as of 20141020 -------------- -* add LDAP support -* add HTTP broker support -* add Windows Registry backend (session profiles, client configs) -* add gconf backend (session profiles, client configs) +* add SSH broker support +* drop Python Paramiko and wrap around openSSH +* become ready for X2Go Server 5 (openSSH with socket tunnel endpoints plus + event based session management) +* low priority: add Windows Registry backend (session profiles, client configs) +* even lower priority: add gconf backend (session profiles, client configs) === Python X2Go wishlist === @@ -21,5 +23,5 @@ as of 20110701 To report bugs and ideas, please add your contributions and comments on http://code.x2go.org/ -light+love, 20120529 +light+love, 20141020 Mike Gabriel <mike.gabriel@das-netzwerkteam.de> diff --git a/debian/changelog b/debian/changelog index 9c2fa78..bf0bf46 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ python-x2go (0.5.0.1-0x2go1) UNRELEASED; urgency=medium * New upstream version (0.5.0.1): - - Continue development... + - Update TODO file. - -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Mon, 20 Oct 2014 22:23:45 +0200 + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Mon, 20 Oct 2014 22:24:21 +0200 python-x2go (0.5.0.0-0x2go1) unstable; urgency=low -- 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 master in repository python-x2go. commit 3a3751e1272aa8981b8eb86a3bd942597712e272 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 22:28:45 2014 +0200 Update README file. --- README | 17 ++++++++++------- debian/changelog | 1 + 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/README b/README index ed14126..ec7acfd 100644 --- a/README +++ b/README @@ -8,20 +8,20 @@ See http://www.gnu.org/licenses/agpl.html for a recent copy. The Python X2Go module integrates X2Go client support into your python programmes. Python X2Go is used in the headless X2Go client »pyhoca-cli« and by the tiny systray GUI -application »pyhoca-gui« +applet »pyhoca-gui« Python X2Go takes advantages of the NX Proxy by NoMachine published under GPL. On Windows and MacOS X systems you have to make sure that you have installed a current NX Proxy executable somewhere on your system. It probably will be sufficient to have -the X2Go project's x2goclient package installed on your client machine. +the X2Go project's X2Go Client application installed on your client machine. -On Debian / Ubuntu systems there is a nxproxy package available within the distribution. +On Debian / Ubuntu systems there is an nxproxy package available within the distribution. Python X2Go defaults to using the distro nxproxy binary. Python X2Go was originally inspired by work of Jörg Sawatzki <joerg.sawatzki@web.de>. Unfortunately, Jörg had to give up work on his ideas due to licensing issues with his contractor. To make his ideas furthermore available to the OSS community this complete -rewrite of Jörgs ideas has been called into life. +rewrite of Jörg's ideas has been called into life. In case you have the opinion that parts of the presented code are not as much a rewrite as they should be, may I ask you to contact me directly and in person. I am sure, things can @@ -32,8 +32,8 @@ and wholeheartedness concerning this inner process. === Requirements === * X2Go Server - - you need a working X2Go server to connect to. In order to use shadowing make sure - you have at least X2Go Server (>= 4.1.0.0) installed + - you need a working X2Go server to connect to. In order to use shadowing or mTelePlayer + make sure you have at least X2Go Server (>= 4.1.0.0) installed * on the client system you will need - the python-gevent library (for details refer to: http://www.gevent.org/) - the python-paramiko library (SSH implementation in Python, http://www.lag.net/paramiko/) @@ -66,6 +66,9 @@ and wholeheartedness concerning this inner process. * X2Go desktop sharing support * X2Go published applications support * Session window re-titling for desktop and shared desktop sessions +* X2Go Session Brokerage (HTTP or HTTPS) +* Telekinesis Client support included (required for multimedia support inside + the X2Go session using mTelePlayer as media player) === Installation === @@ -131,6 +134,6 @@ check if your issues have already been solved in the HEAD of python-x2go code. For now, bugs can be reported via mail to mike.gabriel@das-netzwerkteam.de -light+love, 20120529 +light+love, 20142010 Mike Gabriel <mike.gabriel@das-netzwerkteam.de> diff --git a/debian/changelog b/debian/changelog index bf0bf46..0273933 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ python-x2go (0.5.0.1-0x2go1) UNRELEASED; urgency=medium * New upstream version (0.5.0.1): - Update TODO file. + - Update README file. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Mon, 20 Oct 2014 22:24:21 +0200 -- 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 master in repository python-x2go. commit 1e11f64157fd36230e5d40f37f589e908be87721 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 22:52:18 2014 +0200 Provide API inline documentation for http(s) session broker client implementation. --- debian/changelog | 2 + x2go/backends/profiles/httpbroker.py | 96 ++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) diff --git a/debian/changelog b/debian/changelog index 0273933..7879fd9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ python-x2go (0.5.0.1-0x2go1) UNRELEASED; urgency=medium * New upstream version (0.5.0.1): - Update TODO file. - Update README file. + - Provide API inline documentation for http(s) session + broker client implementation. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Mon, 20 Oct 2014 22:24:21 +0200 diff --git a/x2go/backends/profiles/httpbroker.py b/x2go/backends/profiles/httpbroker.py index 2e17e40..539bbd9 100644 --- a/x2go/backends/profiles/httpbroker.py +++ b/x2go/backends/profiles/httpbroker.py @@ -113,21 +113,77 @@ class X2GoSessionProfiles(base.X2GoSessionProfiles): self.broker_my_pubkey, self.broker_my_privkey = genkeypair(local_username=_CURRENT_LOCAL_USER, client_address='127.0.0.1') def get_broker_noauth(self): + """\ + Accessor for the class's C{broker_noauth} property. + + @return: C{True} if the broker probably does not expect authentication. + @rtype: C{bool} + + """ return self.broker_noauth def get_broker_username(self): + """\ + Accessor for the class's C{broker_username} property. + + @return: the username used for authentication against the session broker URL + @rtype: C{str} + + """ return self.broker_username def get_broker_url(self): + """\ + Accessor for the class's C{broker_url} property. + + @return: the session broker URL that was used at broker session instantiation + @rtype: C{str} + + """ return self.broker_url def set_broker_url(self, broker_url): + """\ + Mutator for the class's C{broker_url} property. + + @param broker_url: A new broker URL to use with this instance. Format is + C{<protocol>://<hostname>:<port>/<path>} (where protocol has to be C{http} + or C{https}. + @type broker_url: C{str} + + @return: the session broker URL that was used at broker session instantiation + @rtype: C{str} + + """ self.broker_url = broker_url def get_broker_type(self): + """\ + Accessor of the class's {_broker_type} property. + + @return: either C{http} or C{https}. + @rtype: C{str} + + """ return self._broker_type def broker_simpleauth(self, broker_username, broker_password): + """\ + Attempt a username / password authentication against the instance's + broker URL. + + @param broker_username: username to use for authentication + @type broker_username: C{str} + @param broker_password: password to use for authentication + @type broker_password: C{str} + + @return: C{True} if authentication has been successful + @rtype: C{bool} + + @raise X2GoBrokerConnectionException: Raised on any kind of connection / + authentication failure. + + """ if self.broker_url is not None: request_data = { 'user': broker_username or '', @@ -162,6 +218,14 @@ class X2GoSessionProfiles(base.X2GoSessionProfiles): return False def broker_disconnect(self): + """\ + Disconnect from an (already) authenticated broker session. + + All authentication parameters will be dropped (forgotten) and + this instance has to re-authenticate against / re-connect to the + session broker before any new interaction with the broker is possible. + + """ _profile_ids = copy.deepcopy(self.profile_ids) # forget nearly everything... @@ -181,6 +245,17 @@ class X2GoSessionProfiles(base.X2GoSessionProfiles): self.broker_noauth = False def is_broker_authenticated(self): + """\ + Detect if an authenticated broker session has already been + initiated. Todo so, a simple re-authentication (username, password) + will be attempted. If that fails, user credentials are not provided / + valid. + + @return: C{True} if the broker session has already been authenticated + and user credentials are known / valid + @rtype: C{bool} + + """ if self._broker_auth_successful is None: # do a test auth against the given broker URL try: @@ -190,6 +265,13 @@ class X2GoSessionProfiles(base.X2GoSessionProfiles): return self._broker_auth_successful def broker_listprofiles(self): + """\ + Obtain a session profile list from the X2Go Session Broker. + + @return: session profiles as a Python dictionary. + @rtype: C{dict} + + """ if self.broker_url is not None: request_data = { 'task': 'listprofiles', @@ -222,6 +304,20 @@ class X2GoSessionProfiles(base.X2GoSessionProfiles): return {} def broker_selectsession(self, profile_id): + """\ + Select a session from the list of available session profiles (presented by + L{broker_listprofiles}). This method requests a session information dictionary + (server, port, SSH keys, already running / suspended sessions, etc.) from the + session broker for the provided C{profile_id}. + + @param profile_id: profile ID of the selected session profile + @type profile_id: C{str} + + @return: session information (server, port, SSH keys, etc.) for a selected + session profile (i.e. C{profile_id}) + @rtype: C{dict} + + """ if self.broker_url is not None: if not self._broker_profile_cache.has_key(profile_id) or not self._broker_profile_cache[profile_id]: request_data = { -- 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 master in repository python-x2go. commit c35d66017a1642bbb7d4a9f8385547d2be70aa76 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Oct 20 22:53:01 2014 +0200 release 0.5.0.1 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 7879fd9..383c374 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -python-x2go (0.5.0.1-0x2go1) UNRELEASED; urgency=medium +python-x2go (0.5.0.1-0x2go1) unstable; urgency=medium * New upstream version (0.5.0.1): - Update TODO file. @@ -6,7 +6,7 @@ python-x2go (0.5.0.1-0x2go1) UNRELEASED; urgency=medium - Provide API inline documentation for http(s) session broker client implementation. - -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Mon, 20 Oct 2014 22:24:21 +0200 + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Mon, 20 Oct 2014 22:52:42 +0200 python-x2go (0.5.0.0-0x2go1) unstable; urgency=low -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git