summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/scripting/python/samba/netcmd/__init__.py2
-rw-r--r--source4/scripting/python/samba/netcmd/time.py45
-rw-r--r--source4/utils/net/net.c1
-rw-r--r--source4/utils/net/wscript_build2
-rwxr-xr-xsource4/utils/tests/test_net.sh10
5 files changed, 54 insertions, 6 deletions
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 <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)
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