From nobody Mon Sep 8 20:12:27 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1753197235; cv=none; d=zohomail.com; s=zohoarc; b=ijPqQ2fXbKIrgnNpl7kZ1TdUfiK6TjJQjjYeMST+snz1MZOXY8KhxjO9lnwmvt0jD1gFK1uE1PBIVdGDBSjXT2Y4zTsc73QKvdByJ8MrpsrgnHzfUTVeGA6bMGrIObtQaiywYhUgTP1AiOLdaZxcACA4tz7pvoyBbZIoEFYzGE4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753197235; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id; bh=jTHGuK2fvS1oOBayr2uuYigtQrODtwBF7Z3KRlUSwiU=; b=H6Kg5q3r3O+RLCMG1upAmw/GGfDyAcESavty4v9ImiEHtZDygsuJ9QP0aLc0XuWAagCJcEiCss2DjUDi7QFjI9UDqKWFKCF0Cl4EZB7uGAlOudpjdkQRcLrYj1898Q6CeSjXriXdmYanuHWHgza4NLLQbiwph8VmNef4OdL/35Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 175319723533135.68707696696708; Tue, 22 Jul 2025 08:13:55 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 66A9512C0; Tue, 22 Jul 2025 11:13:54 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 1FE72EA1; Tue, 22 Jul 2025 11:13:10 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id CE599DEE; Tue, 22 Jul 2025 11:13:05 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 4C298DCF for ; Tue, 22 Jul 2025 11:13:05 -0400 (EDT) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-300-87hR07q8MuGjhNncmOvIcw-1; Tue, 22 Jul 2025 11:13:03 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 42C5E1800291 for ; Tue, 22 Jul 2025 15:13:02 +0000 (UTC) Received: from kshcheti-thinkpadp1gen4i.tpbc.csb (unknown [10.43.2.246]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 4ED5C19560AD; Tue, 22 Jul 2025 15:13:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1753197185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=O4vIJHwsGlrtMYHl+uSQPuaBdIOlziXZbWx+ySmy96A=; b=OxOzsI8StmqvzY1iXaiUZUrtIOyS/SmI3hWCcU/IJdCJ6A2cnpHCPrNQM86HLupQ6qi7ab OLBxH8V+v+oY2jxA6G89Riz8kktYaasoxFr77nL1gZ2M+M+d1HPFAurLd5Mz4oPfNJQwpl vWrw1EWkRsPedA11kIPBHk2Qqc1GfoI= X-MC-Unique: 87hR07q8MuGjhNncmOvIcw-1 X-Mimecast-MFC-AGG-ID: 87hR07q8MuGjhNncmOvIcw_1753197182 To: devel@lists.libvirt.org Subject: [PATCH v2 1/4] conf: virNetDevVPortProfileParse refactor Date: Tue, 22 Jul 2025 17:12:02 +0200 Message-ID: <20250722151250.32533-2-kshcheti@redhat.com> In-Reply-To: <20250722151250.32533-1-kshcheti@redhat.com> References: <20250722151250.32533-1-kshcheti@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 6b1QGtKpiLKwpI_Q_Ea18S5TAX2WPB1DUU8PUT7RwLY_1753197182 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 24PB6PEFLQNHT7LER5XZQZZURIJKMZWP X-Message-ID-Hash: 24PB6PEFLQNHT7LER5XZQZZURIJKMZWP X-MailFrom: kshcheti@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Kirill Shchetiniuk X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Kirill Shchetiniuk via Devel Reply-To: Kirill Shchetiniuk X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753197237428116600 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Kirill Shchetiniuk Refactored the virNetDevVPortProfileParse function to use the appropriate virXMLProp* functions to parse input configuration XML. Signed-off-by: Kirill Shchetiniuk Reviewed-by: Michal Privoznik --- src/conf/netdev_vport_profile_conf.c | 112 +++++++++++---------------- 1 file changed, 44 insertions(+), 68 deletions(-) diff --git a/src/conf/netdev_vport_profile_conf.c b/src/conf/netdev_vport_p= rofile_conf.c index 032a3147d7..92819c2f34 100644 --- a/src/conf/netdev_vport_profile_conf.c +++ b/src/conf/netdev_vport_profile_conf.c @@ -29,12 +29,6 @@ virNetDevVPortProfile * virNetDevVPortProfileParse(xmlNodePtr node, unsigned int flags) { g_autofree char *virtPortType =3D NULL; - g_autofree char *virtPortManagerID =3D NULL; - g_autofree char *virtPortTypeID =3D NULL; - g_autofree char *virtPortTypeIDVersion =3D NULL; - g_autofree char *virtPortInstanceID =3D NULL; - g_autofree char *virtPortProfileID =3D NULL; - g_autofree char *virtPortInterfaceID =3D NULL; g_autofree virNetDevVPortProfile *virtPort =3D NULL; xmlNodePtr parameters; =20 @@ -55,88 +49,70 @@ virNetDevVPortProfileParse(xmlNodePtr node, unsigned in= t flags) } =20 if ((parameters =3D virXMLNodeGetSubelement(node, "parameters"))) { - virtPortManagerID =3D virXMLPropString(parameters, "managerid"); - virtPortTypeID =3D virXMLPropString(parameters, "typeid"); - virtPortTypeIDVersion =3D virXMLPropString(parameters, "typeidvers= ion"); - virtPortInstanceID =3D virXMLPropString(parameters, "instanceid"); - virtPortProfileID =3D virXMLPropString(parameters, "profileid"); - virtPortInterfaceID =3D virXMLPropString(parameters, "interfaceid"= ); - } - - if (virtPortManagerID) { + int rc; unsigned int val; + g_autofree char *virtPortProfileID =3D virXMLPropString(parameters= , "profileid"); =20 - if (virStrToLong_ui(virtPortManagerID, NULL, 0, &val)) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("cannot parse value of managerid parameter")); + if ((rc =3D virXMLPropUInt(parameters, "managerid", 10, VIR_XML_PR= OP_NONE, &val)) < 0) return NULL; + + if (rc > 0) { + if (val > 0xff) { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("value of managerid out of range")); + return NULL; + } + + virtPort->managerID =3D (uint8_t)val; + virtPort->managerID_specified =3D true; } - if (val > 0xff) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("value of managerid out of range")); + + if ((rc =3D virXMLPropUInt(parameters, "typeid", 10, VIR_XML_PROP_= NONE, &val)) < 0) return NULL; - } - virtPort->managerID =3D (uint8_t)val; - virtPort->managerID_specified =3D true; - } =20 - if (virtPortTypeID) { - unsigned int val; + if (rc > 0) { + if (val > 0xffffff) { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("value for typeid out of range")); + return NULL; + } =20 - if (virStrToLong_ui(virtPortTypeID, NULL, 0, &val)) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("cannot parse value of typeid parameter")); - return NULL; + virtPort->typeID =3D (uint32_t)val; + virtPort->typeID_specified =3D true; } - if (val > 0xffffff) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("value for typeid out of range")); + + if ((rc =3D virXMLPropUInt(parameters, "typeidversion", 10, VIR_XM= L_PROP_NONE, &val)) < 0) return NULL; - } - virtPort->typeID =3D (uint32_t)val; - virtPort->typeID_specified =3D true; - } =20 - if (virtPortTypeIDVersion) { - unsigned int val; + if (rc > 0) { + if (val > 0xff) { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("value of typeidversion out of range")); + return NULL; + } =20 - if (virStrToLong_ui(virtPortTypeIDVersion, NULL, 0, &val)) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("cannot parse value of typeidversion paramete= r")); - return NULL; + virtPort->typeIDVersion =3D (uint8_t)val; + virtPort->typeIDVersion_specified =3D true; } - if (val > 0xff) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("value of typeidversion out of range")); + + if ((rc =3D virXMLPropUUID(parameters, "instanceid", VIR_XML_PROP_= NONE, virtPort->instanceID)) < 0) return NULL; - } - virtPort->typeIDVersion =3D (uint8_t)val; - virtPort->typeIDVersion_specified =3D true; - } =20 - if (virtPortInstanceID) { - if (virUUIDParse(virtPortInstanceID, virtPort->instanceID) < 0) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("cannot parse instanceid parameter as a uuid"= )); + if (rc > 0) + virtPort->instanceID_specified =3D true; + + if ((rc =3D virXMLPropUUID(parameters, "interfaceid", VIR_XML_PROP= _NONE, virtPort->interfaceID)) < 0) return NULL; - } - virtPort->instanceID_specified =3D true; - } =20 - if (virtPortProfileID && - virStrcpyStatic(virtPort->profileID, virtPortProfileID) < 0) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("profileid parameter too long")); - return NULL; - } + if (rc > 0) + virtPort->interfaceID_specified =3D true; =20 - if (virtPortInterfaceID) { - if (virUUIDParse(virtPortInterfaceID, virtPort->interfaceID) < 0) { + if (virtPortProfileID && + virStrcpyStatic(virtPort->profileID, virtPortProfileID) < 0) { virReportError(VIR_ERR_XML_ERROR, "%s", - _("cannot parse interfaceid parameter as a uuid= ")); + _("profileid parameter too long")); return NULL; } - virtPort->interfaceID_specified =3D true; } =20 /* generate default instanceID/interfaceID if appropriate */ --=20 2.49.0 From nobody Mon Sep 8 20:12:27 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1753197255; cv=none; d=zohomail.com; s=zohoarc; b=IRFnzgBO3S6EeAFZXoFzWS0+Ag6tkjxRav8GmmXbCk6aoLZdRpyAvlr2kJG9J2GKV0h66AjD/9OkTA+zIkpeaVmLrZ5uCC7MTzLMykwpWbDbMQNcqUwEOa0xJhRZag60htc8cvVsc3zAI5QJNh1olE6Sq4jEhnRhJyDq8MjTuFw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753197255; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id; bh=pDWUzzbkpnUBgRW7R3RtRdraYyim12gbOXwDjZVBRXg=; b=AqoQk2HQ7fMh3tC0Kjcd7Exrtt2Ta6y+lh2FfdB63G5M4uAQJDz78ZjpFM9Dop0kGNEsZck7cBPCic1715rX3L7IQ25E/kIdosiHUnjk5zVaoTDoXa+Q9+ATrGN2mlkykK3UEbK9G4gLBRuBLV6XzZGFf/fLPWBjMm3ZPllP3L4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1753197255336799.1874125344652; Tue, 22 Jul 2025 08:14:15 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 574A11319; Tue, 22 Jul 2025 11:14:14 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 2E15B134E; Tue, 22 Jul 2025 11:13:12 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 3C858E90; Tue, 22 Jul 2025 11:13:07 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id B61E9DC6 for ; Tue, 22 Jul 2025 11:13:06 -0400 (EDT) Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-359-QYaQSm5tOem-W9ey-dAn0g-1; Tue, 22 Jul 2025 11:13:04 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id BB1CB1800165 for ; Tue, 22 Jul 2025 15:13:03 +0000 (UTC) Received: from kshcheti-thinkpadp1gen4i.tpbc.csb (unknown [10.43.2.246]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id A357819560AD; Tue, 22 Jul 2025 15:13:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1753197186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+bBFWahinX0dAcUNPtP/KmR1zyzG7ECtrkZelRy2D8w=; b=EtoXELjVPjmF6xR8lqF11QjMcfhYGUk5ZitD8tppT0FT+urEelJvJfpw3z4bHcll6f1PwS dec1CvveEb/1F76Z6gEetAW1e86c8+4pME+J+BHWMPWT5kBeEQPr0BeZw8VSSBF/ZSHGNM YAzNvY74AIzbLMk0dYHt6K1AGvZJGgk= X-MC-Unique: QYaQSm5tOem-W9ey-dAn0g-1 X-Mimecast-MFC-AGG-ID: QYaQSm5tOem-W9ey-dAn0g_1753197183 To: devel@lists.libvirt.org Subject: [PATCH v2 2/4] util: virSecretLookupParseSecret refactor Date: Tue, 22 Jul 2025 17:12:03 +0200 Message-ID: <20250722151250.32533-3-kshcheti@redhat.com> In-Reply-To: <20250722151250.32533-1-kshcheti@redhat.com> References: <20250722151250.32533-1-kshcheti@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: YSBIh47GBISr4T9U2LgfdIgBdZQcbrd6ujzrtF1SDk0_1753197183 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: WD7EFZOWZ2K7LBMKUX4G45H3EJZVWMWQ X-Message-ID-Hash: WD7EFZOWZ2K7LBMKUX4G45H3EJZVWMWQ X-MailFrom: kshcheti@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Kirill Shchetiniuk X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Kirill Shchetiniuk via Devel Reply-To: Kirill Shchetiniuk X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753197257636116600 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Kirill Shchetiniuk Refactored the virSecretLookupParseSecret fucntion to use the virXMLPropUUID fucntion, avoid getting the string and parsing it later. Previously two separate error states merged into one by using boolean NXOR operation. Signed-off-by: Kirill Shchetiniuk Reviewed-by: Michal Privoznik --- src/util/virsecret.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/util/virsecret.c b/src/util/virsecret.c index 8a220a37ec..d85a563949 100644 --- a/src/util/virsecret.c +++ b/src/util/virsecret.c @@ -64,34 +64,27 @@ int virSecretLookupParseSecret(xmlNodePtr secretnode, virSecretLookupTypeDef *def) { - g_autofree char *uuid =3D NULL; g_autofree char *usage =3D NULL; + int rc; =20 - uuid =3D virXMLPropString(secretnode, "uuid"); usage =3D virXMLPropString(secretnode, "usage"); - if (uuid =3D=3D NULL && usage =3D=3D NULL) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("missing secret uuid or usage attribute")); + + if ((rc =3D virXMLPropUUID(secretnode, "uuid", VIR_XML_PROP_NONE, def-= >u.uuid)) < 0) return -1; - } =20 - if (uuid && usage) { + if (!usage =3D=3D (rc =3D=3D 0)) { virReportError(VIR_ERR_XML_ERROR, "%s", _("either secret uuid or usage expected")); return -1; } =20 - if (uuid) { - if (virUUIDParse(uuid, def->u.uuid) < 0) { - virReportError(VIR_ERR_XML_ERROR, - _("invalid secret uuid '%1$s'"), uuid); - return -1; - } + if (rc > 0) { def->type =3D VIR_SECRET_LOOKUP_TYPE_UUID; } else { def->u.usage =3D g_steal_pointer(&usage); def->type =3D VIR_SECRET_LOOKUP_TYPE_USAGE; } + return 0; } =20 --=20 2.49.0 From nobody Mon Sep 8 20:12:27 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1753197280; cv=none; d=zohomail.com; s=zohoarc; b=hY209hl4oDKurNN52pWH3TR5zypU8dv+9JKAr6uaWo4MViPAXDzwK0kPYatv+UMyMdhIYhcV3z/smJ1rwo0i117XMTNiYt/K0pbP8WYfCn8mo6fAHHkSiXGuvbiPEGKd2vzupP/Q4o/PKFStl8N2zz2EnNuDizDbc/kOSIOcqyE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753197280; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id; bh=cvIWBDjs3PPPgc/4xLdnfBQDmkw7ucNdrxkO+Y+vZZM=; b=cQzY3vz/cXbR9TkkgfbMfE3VPh1hIR3E/RL/4lPoqnM/le8Ph9zO4cP68VS4pMFLcHtzZJ3TFonPAPEBZZES7M6LM7kPRuD/+8yz1zuyac5sQoR0w+NXxEsOpdoKHt66uF4mrDSTpVS6SSZEu8+Qvjw6QVx7URqQu2/6v3jbVTw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1753197280939894.0040401400099; Tue, 22 Jul 2025 08:14:40 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 0A837E69; Tue, 22 Jul 2025 11:14:39 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id B49B91280; Tue, 22 Jul 2025 11:13:19 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id D57351239; Tue, 22 Jul 2025 11:13:14 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 6653D1212 for ; Tue, 22 Jul 2025 11:13:08 -0400 (EDT) Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-357-BdPDMXeINXy1dXyeKwj50w-1; Tue, 22 Jul 2025 11:13:05 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id DED731956046 for ; Tue, 22 Jul 2025 15:13:04 +0000 (UTC) Received: from kshcheti-thinkpadp1gen4i.tpbc.csb (unknown [10.43.2.246]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 01AE419560AD; Tue, 22 Jul 2025 15:13:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1753197188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MHLkB21vipIP3W2+/ICpKiP3N/zLGxlRQegvUq+eXyU=; b=aMWExtaNbs8W2/omAhg2Kb3WHaS3D/K3oWgcNyKKc/hMPY0B4ooENVcYvup+02AcCmCFZx KnB+vHaKD0rnATjwaRvAIGnJx3x8c4NJBCR/goa+wsEeAqEgZsel33wq/vyS3zJpt7BYOF HE2bqWKYrVGvA++J9NSfWwFD9+CSrbE= X-MC-Unique: BdPDMXeINXy1dXyeKwj50w-1 X-Mimecast-MFC-AGG-ID: BdPDMXeINXy1dXyeKwj50w_1753197185 To: devel@lists.libvirt.org Subject: [PATCH v2 3/4] conf: virDomainChrDefParseTargetXML refactor Date: Tue, 22 Jul 2025 17:12:04 +0200 Message-ID: <20250722151250.32533-4-kshcheti@redhat.com> In-Reply-To: <20250722151250.32533-1-kshcheti@redhat.com> References: <20250722151250.32533-1-kshcheti@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: uqeB4OtTNJjjVS_2Tappdo43xlNYVS0k3-SvzNmAqUw_1753197185 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 4JPK45REILXCIW3VSOHM6IWQ4FXVQEPT X-Message-ID-Hash: 4JPK45REILXCIW3VSOHM6IWQ4FXVQEPT X-MailFrom: kshcheti@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Kirill Shchetiniuk X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Kirill Shchetiniuk via Devel Reply-To: Kirill Shchetiniuk X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753197281973116600 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Kirill Shchetiniuk Refactored the default case port option parsing logic to use the appropriate virXMLPropInt function. Signed-off-by: Kirill Shchetiniuk Reviewed-by: Michal Privoznik --- src/conf/domain_conf.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index ba0d4a7b12..49d041706e 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -10473,7 +10473,6 @@ virDomainChrDefParseTargetXML(virDomainChrDef *def, g_autofree char *targetType =3D virXMLPropString(cur, "type"); g_autofree char *targetModel =3D NULL; g_autofree char *addrStr =3D NULL; - g_autofree char *portStr =3D NULL; VIR_XPATH_NODE_AUTORESTORE(ctxt) =20 ctxt->node =3D cur; @@ -10544,20 +10543,9 @@ virDomainChrDefParseTargetXML(virDomainChrDef *def, break; =20 default: - portStr =3D virXMLPropString(cur, "port"); - if (portStr =3D=3D NULL) { - /* Set to negative value to indicate we should set it later */ - def->target.port =3D -1; - break; - } - - if (virStrToLong_ui(portStr, NULL, 10, &port) < 0) { - virReportError(VIR_ERR_XML_ERROR, - _("Invalid port number: %1$s"), - portStr); + /* Set default to negative value to indicate we should set it late= r */ + if (virXMLPropInt(cur, "port", 10, VIR_XML_PROP_NONNEGATIVE, &def-= >target.port, -1) < 0) return -1; - } - def->target.port =3D port; break; } =20 --=20 2.49.0 From nobody Mon Sep 8 20:12:27 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1753197299; cv=none; d=zohomail.com; s=zohoarc; b=arsj2cTkgo4hhLIzH5PvbhszaI3BzQstyNE/6Mp0IdBtsd/qYVNEn4UvOCGbTTQAAVxnjUF8x5PgsTdTQRR4r9cPo2sF8GcVzgTrVCX/SjGa/4cKrX3OZ0FgD3QyqYNzdRnrSNXGT9eSfAgRv5zRROgCfpSObBkRusaET7NpH8g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753197299; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id; bh=847pWn8njYz7I3r1eY8v7+3G/JK1k7EqB5Ngi7QXXSg=; b=MmEGyqTEAsFCJNO8tNwwMjCHKtVBJXhYa2+GuSQx2b+bWp8DEe0amj2fNeA1FGeFF6AMMaK3efhB7vZKBrqWNeevC4MjYp8yqcuFU7txP+fV11dph3oSjTtcpch7sK0XNn4+v6aJHOTNlELFYWHVTaiOF6JpvhS9oHXCkm4S6nE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1753197299081159.53984986523403; Tue, 22 Jul 2025 08:14:59 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 0FBEEEA0; Tue, 22 Jul 2025 11:14:58 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 8A6BB12EF; Tue, 22 Jul 2025 11:13:21 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id E70D413E1; Tue, 22 Jul 2025 11:13:16 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 3247AE8B for ; Tue, 22 Jul 2025 11:13:09 -0400 (EDT) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-158-qgkzxK5YOlqAOpb0DonTqw-1; Tue, 22 Jul 2025 11:13:07 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 45BF11800286 for ; Tue, 22 Jul 2025 15:13:06 +0000 (UTC) Received: from kshcheti-thinkpadp1gen4i.tpbc.csb (unknown [10.43.2.246]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 5CB5119560AD; Tue, 22 Jul 2025 15:13:05 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1753197188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lfetjuSHesP1aGSd6Oad5hQCi1XGN/ft9wL4dWFwQqs=; b=QQ46ZrmSdPigWjHXGJjXVTKs/UOtg1B+vC64Bjp9sfSechkEdgPBiOez7uj/kPXAj2BoJo +CXxTEFgO3UIpCkP833o5dHNJflfVIrJh9CgNEJcwiNHnvvECffYCmMiAqe2uw17LNZBUV 7jbLCJRKXWTsPOEc9ODqch1+qaxkIn0= X-MC-Unique: qgkzxK5YOlqAOpb0DonTqw-1 X-Mimecast-MFC-AGG-ID: qgkzxK5YOlqAOpb0DonTqw_1753197186 To: devel@lists.libvirt.org Subject: [PATCH v2 4/4] qemu: qemuDomainObjPrivateXMLParseVcpu refactor Date: Tue, 22 Jul 2025 17:12:05 +0200 Message-ID: <20250722151250.32533-5-kshcheti@redhat.com> In-Reply-To: <20250722151250.32533-1-kshcheti@redhat.com> References: <20250722151250.32533-1-kshcheti@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: wKVZoQFlxZsGqliBkJQXfyMXFmToK3HXwfeUJZ8BjYQ_1753197186 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: KJCLQ5X7C4WEH2J3AYHUP5PZR4W2IRZQ X-Message-ID-Hash: KJCLQ5X7C4WEH2J3AYHUP5PZR4W2IRZQ X-MailFrom: kshcheti@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Kirill Shchetiniuk X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Kirill Shchetiniuk via Devel Reply-To: Kirill Shchetiniuk X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1753197300039116600 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Kirill Shchetiniuk Refactored the qemuDomainObjPrivateXMLParseVcpu function to use the appropriate virXMLPropUInt function to parse unsigned integers, avoiding unccessery string parsing operations. Signed-off-by: Kirill Shchetiniuk Reviewed-by: Michal Privoznik --- src/qemu/qemu_domain.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 54eda9e12f..d580c31653 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -2812,28 +2812,18 @@ qemuDomainObjPrivateXMLParseVcpu(xmlNodePtr node, virDomainDef *def) { virDomainVcpuDef *vcpu; - g_autofree char *idstr =3D NULL; - g_autofree char *pidstr =3D NULL; unsigned int tmp; =20 - idstr =3D virXMLPropString(node, "id"); - - if (idstr && - (virStrToLong_uip(idstr, NULL, 10, &idx) < 0)) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("cannot parse vcpu index '%1$s'"), idstr); + if (virXMLPropUInt(node, "id", 10, VIR_XML_PROP_NONE, &idx) < 0) return -1; - } + if (!(vcpu =3D virDomainDefGetVcpu(def, idx))) { virReportError(VIR_ERR_INTERNAL_ERROR, _("invalid vcpu index '%1$u'"), idx); return -1; } =20 - if (!(pidstr =3D virXMLPropString(node, "pid"))) - return -1; - - if (virStrToLong_uip(pidstr, NULL, 10, &tmp) < 0) + if (virXMLPropUInt(node, "pid", 10, VIR_XML_PROP_REQUIRED, &tmp) < 0) return -1; =20 QEMU_DOMAIN_VCPU_PRIVATE(vcpu)->tid =3D tmp; --=20 2.49.0