From nobody Sat Feb 7 06:13:47 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) client-ip=209.132.183.37; envelope-from=libvir-list-bounces@redhat.com; helo=mx5-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.37 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx5-phx2.redhat.com (mx5-phx2.redhat.com [209.132.183.37]) by mx.zohomail.com with SMTPS id 1488411228356651.6904165837934; Wed, 1 Mar 2017 15:33:48 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx5-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v21NUV1a053982; Wed, 1 Mar 2017 18:30:31 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v21NUU5b000922 for ; Wed, 1 Mar 2017 18:30:30 -0500 Received: from localhost.localdomain.com (ovpn-116-78.phx2.redhat.com [10.3.116.78]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v21NUSji004618 for ; Wed, 1 Mar 2017 18:30:30 -0500 From: John Ferlan To: libvir-list@redhat.com Date: Wed, 1 Mar 2017 18:30:20 -0500 Message-Id: <20170301233026.27908-3-jferlan@redhat.com> In-Reply-To: <20170301233026.27908-1-jferlan@redhat.com> References: <20170301233026.27908-1-jferlan@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 2/8] qemu: Introduce qemuDomainSecretInfoTLSNew X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Building upon the qemuDomainSecretInfoNew, create a helper which will build the secret used for TLS. Signed-off-by: John Ferlan --- src/qemu/qemu_domain.c | 59 ++++++++++++++++++++++++++++++++++------------= ---- 1 file changed, 40 insertions(+), 19 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index f8ac0f4..f5c2961 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1158,6 +1158,40 @@ qemuDomainSecretInfoNew(virConnectPtr conn, } =20 =20 +/** + * qemuDomainSecretInfoTLSNew: + * @conn: Pointer to connection + * @priv: pointer to domain private object + * @srcAlias: Alias base to use for TLS object + * @secretUUID: Provide a secretUUID value to look up/create the secretInfo + * + * Using the passed @secretUUID, generate a seclookupdef that can be used + * to generate the returned qemuDomainSecretInfoPtr for a TLS based secret. + * + * Returns qemuDomainSecretInfoPtr or NULL on error. + */ +static qemuDomainSecretInfoPtr +qemuDomainSecretInfoTLSNew(virConnectPtr conn, + qemuDomainObjPrivatePtr priv, + const char *srcAlias, + const char *secretUUID) +{ + virSecretLookupTypeDef seclookupdef =3D {0}; + + if (virUUIDParse(secretUUID, seclookupdef.u.uuid) < 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("malformed TLS secret uuid '%s' provided"), + secretUUID); + return NULL; + } + seclookupdef.type =3D VIR_SECRET_LOOKUP_TYPE_UUID; + + return qemuDomainSecretInfoNew(conn, priv, srcAlias, + VIR_SECRET_USAGE_TYPE_TLS, NULL, + &seclookupdef, false); +} + + /* qemuDomainSecretDiskDestroy: * @disk: Pointer to a disk definition * @@ -1337,7 +1371,6 @@ qemuDomainSecretChardevPrepare(virConnectPtr conn, const char *chrAlias, virDomainChrSourceDefPtr dev) { - virSecretLookupTypeDef seclookupdef =3D {0}; char *charAlias =3D NULL; =20 if (dev->type !=3D VIR_DOMAIN_CHR_TYPE_TCP) @@ -1348,31 +1381,19 @@ qemuDomainSecretChardevPrepare(virConnectPtr conn, qemuDomainChrSourcePrivatePtr chrSourcePriv =3D QEMU_DOMAIN_CHR_SOURCE_PRIVATE(dev); =20 - if (virUUIDParse(cfg->chardevTLSx509secretUUID, - seclookupdef.u.uuid) < 0) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("malformed chardev TLS secret uuid in qemu.co= nf")); - return -1; - } - seclookupdef.type =3D VIR_SECRET_LOOKUP_TYPE_UUID; - if (!(charAlias =3D qemuAliasChardevFromDevAlias(chrAlias))) return -1; =20 - if (!(chrSourcePriv->secinfo =3D - qemuDomainSecretInfoNew(conn, priv, charAlias, - VIR_SECRET_USAGE_TYPE_TLS, NULL, - &seclookupdef, false))) - goto error; - + chrSourcePriv->secinfo =3D + qemuDomainSecretInfoTLSNew(conn, priv, charAlias, + cfg->chardevTLSx509secretUUID); VIR_FREE(charAlias); + + if (!chrSourcePriv->secinfo) + return -1; } =20 return 0; - - error: - VIR_FREE(charAlias); - return -1; } =20 =20 --=20 2.9.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list