diff options
author | Luke Leighton <lkcl@samba.org> | 1999-03-01 16:01:45 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1999-03-01 16:01:45 +0000 |
commit | 2dd4c985c00c71c19c5360bb13c338f477cfd91a (patch) | |
tree | 434986a47412fcec59fcdc099b09776f808f7769 | |
parent | 30e1b45efaca92b4ce1e88d5b218e5595b31352e (diff) | |
download | samba-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.c | 32 | ||||
-rw-r--r-- | source3/rpcclient/rpcclient.c | 4 |
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 */ |