From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L9go4-0006Jq-6f for qemu-devel@nongnu.org; Mon, 08 Dec 2008 09:09:52 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L9go3-0006JV-Dr for qemu-devel@nongnu.org; Mon, 08 Dec 2008 09:09:51 -0500 Received: from [199.232.76.173] (port=53040 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L9go3-0006JO-98 for qemu-devel@nongnu.org; Mon, 08 Dec 2008 09:09:51 -0500 Received: from alpha.arachsys.com ([91.203.57.7]:42284) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L9go2-0000bI-MV for qemu-devel@nongnu.org; Mon, 08 Dec 2008 09:09:51 -0500 Date: Mon, 8 Dec 2008 14:09:49 +0000 From: Chris Webb Message-ID: <20081208140949.GG19711@arachsys.com> References: <20081123113147.GA12832@arachsys.com> <20081123123101.GC17042@networkno.de> <20081125100935.GI2380@arachsys.com> <20081125102502.GJ2380@arachsys.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081125102502.GJ2380@arachsys.com> Subject: [Qemu-devel] [RESEND] [PATCH v2] Accept password as an argument to 'change vnc password' Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, kvm@vger.kernel.org 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 --- monitor.c | 14 +++++++++----- qemu-doc.texi | 8 ++++---- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/monitor.c b/monitor.c index a252838..f6a2783 100644 --- a/monitor.c +++ b/monitor.c @@ -428,12 +428,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 { @@ -442,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