mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-23 04:55:18 +00:00
conf: Adjust invalid secrettype setting during parse
Commit id '1feaccf0' attempted to handle an empty secrettype value; however, it made a mistake by processing the secretType as if it was the original secrettype string. The 'secretType' is actually whether 'usage' or 'uuid' was used. Thus adjust part of the change to make the same check for def->src->type != VIR_STORAGE_TYPE_VOLUME before setting auth_secret_usage from the secrettype field. Luckily the aforementioned commits misdeed would be overwritten by the call to virStorageTranslateDiskSourcePool
This commit is contained in:
parent
5d8ef8ad67
commit
13c59ac906
@ -6654,17 +6654,11 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
|
||||
xmlStrEqual(cur->name, BAD_CAST "auth")) {
|
||||
if (!(authdef = virStorageAuthDefParse(node->doc, cur)))
|
||||
goto error;
|
||||
/* Shared processing code with storage pools can leave
|
||||
* this empty, but disk formatting uses it as does command
|
||||
* creation - so use the secretType to attempt to fill it in.
|
||||
/* Disk volume types won't have the secrettype filled in until
|
||||
* after virStorageTranslateDiskSourcePool is run
|
||||
*/
|
||||
if (!authdef->secrettype) {
|
||||
const char *secrettype =
|
||||
virSecretUsageTypeToString(authdef->secretType);
|
||||
if (VIR_STRDUP(authdef->secrettype, secrettype) < 0)
|
||||
goto error;
|
||||
}
|
||||
if ((auth_secret_usage =
|
||||
if (def->src->type != VIR_STORAGE_TYPE_VOLUME &&
|
||||
(auth_secret_usage =
|
||||
virSecretUsageTypeFromString(authdef->secrettype)) < 0) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("invalid secret type %s"),
|
||||
|
Loading…
x
Reference in New Issue
Block a user