This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2gobroker. from ca36777 debian/changelog: wrap too-long-line new b972d96 more work/testing on x2gobroker-testagent The 1 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: lib/x2gobroker-agent.pl | 15 +++++++-------- sbin/x2gobroker-testagent | 34 +++++++++++++++++++++++----------- x2gobroker/utils.py | 1 + 3 files changed, 31 insertions(+), 19 deletions(-) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2gobroker.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2gobroker. commit b972d9696f97aeab4b392938548a48202d4b8aa4 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Wed Mar 19 00:18:32 2014 +0100 more work/testing on x2gobroker-testagent --- lib/x2gobroker-agent.pl | 15 +++++++-------- sbin/x2gobroker-testagent | 34 +++++++++++++++++++++++----------- x2gobroker/utils.py | 1 + 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/lib/x2gobroker-agent.pl b/lib/x2gobroker-agent.pl index 7c04a42..ee359bf 100755 --- a/lib/x2gobroker-agent.pl +++ b/lib/x2gobroker-agent.pl @@ -117,23 +117,22 @@ if($mode eq 'ping') exit; } -my ($uid, $passwd, $uidNumber, $gidNumber, $quota, $comment, $gcos, $home, $shell, $expire) = getpwnam($username); - -if($uidNumber < 1000) -{ - die 'operation on system user'; -} - if($mode eq 'availabletasks') { - InitX2GoUser($uid, $uidNumber, $gidNumber, $home); print "OK\n"; my $available_task; foreach $available_task (@available_tasks) { print "$available_task\n"; } + exit; } +my ($uid, $passwd, $uidNumber, $gidNumber, $quota, $comment, $gcos, $home, $shell, $expire) = getpwnam($username); + +if($uidNumber < 1000) +{ + die "operation on system user $uidNumber"; +} if($mode eq 'listsessions') { diff --git a/sbin/x2gobroker-testagent b/sbin/x2gobroker-testagent index 29ca0ed..eef96a8 100755 --- a/sbin/x2gobroker-testagent +++ b/sbin/x2gobroker-testagent @@ -50,11 +50,11 @@ setproctitle.setproctitle("%s %s" % (PROG_NAME, " ".join(PROG_OPTIONS))) if __name__ == "__main__": agent_options = [ - {'args':['-H','--host'], 'default': 'LOCAL', 'metavar': 'HOSTNAME', 'help': 'Test X2Go Session Broker Agent on this host (default: LOCAL)', }, - {'args':['-p','--port'], 'default': 22, 'metavar': 'PORT', 'help': 'For remote agent calls (via SSH) use this port as SSH port (default: 22)', }, + {'args':['--list-tasks'], 'default': False, 'action': 'store_true', 'help': 'List available broker agent tasks', }, {'args':['-u','--username', '--user'], 'default': None, 'metavar': 'USERNAME', 'help': 'When testing the broker agent, test on behalf of this user (default: none)', }, {'args':['-t','--task'], 'default': 'PING_ICMP', 'metavar': 'AGENT_TASK', 'help': 'Perform this task on the (remote) broker agent', }, - {'args':['--list-tasks'], 'default': False, 'action': 'store_true', 'help': 'List available broker agent tasks', }, + {'args':['-H','--host'], 'default': 'LOCAL', 'metavar': 'HOSTNAME', 'help': 'Test X2Go Session Broker Agent on this (remote) host (default: LOCAL)', }, + {'args':['-p','--port'], 'default': 22, 'metavar': 'PORT', 'help': 'For remote agent calls (via SSH) use this port as SSH port (default: 22)', }, ] misc_options = [ {'args':['-C','--config-file'], 'default': None, 'metavar': 'CONFIG_FILE', 'help': 'Specify a special configuration file name, default is: {default}'.format(default=x2gobroker.defaults.X2GOBROKER_CONFIG), }, @@ -74,6 +74,13 @@ if __name__ == "__main__": cmdline_args = p.parse_args() + if os.getuid() != 0: + p.print_help() + print + print "*** The {progname} tool needs to be run with super-user privileges... ***".format(progname=PROG_NAME) + print + sys.exit(-1) + if cmdline_args.username is None and not cmdline_args.list_tasks: p.print_help() print @@ -104,19 +111,24 @@ query_mode = local_agent and 'LOCAL' or 'SSH' if local_agent: remote_agent = None else: remote_agent = {'hostname': hostname, 'port': port, } -agent_client_tasks = x2gobroker.agent.tasks -if 'availabletasks' in agent_client_tasks: - try: - remote_agent_tasks = x2gobroker.agent.tasks_available(username=username, query_mode=query_mode, remote_agent=remote_agent) - except x2gobroker.x2gobroker_exceptions.X2GoBrokerAgentException, e: - print e - sys.exit(0) - def call_agent(task): return agent_client_tasks[task](username=username, query_mode=query_mode, remote_agent=remote_agent) if __name__ == "__main__": + print + print "X2Go Session Broker (Agent Test Utility)" + print "----------------------------------------" + + agent_client_tasks = x2gobroker.agent.tasks + if 'availabletasks' in agent_client_tasks: + try: + remote_agent_tasks = x2gobroker.agent.tasks_available(username=username, query_mode=query_mode, remote_agent=remote_agent) + except x2gobroker.x2gobroker_exceptions.X2GoBrokerAgentException, e: + print e + print + sys.exit(0) + # drop root privileges and run as X2GOBROKER_DAEMON_USER drop_privileges(uid=x2gobroker.defaults.X2GOBROKER_DAEMON_USER, gid=x2gobroker.defaults.X2GOBROKER_DAEMON_GROUP) diff --git a/x2gobroker/utils.py b/x2gobroker/utils.py index 776f380..0d8af2c 100644 --- a/x2gobroker/utils.py +++ b/x2gobroker/utils.py @@ -25,6 +25,7 @@ import types import locale import netaddr import distutils.version +import pwd, grp def _checkConfigFileDefaults(data_structure): """\ -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2gobroker.git