diff options
author | Luiz Capitulino <lcapitulino@redhat.com> | 2009-12-07 21:37:00 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-12-07 16:34:33 -0600 |
commit | 94171e119cb6f7bab2578896643b0daff1d9b184 (patch) | |
tree | 49ad1ca3cb5786f57f0befbd67d0397aaaf9b1c5 | |
parent | 0df37c411ccf9f830f38f3f6405fac9320a70bac (diff) | |
download | hqemu-94171e119cb6f7bab2578896643b0daff1d9b184.zip hqemu-94171e119cb6f7bab2578896643b0daff1d9b184.tar.gz |
monitor: do_cont(): Don't ask for passwords
The do_cont() function will ask the user to enter a password if a
device is encrypted.
This is invalid under QMP, so we raise a QERR_DEVICE_ENCRYPTED
error.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | monitor.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -148,7 +148,10 @@ static void monitor_read_command(Monitor *mon, int show_prompt) static int monitor_read_password(Monitor *mon, ReadLineFunc *readline_func, void *opaque) { - if (mon->rs) { + if (monitor_ctrl_mode(mon)) { + qemu_error_new(QERR_MISSING_PARAMETER, "password"); + return -EINVAL; + } else if (mon->rs) { readline_start(mon->rs, "Password: ", 1, readline_func, opaque); /* prompt is printed on return from the command handler */ return 0; @@ -4103,6 +4106,11 @@ void monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs, return; } + if (monitor_ctrl_mode(mon)) { + qemu_error_new(QERR_DEVICE_ENCRYPTED, bdrv_get_device_name(bs)); + return; + } + monitor_printf(mon, "%s (%s) is encrypted.\n", bdrv_get_device_name(bs), bdrv_get_encrypted_filename(bs)); |