Re: [PATCH] conf: Adjust invalid secrettype setting during parse

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 15, 2015 at 03:00:16PM -0400, 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@xxxxxxxxxx>
---

Follow up to my recent change and response, see:

http://www.redhat.com/archives/libvir-list/2015-June/msg00666.html


ACK

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"),
--
2.1.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

Attachment: signature.asc
Description: PGP signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]