提交 8f1aac69 编写于 作者: P Peter Krempa

qemu: hotplug: Pass around existing secret object alias from qemuDomainAddChardevTLSObjects

Setting up the 'secinfo' for the TLS private key password also generates
the given alias, so we don't need to generate another one.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 4e1330ab
...@@ -1536,7 +1536,7 @@ qemuDomainAddChardevTLSObjects(virQEMUDriverPtr driver, ...@@ -1536,7 +1536,7 @@ qemuDomainAddChardevTLSObjects(virQEMUDriverPtr driver,
char *devAlias, char *devAlias,
char *charAlias, char *charAlias,
char **tlsAlias, char **tlsAlias,
char **secAlias) const char **secAlias)
{ {
int ret = -1; int ret = -1;
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
...@@ -1561,12 +1561,15 @@ qemuDomainAddChardevTLSObjects(virQEMUDriverPtr driver, ...@@ -1561,12 +1561,15 @@ qemuDomainAddChardevTLSObjects(virQEMUDriverPtr driver,
if ((chrSourcePriv = QEMU_DOMAIN_CHR_SOURCE_PRIVATE(dev))) if ((chrSourcePriv = QEMU_DOMAIN_CHR_SOURCE_PRIVATE(dev)))
secinfo = chrSourcePriv->secinfo; secinfo = chrSourcePriv->secinfo;
if (secinfo)
*secAlias = secinfo->s.aes.alias;
if (qemuDomainGetTLSObjects(priv->qemuCaps, secinfo, if (qemuDomainGetTLSObjects(priv->qemuCaps, secinfo,
cfg->chardevTLSx509certdir, cfg->chardevTLSx509certdir,
dev->data.tcp.listen, dev->data.tcp.listen,
cfg->chardevTLSx509verify, cfg->chardevTLSx509verify,
charAlias, &tlsProps, tlsAlias, charAlias, &tlsProps, tlsAlias,
&secProps, secAlias) < 0) &secProps, NULL) < 0)
goto cleanup; goto cleanup;
dev->data.tcp.tlscreds = true; dev->data.tcp.tlscreds = true;
...@@ -1644,7 +1647,7 @@ int qemuDomainAttachRedirdevDevice(virQEMUDriverPtr driver, ...@@ -1644,7 +1647,7 @@ int qemuDomainAttachRedirdevDevice(virQEMUDriverPtr driver,
char *devstr = NULL; char *devstr = NULL;
bool chardevAdded = false; bool chardevAdded = false;
char *tlsAlias = NULL; char *tlsAlias = NULL;
char *secAlias = NULL; const char *secAlias = NULL;
bool need_release = false; bool need_release = false;
virErrorPtr orig_err; virErrorPtr orig_err;
...@@ -1691,7 +1694,6 @@ int qemuDomainAttachRedirdevDevice(virQEMUDriverPtr driver, ...@@ -1691,7 +1694,6 @@ int qemuDomainAttachRedirdevDevice(virQEMUDriverPtr driver,
if (ret < 0 && need_release) if (ret < 0 && need_release)
qemuDomainReleaseDeviceAddress(vm, &redirdev->info, NULL); qemuDomainReleaseDeviceAddress(vm, &redirdev->info, NULL);
VIR_FREE(tlsAlias); VIR_FREE(tlsAlias);
VIR_FREE(secAlias);
VIR_FREE(charAlias); VIR_FREE(charAlias);
VIR_FREE(devstr); VIR_FREE(devstr);
return ret; return ret;
...@@ -1885,7 +1887,7 @@ int qemuDomainAttachChrDevice(virQEMUDriverPtr driver, ...@@ -1885,7 +1887,7 @@ int qemuDomainAttachChrDevice(virQEMUDriverPtr driver,
bool teardowndevice = false; bool teardowndevice = false;
bool teardownlabel = false; bool teardownlabel = false;
char *tlsAlias = NULL; char *tlsAlias = NULL;
char *secAlias = NULL; const char *secAlias = NULL;
bool need_release = false; bool need_release = false;
if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL && if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL &&
...@@ -1956,7 +1958,6 @@ int qemuDomainAttachChrDevice(virQEMUDriverPtr driver, ...@@ -1956,7 +1958,6 @@ int qemuDomainAttachChrDevice(virQEMUDriverPtr driver,
VIR_WARN("Unable to remove chr device from /dev"); VIR_WARN("Unable to remove chr device from /dev");
} }
VIR_FREE(tlsAlias); VIR_FREE(tlsAlias);
VIR_FREE(secAlias);
VIR_FREE(charAlias); VIR_FREE(charAlias);
VIR_FREE(devstr); VIR_FREE(devstr);
return ret; return ret;
...@@ -1987,7 +1988,7 @@ qemuDomainAttachRNGDevice(virQEMUDriverPtr driver, ...@@ -1987,7 +1988,7 @@ qemuDomainAttachRNGDevice(virQEMUDriverPtr driver,
char *charAlias = NULL; char *charAlias = NULL;
char *objAlias = NULL; char *objAlias = NULL;
char *tlsAlias = NULL; char *tlsAlias = NULL;
char *secAlias = NULL; const char *secAlias = NULL;
bool releaseaddr = false; bool releaseaddr = false;
bool teardowncgroup = false; bool teardowncgroup = false;
bool teardowndevice = false; bool teardowndevice = false;
...@@ -2077,7 +2078,6 @@ qemuDomainAttachRNGDevice(virQEMUDriverPtr driver, ...@@ -2077,7 +2078,6 @@ qemuDomainAttachRNGDevice(virQEMUDriverPtr driver,
} }
VIR_FREE(tlsAlias); VIR_FREE(tlsAlias);
VIR_FREE(secAlias);
VIR_FREE(charAlias); VIR_FREE(charAlias);
VIR_FREE(objAlias); VIR_FREE(objAlias);
VIR_FREE(devstr); VIR_FREE(devstr);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册