s4-net: Convert 'net time' to python.
authorJelmer Vernooij <jelmer@samba.org>
Thu, 8 Apr 2010 21:41:08 +0000 (23:41 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Thu, 8 Apr 2010 21:41:08 +0000 (23:41 +0200)
source4/scripting/python/samba/netcmd/__init__.py
source4/scripting/python/samba/netcmd/time.py [new file with mode: 0644]
source4/utils/net/net.c
source4/utils/net/wscript_build
source4/utils/tests/test_net.sh

index 2f49dcf1f9f0167322a2bdbef0ca76050fa24125..f9c644582c3fa29e017c0023178c4b5e9571cf3c 100644 (file)
@@ -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 (file)
index 0000000..163887a
--- /dev/null
@@ -0,0 +1,45 @@
+#!/usr/bin/python
+#
+# time
+#
+# Copyright Jelmer Vernooij 2010 <jelmer@samba.org>
+#
+# 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 <http://www.gnu.org/licenses/>.
+#
+
+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 <server-name>"
+
+    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)
index e06671c10de794a3cc0d1f4cf279b71af554d252..1eafe4dd789ecd15d2aaaa98513f9d8b5b21f552 100644 (file)
@@ -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},
index 4464442f3afb873107252e1178f4ebfcd2fa6b6b..8f63608ea69ff300bb5df08581b03c8451034906 100644 (file)
@@ -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',
index eb598bf5e1c7f29aee737203e9e595307cae1db2..e49989ff81339d98721a3b20d44e1e6208e3b63d 100755 (executable)
@@ -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