From 26d928e9482725fe66db05f23af573fdea61a291 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Thu, 8 Apr 2010 23:41:08 +0200 Subject: s4-net: Convert 'net time' to python. --- source4/scripting/python/samba/netcmd/__init__.py | 2 + source4/scripting/python/samba/netcmd/time.py | 45 +++++++++++++++++++++++ source4/utils/net/net.c | 1 - source4/utils/net/wscript_build | 2 +- source4/utils/tests/test_net.sh | 10 +++-- 5 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 source4/scripting/python/samba/netcmd/time.py (limited to 'source4') diff --git a/source4/scripting/python/samba/netcmd/__init__.py b/source4/scripting/python/samba/netcmd/__init__.py index 2f49dcf1f9..f9c644582c 100644 --- a/source4/scripting/python/samba/netcmd/__init__.py +++ b/source4/scripting/python/samba/netcmd/__init__.py @@ -149,3 +149,5 @@ from samba.netcmd.fsmo import cmd_fsmo commands["fsmo"] = cmd_fsmo() from samba.netcmd.export import cmd_export commands["export"] = cmd_export() +from samba.netcmd.time import cmd_time +commands["time"] = cmd_time() diff --git a/source4/scripting/python/samba/netcmd/time.py b/source4/scripting/python/samba/netcmd/time.py new file mode 100644 index 0000000000..163887a57e --- /dev/null +++ b/source4/scripting/python/samba/netcmd/time.py @@ -0,0 +1,45 @@ +#!/usr/bin/python +# +# time +# +# Copyright Jelmer Vernooij 2010 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +import samba.getopt as options + +from samba.net import Net + +from samba.netcmd import ( + Command, + ) + +class cmd_time(Command): + """Retrieve the time on a remote server.""" + synopsis = "%prog time " + + takes_optiongroups = { + "sambaopts": options.SambaOptions, + "credopts": options.CredentialsOptions, + "versionopts": options.VersionOptions, + } + + takes_args = ["server_name"] + + def run(self, server_name, credopts=None, sambaopts=None, versionopts=None): + lp = sambaopts.get_loadparm() + creds = credopts.get_credentials(lp) + net = Net(creds, lp) + print net.time(server_name) diff --git a/source4/utils/net/net.c b/source4/utils/net/net.c index e06671c10d..1eafe4dd78 100644 --- a/source4/utils/net/net.c +++ b/source4/utils/net/net.c @@ -197,7 +197,6 @@ int net_run_usage(struct net_context *ctx, /* main function table */ static const struct net_functable net_functable[] = { {"password", "change password\n", net_password, net_password_usage}, - {"time", "get remote server's time\n", net_time, net_time_usage}, {"join", "join a domain\n", net_join, net_join_usage}, {"samdump", "dump the sam of a domain\n", net_samdump, net_samdump_usage}, {"vampire", "join and syncronise an AD domain onto the local server\n", net_vampire, net_vampire_usage}, diff --git a/source4/utils/net/wscript_build b/source4/utils/net/wscript_build index 4464442f3a..8f63608ea6 100644 --- a/source4/utils/net/wscript_build +++ b/source4/utils/net/wscript_build @@ -10,7 +10,7 @@ bld.SAMBA_MODULE('net_drs', bld.SAMBA_BINARY('net', - source='net.c net_machinepw.c net_password.c net_time.c net_join.c net_vampire.c net_user.c', + source='net.c net_machinepw.c net_password.c net_join.c net_vampire.c net_user.c', autoproto='net_proto.h', installdir='BINDIR', deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL LIBSAMBA-NET popt POPT_SAMBA POPT_CREDENTIALS net_drs', diff --git a/source4/utils/tests/test_net.sh b/source4/utils/tests/test_net.sh index eb598bf5e1..e49989ff81 100755 --- a/source4/utils/tests/test_net.sh +++ b/source4/utils/tests/test_net.sh @@ -29,12 +29,14 @@ testit() { return $status } -testit "domain join" $VALGRIND $net join $DOMAIN $CONFIGURATION -W "$DOMAIN" -U"$USERNAME%$PASSWORD" $@ || failed=`expr $failed + 1` +testit "domain join" $VALGRIND $net join $DOMAIN $CONFIGURATION -W "$DOMAIN" -U"$USERNAME%$PASSWORD" $@ -testit "Test login with --machine-pass without kerberos" $VALGRIND $smbclient -c 'ls' $CONFIGURATION //$SERVER/tmp --machine-pass -k no || failed=`expr $failed + 1` +testit "Test login with --machine-pass without kerberos" $VALGRIND $smbclient -c 'ls' $CONFIGURATION //$SERVER/tmp --machine-pass -k no -testit "Test login with --machine-pass and kerberos" $VALGRIND $smbclient -c 'ls' $CONFIGURATION //$SERVER/tmp --machine-pass -k yes || failed=`expr $failed + 1` +testit "Test login with --machine-pass and kerberos" $VALGRIND $smbclient -c 'ls' $CONFIGURATION //$SERVER/tmp --machine-pass -k yes -exit $failed +testit "time" $VALGRIND $net time $SERVER $CONFIGURATION -W "$DOMAIN" -U"$USERNAME%$PASSWORD" $@ +# FIXME: testit "domainlevel.show" $VALGRIND $net domainlevel show $CONFIGURATION +exit $failed -- cgit