summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-03-01 16:01:45 +0000
committerLuke Leighton <lkcl@samba.org>1999-03-01 16:01:45 +0000
commit2dd4c985c00c71c19c5360bb13c338f477cfd91a (patch)
tree434986a47412fcec59fcdc099b09776f808f7769
parent30e1b45efaca92b4ce1e88d5b218e5595b31352e (diff)
downloadsamba-2dd4c985c00c71c19c5360bb13c338f477cfd91a.tar.gz
samba-2dd4c985c00c71c19c5360bb13c338f477cfd91a.tar.bz2
samba-2dd4c985c00c71c19c5360bb13c338f477cfd91a.zip
improving syntax / useability of rpcclient "shutdown" command:
rpcclient [-m messsage] [-t timeout] [-r or --reboot]. (This used to be commit 8b859797aaa1b88cb1a932fed97b4c3ea2dbdde2)
-rw-r--r--source3/rpcclient/cmd_reg.c32
-rw-r--r--source3/rpcclient/rpcclient.c4
2 files changed, 26 insertions, 10 deletions
diff --git a/source3/rpcclient/cmd_reg.c b/source3/rpcclient/cmd_reg.c
index 95a439c462..ed337a59f5 100644
--- a/source3/rpcclient/cmd_reg.c
+++ b/source3/rpcclient/cmd_reg.c
@@ -921,24 +921,40 @@ void cmd_reg_shutdown(struct client_info *info)
fstring msg;
fstring tmp;
uint32 timeout = 20;
+ uint16 flgs = 0;
DEBUG(5, ("cmd_reg_shutdown: smb_cli->fd:%d\n", smb_cli->fd));
- if (!next_token(NULL, msg, NULL, sizeof(msg)))
+ while (next_token(NULL, tmp, NULL, sizeof(tmp)))
{
- msg[0] = 0;
- }
- else if (next_token(NULL, tmp, NULL, sizeof(tmp)))
- {
- timeout = atoi(tmp);
+ if (strequal(tmp, "-m"))
+ {
+ if (next_token(NULL, msg, NULL, sizeof(msg)))
+ {
+ continue;
+ }
+ }
+ else if (strequal(tmp, "-t"))
+ {
+ if (next_token(NULL, tmp, NULL, sizeof(tmp)))
+ {
+ timeout = atoi(tmp);
+ continue;
+ }
+ }
+ else if (strequal(tmp, "-r") || strequal(tmp, "--reboot"))
+ {
+ flgs = 0x100;
+ continue;
+ }
+ fprintf(out_hnd,"shutdown [-m msg] [-t timeout] [-r or --reboot]\n");
}
-
/* open WINREG session. */
res = res ? cli_nt_session_open(smb_cli, PIPE_WINREG, &fnum) : False;
/* create an entry */
- res = res ? do_reg_shutdown(smb_cli, fnum, msg, timeout, 1) : False;
+ res = res ? do_reg_shutdown(smb_cli, fnum, msg, timeout, flgs) : False;
/* close the session */
cli_nt_session_close(smb_cli, fnum);
diff --git a/source3/rpcclient/rpcclient.c b/source3/rpcclient/rpcclient.c
index 0b418b8c53..d0ec68019b 100644
--- a/source3/rpcclient/rpcclient.c
+++ b/source3/rpcclient/rpcclient.c
@@ -109,7 +109,7 @@ struct
{"regenum", cmd_reg_enum, "<keyname> Registry Enumeration (keys, values)"},
{"regdeletekey",cmd_reg_delete_key, "<keyname> Registry Key Delete"},
{"regcreatekey",cmd_reg_create_key, "<keyname> [keyclass] Registry Key Create"},
- {"shutdown",cmd_reg_shutdown, "[message] [timeout] Server Shutdown"},
+ {"shutdown",cmd_reg_shutdown, "[-m message] [-t timeout] [-r or --reboot] Server Shutdown"},
{"regquerykey",cmd_reg_query_key, "<keyname> Registry Key Query"},
{"regdeleteval",cmd_reg_delete_val, "<valname> Registry Value Delete"},
{"regcreateval",cmd_reg_create_val, "<valname> <valtype> <value> Registry Key Create"},
@@ -747,7 +747,7 @@ enum client_action
}
else
{
- pwd_read(&(smb_cli->pwd), "Enter Password:", True);
+ pwd_read(&(smb_cli->pwd), "Enter Password:", False);
}
/* paranoia: destroy the local copy of the password */