aboutsummaryrefslogtreecommitdiff
path: root/monitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'monitor.c')
-rw-r--r--monitor.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/monitor.c b/monitor.c
index 65668fda0f..3b9408b557 100644
--- a/monitor.c
+++ b/monitor.c
@@ -403,8 +403,17 @@ static void do_change_block(const char *device, const char *filename)
static void do_change_vnc(const char *target)
{
- if (vnc_display_open(NULL, target) < 0)
- term_printf("could not start VNC server on %s\n", target);
+ if (strcmp(target, "passwd") == 0 ||
+ strcmp(target, "password") == 0) {
+ char password[9];
+ monitor_readline("Password: ", 1, password, sizeof(password)-1);
+ password[sizeof(password)-1] = '\0';
+ if (vnc_display_password(NULL, password) < 0)
+ term_printf("could not set VNC server password\n");
+ } else {
+ if (vnc_display_open(NULL, target) < 0)
+ term_printf("could not start VNC server on %s\n", target);
+ }
}
static void do_change(const char *device, const char *target)