[libvirt] [PATCH] conf: Adjust invalid secrettype setting during parse
John Ferlan
jferlan at redhat.com
Tue Jun 23 11:35:51 UTC 2015
On 06/15/2015 03:00 PM, John Ferlan wrote:
> 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
>
> Signed-off-by: John Ferlan <jferlan at redhat.com>
> ---
>
> Follow up to my recent change and response, see:
>
> http://www.redhat.com/archives/libvir-list/2015-June/msg00666.html
>
> 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 ca55981..c31edf5 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -6571,17 +6571,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"),
>
ping
Tks,
John
More information about the libvir-list
mailing list