This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2gobroker. commit 7cfda4d1acb114419bf8ea647955febaffe15dc7 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Wed Mar 19 01:14:47 2014 +0100 x2gobroker-testauth: handle extra arguments --- debian/changelog | 1 + sbin/x2gobroker-testagent | 15 +++++++++++---- x2gobroker/agent.py | 16 ++++++++-------- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/debian/changelog b/debian/changelog index 45b89b8..a9b3ccb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -101,6 +101,7 @@ x2gobroker (0.0.3.0-0x2go1) UNRELEASED; urgency=low - Provide tool: x2gobroker-testagent. - Allow for broker clients to send in public SSH keys that the client may use for authentication to X2Go Servers. + - broker agent: avoid one option system() calls in Perl. * debian/control: + Replace LDAP support with session brokerage support in LONG_DESCRIPTION. + Fix SYNOPSIS texts. diff --git a/sbin/x2gobroker-testagent b/sbin/x2gobroker-testagent index eef96a8..e09c81f 100755 --- a/sbin/x2gobroker-testagent +++ b/sbin/x2gobroker-testagent @@ -111,8 +111,8 @@ query_mode = local_agent and 'LOCAL' or 'SSH' if local_agent: remote_agent = None else: remote_agent = {'hostname': hostname, 'port': port, } -def call_agent(task): - return agent_client_tasks[task](username=username, query_mode=query_mode, remote_agent=remote_agent) +def call_agent(task, **kwargs): + return agent_client_tasks[task](username=username, query_mode=query_mode, remote_agent=remote_agent, **kwargs) if __name__ == "__main__": @@ -149,6 +149,13 @@ if __name__ == "__main__": except KeyError: print " {task_name}: not supported by this broker version".format(task_name=task) print - sys.exit(0) + sys.exit(0); - call_agent(task) + kwargs = {} + if task == 'addauthkey': + pubkey, privvkey = x2gobroker.agent.genkeypair(local_username=username, client_address="localhost") + kwargs.update({ + 'pubkey_hash': pubkey, + }) + + print "\n".join(call_agent(task, **kwargs)) diff --git a/x2gobroker/agent.py b/x2gobroker/agent.py index 7d0baca..0840023 100644 --- a/x2gobroker/agent.py +++ b/x2gobroker/agent.py @@ -200,7 +200,7 @@ def icmp_ping(hostname): return True -def ping(query_mode='LOCAL', remote_agent=None): +def ping(query_mode='LOCAL', remote_agent=None, **kwargs): """\ Ping X2Go Broker Agent. @@ -239,7 +239,7 @@ def list_sessions(username, query_mode='LOCAL', remote_agent=None): tasks['listsessions'] = list_sessions -def suspend_session(username, session_name, query_mode='LOCAL', remote_agent=None): +def suspend_session(username, session_name, query_mode='LOCAL', remote_agent=None, **kwargs): """\ Trigger a session suspensions via the X2Go Broker Agent. @@ -258,7 +258,7 @@ def suspend_session(username, session_name, query_mode='LOCAL', remote_agent=Non tasks['suspendsession'] = suspend_session -def terminate_session(username, session_name, query_mode='LOCAL', remote_agent=None): +def terminate_session(username, session_name, query_mode='LOCAL', remote_agent=None, **kwargs): """\ Trigger a session termination via the X2Go Broker Agent. @@ -297,7 +297,7 @@ def has_sessions(username, query_mode='LOCAL', remote_agent=None): return ([ s.split('|')[3] for s in _session_list if s.split('|')[4] == 'R' ], [ s.split('|')[3] for s in _session_list if s.split('|')[4] == 'S' ]) -def find_busy_servers(username, query_mode='LOCAL', remote_agent=None): +def find_busy_servers(username, query_mode='LOCAL', remote_agent=None, **kwargs): """\ Query X2Go Broker Agent for a list of servers with running and/or suspended sessions and a percentage that tells about @@ -330,7 +330,7 @@ def find_busy_servers(username, query_mode='LOCAL', remote_agent=None): tasks['findbusyservers'] = find_busy_servers -def add_authorized_key(username, pubkey_hash, authorized_keys_file='%h/.x2go/authorized_keys', query_mode='LOCAL', remote_agent=None): +def add_authorized_key(username, pubkey_hash, authorized_keys_file='%h/.x2go/authorized_keys', query_mode='LOCAL', remote_agent=None, **kwargs): """\ Add a public key hash to the user's authorized_keys file. @@ -353,7 +353,7 @@ def add_authorized_key(username, pubkey_hash, authorized_keys_file='%h/.x2go/aut tasks['addauthkey'] = add_authorized_key -def delete_authorized_key(username, pubkey_hash, authorized_keys_file='%h/.x2go/authorized_keys', query_mode='LOCAL', remote_agent=None, delay_deletion=0): +def delete_authorized_key(username, pubkey_hash, authorized_keys_file='%h/.x2go/authorized_keys', query_mode='LOCAL', remote_agent=None, delay_deletion=0, **kwargs): """\ Remove a public key hash from the user's authorized_keys file. @@ -386,7 +386,7 @@ def delete_authorized_key(username, pubkey_hash, authorized_keys_file='%h/.x2go/ tasks['delauthkey'] = delete_authorized_key -def get_servers(username, query_mode='LOCAL', remote_agent=None): +def get_servers(username, query_mode='LOCAL', remote_agent=None, **kwargs): """\ Query X2Go Broker Agent for the list of currently used servers. @@ -407,7 +407,7 @@ def get_servers(username, query_mode='LOCAL', remote_agent=None): tasks['getservers'] = get_servers -def tasks_available(username, query_mode='LOCAL', remote_agent=None): +def tasks_available(username, query_mode='LOCAL', remote_agent=None, **kwargs): """\ Query X2Go Broker Agent for the list of available tasks. -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2gobroker.git