Accept password as an argument to 'change vnc password' monitor command (Chris Webb)

This allows easier use of the change vnc password monitor command from
management scripts, without having to implement expect(1)-like behaviour.

Signed-off-by: Chris Webb <chris@arachsys.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5967 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
aliguori 2008-12-10 15:14:13 +00:00
parent 2a7e8dda09
commit 2569da0cb6
2 changed files with 13 additions and 9 deletions

View file

@ -429,12 +429,16 @@ static void do_change_block(const char *device, const char *filename, const char
qemu_key_check(bs, filename);
}
static void do_change_vnc(const char *target)
static void do_change_vnc(const char *target, const char *arg)
{
if (strcmp(target, "passwd") == 0 ||
strcmp(target, "password") == 0) {
char password[9];
monitor_readline("Password: ", 1, password, sizeof(password));
if (arg) {
strncpy(password, arg, sizeof(password));
password[sizeof(password) - 1] = '\0';
} else
monitor_readline("Password: ", 1, password, sizeof(password));
if (vnc_display_password(NULL, password) < 0)
term_printf("could not set VNC server password\n");
} else {
@ -443,12 +447,12 @@ static void do_change_vnc(const char *target)
}
}
static void do_change(const char *device, const char *target, const char *fmt)
static void do_change(const char *device, const char *target, const char *arg)
{
if (strcmp(device, "vnc") == 0) {
do_change_vnc(target);
do_change_vnc(target, arg);
} else {
do_change_block(device, target, fmt);
do_change_block(device, target, arg);
}
}

View file

@ -1241,11 +1241,11 @@ and @var{options} are described at @ref{sec_invocation}. eg
(qemu) change vnc localhost:1
@end example
@item change vnc password
@item change vnc password [@var{password}]
Change the password associated with the VNC server. The monitor will prompt for
the new password to be entered. VNC passwords are only significant upto 8 letters.
eg.
Change the password associated with the VNC server. If the new password is not
supplied, the monitor will prompt for it to be entered. VNC passwords are only
significant up to 8 letters. eg
@example
(qemu) change vnc password