mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
block: rip out all traces of password prompting
Now that qcow & qcow2 are wired up to get encryption keys via the QCryptoSecret object, nothing is relying on the interactive prompting for passwords. All the code related to password prompting can thus be ripped out. Reviewed-by: Alberto Garcia <berto@igalia.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-id: 20170623162419.26068-17-berrange@redhat.com Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
parent
23f831c331
commit
788cf9f8c8
10 changed files with 2 additions and 269 deletions
68
monitor.c
68
monitor.c
|
@ -4136,74 +4136,6 @@ void monitor_cleanup(void)
|
|||
qemu_mutex_unlock(&monitor_lock);
|
||||
}
|
||||
|
||||
static void bdrv_password_cb(void *opaque, const char *password,
|
||||
void *readline_opaque)
|
||||
{
|
||||
Monitor *mon = opaque;
|
||||
BlockDriverState *bs = readline_opaque;
|
||||
int ret = 0;
|
||||
Error *local_err = NULL;
|
||||
|
||||
bdrv_add_key(bs, password, &local_err);
|
||||
if (local_err) {
|
||||
error_report_err(local_err);
|
||||
ret = -EPERM;
|
||||
}
|
||||
if (mon->password_completion_cb)
|
||||
mon->password_completion_cb(mon->password_opaque, ret);
|
||||
|
||||
monitor_read_command(mon, 1);
|
||||
}
|
||||
|
||||
int monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs,
|
||||
BlockCompletionFunc *completion_cb,
|
||||
void *opaque)
|
||||
{
|
||||
int err;
|
||||
|
||||
monitor_printf(mon, "%s (%s) is encrypted.\n", bdrv_get_device_name(bs),
|
||||
bdrv_get_encrypted_filename(bs));
|
||||
|
||||
mon->password_completion_cb = completion_cb;
|
||||
mon->password_opaque = opaque;
|
||||
|
||||
err = monitor_read_password(mon, bdrv_password_cb, bs);
|
||||
|
||||
if (err && completion_cb)
|
||||
completion_cb(opaque, err);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
int monitor_read_block_device_key(Monitor *mon, const char *device,
|
||||
BlockCompletionFunc *completion_cb,
|
||||
void *opaque)
|
||||
{
|
||||
Error *err = NULL;
|
||||
BlockBackend *blk;
|
||||
|
||||
blk = blk_by_name(device);
|
||||
if (!blk) {
|
||||
monitor_printf(mon, "Device not found %s\n", device);
|
||||
return -1;
|
||||
}
|
||||
if (!blk_bs(blk)) {
|
||||
monitor_printf(mon, "Device '%s' has no medium\n", device);
|
||||
return -1;
|
||||
}
|
||||
|
||||
bdrv_add_key(blk_bs(blk), NULL, &err);
|
||||
if (err) {
|
||||
error_free(err);
|
||||
return monitor_read_bdrv_key_start(mon, blk_bs(blk), completion_cb, opaque);
|
||||
}
|
||||
|
||||
if (completion_cb) {
|
||||
completion_cb(opaque, 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
QemuOptsList qemu_mon_opts = {
|
||||
.name = "mon",
|
||||
.implied_opt_name = "chardev",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue