* [PATCH] Accept password as an argument to 'change vnc password'
@ 2008-11-23 11:34 ` Chris Webb
0 siblings, 0 replies; 2+ messages in thread
From: Chris Webb @ 2008-11-23 11:34 UTC (permalink / raw)
To: qemu-devel; +Cc: kvm
Accept password as an argument to 'change vnc password' monitor command
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>
---
monitor.c | 13 ++++++++-----
qemu-doc.texi | 8 ++++----
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/monitor.c b/monitor.c
index 22360fc..8ac73c1 100644
--- a/monitor.c
+++ b/monitor.c
@@ -428,12 +428,15 @@ 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));
+ else
+ monitor_readline("Password: ", 1, password, sizeof(password));
password[sizeof(password)-1] = '\0';
if (vnc_display_password(NULL, password) < 0)
term_printf("could not set VNC server password\n");
@@ -443,12 +446,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);
}
}
diff --git a/qemu-doc.texi b/qemu-doc.texi
index 1735d92..ca3b181 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -1233,11 +1233,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
^ permalink raw reply related [flat|nested] 2+ messages in thread* [Qemu-devel] [PATCH] Accept password as an argument to 'change vnc password'
@ 2008-11-23 11:34 ` Chris Webb
0 siblings, 0 replies; 2+ messages in thread
From: Chris Webb @ 2008-11-23 11:34 UTC (permalink / raw)
To: qemu-devel; +Cc: kvm
Accept password as an argument to 'change vnc password' monitor command
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>
---
monitor.c | 13 ++++++++-----
qemu-doc.texi | 8 ++++----
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/monitor.c b/monitor.c
index 22360fc..8ac73c1 100644
--- a/monitor.c
+++ b/monitor.c
@@ -428,12 +428,15 @@ 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));
+ else
+ monitor_readline("Password: ", 1, password, sizeof(password));
password[sizeof(password)-1] = '\0';
if (vnc_display_password(NULL, password) < 0)
term_printf("could not set VNC server password\n");
@@ -443,12 +446,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);
}
}
diff --git a/qemu-doc.texi b/qemu-doc.texi
index 1735d92..ca3b181 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -1233,11 +1233,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
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-11-23 11:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-23 11:34 [PATCH] Accept password as an argument to 'change vnc password' Chris Webb
2008-11-23 11:34 ` [Qemu-devel] " Chris Webb
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.