mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-08-25 13:50:09 +03:00
qemu: command: Generate commandline of 'masterKey0' secret via JSON
While the 'masterKey0' secret object will never be hotplugged we want to generate it through JSON so that we'll be able to validate all parameters of '-object' against the QAPI schema once 'object-add' is qapified in qemu. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
@ -210,6 +210,7 @@ qemuBuildMasterKeyCommandLine(virCommandPtr cmd,
|
||||
g_autofree char *alias = NULL;
|
||||
g_autofree char *path = NULL;
|
||||
g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
|
||||
g_autoptr(virJSONValue) props = NULL;
|
||||
|
||||
/* If the -object secret does not exist, then just return. This just
|
||||
* means the domain won't be able to use a secret master key and is
|
||||
@ -231,9 +232,16 @@ qemuBuildMasterKeyCommandLine(virCommandPtr cmd,
|
||||
if (!(path = qemuDomainGetMasterKeyFilePath(priv->libDir)))
|
||||
return -1;
|
||||
|
||||
if (qemuMonitorCreateObjectProps(&props, "secret", alias,
|
||||
"s:format", "raw",
|
||||
"s:file", path,
|
||||
NULL) < 0)
|
||||
return -1;
|
||||
|
||||
if (virQEMUBuildObjectCommandlineFromJSON(&buf, props) < 0)
|
||||
return -1;
|
||||
|
||||
virCommandAddArg(cmd, "-object");
|
||||
virBufferAsprintf(&buf, "secret,id=%s,format=raw,file=", alias);
|
||||
virQEMUBuildBufferEscapeComma(&buf, path);
|
||||
virCommandAddArgBuffer(cmd, &buf);
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user