From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lf58m-0008Rw-Bg for qemu-devel@nongnu.org; Wed, 04 Mar 2009 23:25:00 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lf58i-0008Qy-Se for qemu-devel@nongnu.org; Wed, 04 Mar 2009 23:25:00 -0500 Received: from [199.232.76.173] (port=36760 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lf58i-0008Qs-Pc for qemu-devel@nongnu.org; Wed, 04 Mar 2009 23:24:56 -0500 Received: from phong.sigbus.net ([65.49.35.42]:52140) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Lf58i-00005x-GS for qemu-devel@nongnu.org; Wed, 04 Mar 2009 23:24:56 -0500 Received: from [192.168.0.3] (c-71-202-202-194.hsd1.ca.comcast.net [71.202.202.194]) by phong.sigbus.net (Postfix) with ESMTPSA id 5D6D295C0A0 for ; Wed, 4 Mar 2009 20:24:52 -0800 (PST) From: Nolan Content-Type: text/plain Date: Wed, 04 Mar 2009 20:24:51 -0800 Message-Id: <1236227091.7115.114.camel@voxel> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH] support for unsetting the VNC password from the monitor. 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 Add monitor support for setting the VNC password to "", disabling VNC. The magic sentinel value is "<>" which is not a valid VNC password by virtue of being 9 characters long. diff --git a/qemu/monitor.c b/qemu/monitor.c index 1b2adc8..7bbb457 100644 --- a/qemu/monitor.c +++ b/qemu/monitor.c @@ -466,8 +466,13 @@ static void do_change_vnc(const char *target, const char *arg) strcmp(target, "password") == 0) { char password[9]; if (arg) { - strncpy(password, arg, sizeof(password)); - password[sizeof(password) - 1] = '\0'; + /* "<>" is 9 chars long, so it is not a valid VNC passwd. */ + if (strcmp(arg, "<>") == 0) { + password[0] = '\0'; + } else { + 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)