This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2gobroker. commit 5976792eaecdb1d61fefb9248e633482a4fa12d8 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Mar 7 22:37:30 2014 +0100 Implement dynamic authid for JSON WebUI frontend. Add a generic metadata top level to the JSON output tree. --- debian/changelog | 2 ++ x2gobroker/web/json.py | 28 ++++++++++++++++++++++------ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index 49e1087..dcdce07 100644 --- a/debian/changelog +++ b/debian/changelog @@ -91,6 +91,8 @@ x2gobroker (0.0.3.0-0x2go1) UNRELEASED; urgency=low - Add --drop-privileges feature so that x2gobroker-daemon can drop root privileges when started via systemd. Only drop privileges if x2gobroker(-daemon) is run as uidNumber 0. + - Implement dynamic authid for JSON WebUI frontend. Add a generic metadata + top level to the JSON output tree. * debian/control: + Replace LDAP support with session brokerage support in LONG_DESCRIPTION. + Fix SYNOPSIS texts. diff --git a/x2gobroker/web/json.py b/x2gobroker/web/json.py index 1f10b31..9574796 100644 --- a/x2gobroker/web/json.py +++ b/x2gobroker/web/json.py @@ -116,7 +116,9 @@ class X2GoBrokerWeb(_RequestHandler): profile_id = self.get_argument('sid', default='') new_password = self.get_argument('newpass', default='') - output = '' + payload = { + 'task': task, + } logger_broker.debug ('username: {username}, password: {password}, task: {task}, profile_id: {profile_id}, cookie: {cookie}'.format(username=username, password='XXXXX', task=task, profile_id=profile_id, cookie=cookie)) access, next_cookie = broker_backend.check_access(username=username, password=password, ip=ip, cookie=cookie) @@ -125,8 +127,14 @@ class X2GoBrokerWeb(_RequestHandler): ### ### CONFIRM SUCCESSFUL AUTHENTICATION FIRST ### + payload.update({ + 'auth_status': 'Access granted', + }) - ### FIXME: find good way to pass next cookie to client - stored in next_cookie + if next_cookie is not None: + payload.update({ + 'authid': next_cookie, + }) ### ### X2GO BROKER TASKS @@ -143,13 +151,19 @@ class X2GoBrokerWeb(_RequestHandler): #self.write(broker_backend.test_connection()) return - if task == 'listsessions': + # listsessions is old style, listprofiles semantically more correct + if task == 'listsessions' or task == 'listprofiles': - profiles = broker_backend.list_profiles(username) - output += json.dumps(profiles, indent=4, sort_keys=True) + payload.update({ + 'profiles': broker_backend.list_profiles(username), + }) + output += json.dumps(payload, indent=4, sort_keys=True) elif task == 'selectsession': + payload.update({ + 'selected_session': {} + }) if profile_id: selected_session = {} @@ -167,7 +181,9 @@ class X2GoBrokerWeb(_RequestHandler): if profile_info.has_key('session_info'): selected_session['session_info'] = profile_info['session_info'] - output += json.dumps(selected_session, indent=4, sort_keys=True) + payload['selected_session'] = selected_session + + output += json.dumps(payload, indent=4, sort_keys=True) self.write(output) return -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2gobroker.git