From 13c59ac906b08ae74f520593d5ccf2dc65231c18 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Mon, 15 Jun 2015 10:40:27 -0400 Subject: [PATCH] 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 --- src/conf/domain_conf.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 3c0c27b6f5..7c339851a9 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -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"), -- 2.47.2