[X2Go-Commits] [x2gobroker] 03/03: x2gobroker-testauth: handle extra arguments
git-admin at x2go.org
git-admin at x2go.org
Wed Mar 19 01:14:43 CET 2014
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 at 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
More information about the x2go-commits
mailing list