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>
This commit is contained in:
parent
0df37c411c
commit
94171e119c
10
monitor.c
10
monitor.c
@ -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));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user