From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872408; cv=none; d=zohomail.com; s=zohoarc; b=PwnFXimQBlw8SMzJ6Bl/t2jw+i8gG87Ggvtg9GnZ5c+M73Of62RpeeaaHjHPu+8+WNUCKp9poR3PKLRQ6YbzQpUPM7zUk8bJysm8ptBbWAk+XwdCuH3WO13enb2ruufGF8UArTWQnHKbp6N/otPruCNytCPFIpf1g64hMP2sam8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872408; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5Wmkejw3tQF/hHSiTV1EnbiHo26dw0jgnclTU/eCo40=; b=ZvsrNP27Iy750tsnmMVClguznygG40KYa1iyN9G6NQhYK3Zf9Xg4SuJPVSU1iV1hGmHBjOLLWJVI0Wmeg2ZxP0+d+nQlTeUmwUZm4lT151/iTltTLw8paNt16W7wxxJkfUetS6Q5BCKRNv99O5hSqANXJzvjtZpDTNxrLaC8Df8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872408207963.146422193033; Tue, 4 Oct 2022 01:33:28 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-204-WRjUv-DpN1-YmzYlnBrSIg-1; Tue, 04 Oct 2022 04:33:23 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2EC1280A0B9; Tue, 4 Oct 2022 08:33:22 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1914B2024CBB; Tue, 4 Oct 2022 08:33:22 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id D91FA19465A2; Tue, 4 Oct 2022 08:33:21 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 665291946588 for ; Tue, 4 Oct 2022 08:33:20 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 55F1140C6EC3; Tue, 4 Oct 2022 08:33:20 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9361440C6EC2 for ; Tue, 4 Oct 2022 08:33:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872407; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=5Wmkejw3tQF/hHSiTV1EnbiHo26dw0jgnclTU/eCo40=; b=JFEZUWLGkbftgMMpWbYya0SUOh2rjRmC2oDG1MXBSCXINvL+9o8jJYbur3sTNO9mhGH5nF oVzKZy08GmW0f3rmrxXSySZmZGor9rqNIQkUTYXFZX0T8h6cGCAvuEfkBDn+BT1lH0PWFJ Qm/mQkULOiemQiBzWfK2lz2UsZ4BJRI= X-MC-Unique: WRjUv-DpN1-YmzYlnBrSIg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 01/43] util: xml: Expose all arguments of virXMLParseHelper in virXMLParse macro Date: Tue, 4 Oct 2022 10:32:35 +0200 Message-Id: <469474dcdbae1d0d64681bbdd2a0e930027b87ca.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872409197100003 Content-Type: text/plain; charset="utf-8" The generic helper also has helper code to validate the root element and create an XPath context. Many places in the code duplicate code for doing these operations. Extend the helper to provide all arguments and fix all callers. In many cases this patch refactores the passing of the 'validate' field into a separate variable to avoid quirky looking arguments. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/backup_conf.c | 5 +++-- src/conf/checkpoint_conf.c | 2 +- src/conf/domain_conf.c | 6 ++++-- src/conf/interface_conf.c | 3 ++- src/conf/network_conf.c | 2 +- src/conf/node_device_conf.c | 3 ++- src/conf/nwfilter_conf.c | 5 +++-- src/conf/secret_conf.c | 5 +++-- src/conf/snapshot_conf.c | 5 +++-- src/conf/storage_conf.c | 6 ++++-- src/conf/virnetworkportdef.c | 4 ++-- src/conf/virnwfilterbindingdef.c | 4 ++-- src/conf/virnwfilterbindingobj.c | 3 ++- src/test/test_driver.c | 2 +- src/util/virxml.h | 8 ++++++-- src/vbox/vbox_snapshot_conf.c | 6 +++--- src/vz/vz_sdk.c | 3 ++- tests/qemuxml2argvtest.c | 3 ++- 18 files changed, 46 insertions(+), 29 deletions(-) diff --git a/src/conf/backup_conf.c b/src/conf/backup_conf.c index 0f2fba115d..7dfc8ee635 100644 --- a/src/conf/backup_conf.c +++ b/src/conf/backup_conf.c @@ -277,9 +277,10 @@ virDomainBackupDefParseString(const char *xmlStr, virDomainBackupDef *ret =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; int keepBlanksDefault =3D xmlKeepBlanksDefault(0); + bool validate =3D !(flags & VIR_DOMAIN_BACKUP_PARSE_INTERNAL); - if ((xml =3D virXMLParse(NULL, xmlStr, _("(domain_backup)"), "domainba= ckup.rng", - !(flags & VIR_DOMAIN_BACKUP_PARSE_INTERNAL)))) { + if ((xml =3D virXMLParse(NULL, xmlStr, _("(domain_backup)"), + NULL, NULL, "domainbackup.rng", validate))) { xmlKeepBlanksDefault(keepBlanksDefault); ret =3D virDomainBackupDefParseNode(xml, xmlDocGetRootElement(xml), xmlopt, flags); diff --git a/src/conf/checkpoint_conf.c b/src/conf/checkpoint_conf.c index 338cf10d12..0d2d2050da 100644 --- a/src/conf/checkpoint_conf.c +++ b/src/conf/checkpoint_conf.c @@ -212,7 +212,7 @@ virDomainCheckpointDefParseString(const char *xmlStr, g_autoptr(xmlDoc) xml =3D NULL; int keepBlanksDefault =3D xmlKeepBlanksDefault(0); - if ((xml =3D virXMLParse(NULL, xmlStr, _("(domain_checkpoint)"), + if ((xml =3D virXMLParse(NULL, xmlStr, _("(domain_checkpoint)"), NULL,= NULL, "domaincheckpoint.rng", true))) { xmlKeepBlanksDefault(keepBlanksDefault); ret =3D virDomainCheckpointDefParseNode(xml, xmlDocGetRootElement(= xml), diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index a609cc4f68..b3202c9f76 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -19083,8 +19083,10 @@ virDomainDefParse(const char *xmlStr, virDomainDef *def =3D NULL; int keepBlanksDefault =3D xmlKeepBlanksDefault(0); xmlNodePtr root; - if (!(xml =3D virXMLParse(filename, xmlStr, _("(domain_definition)"), = "domain.rng", - flags & VIR_DOMAIN_DEF_PARSE_VALIDATE_SCHEMA))) + bool validate =3D flags & VIR_DOMAIN_DEF_PARSE_VALIDATE_SCHEMA; + + if (!(xml =3D virXMLParse(filename, xmlStr, _("(domain_definition)"), + NULL, NULL, "domain.rng", validate))) goto cleanup; root =3D xmlDocGetRootElement(xml); diff --git a/src/conf/interface_conf.c b/src/conf/interface_conf.c index dc61b378b9..a3f6b6bed6 100644 --- a/src/conf/interface_conf.c +++ b/src/conf/interface_conf.c @@ -700,9 +700,10 @@ virInterfaceDefParse(const char *xmlStr, unsigned int flags) { g_autoptr(xmlDoc) xml =3D NULL; + bool validate =3D flags & VIR_INTERFACE_DEFINE_VALIDATE; xml =3D virXMLParse(filename, xmlStr, _("(interface_definition)"), - "interface.rng", flags & VIR_INTERFACE_DEFINE_VALIDA= TE); + NULL, NULL, "interface.rng", validate); if (!xml) return NULL; diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index b8450b75a9..b1d77a80c3 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -2036,7 +2036,7 @@ virNetworkDefParse(const char *xmlStr, int keepBlanksDefault =3D xmlKeepBlanksDefault(0); if ((xml =3D virXMLParse(filename, xmlStr, _("(network_definition)"), - "network.rng", validate))) + NULL, NULL, "network.rng", validate))) def =3D virNetworkDefParseNode(xml, xmlDocGetRootElement(xml), xml= opt); xmlKeepBlanksDefault(keepBlanksDefault); diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index d5bfc098b2..1db9a3240a 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -2508,7 +2508,8 @@ virNodeDeviceDefParse(const char *str, g_autoptr(xmlDoc) xml =3D NULL; g_autoptr(virNodeDeviceDef) def =3D NULL; - if (!(xml =3D virXMLParse(filename, str, _("(node_device_definition)")= , NULL, false)) || + if (!(xml =3D virXMLParse(filename, str, _("(node_device_definition)"), + NULL, NULL, NULL, false)) || !(def =3D virNodeDeviceDefParseNode(xml, xmlDocGetRootElement(xml), create, virt_type))) return NULL; diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index b5fd266457..44ea056823 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2713,9 +2713,10 @@ virNWFilterDefParse(const char *xmlStr, { virNWFilterDef *def =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; + bool validate =3D flags & VIR_NWFILTER_DEFINE_VALIDATE; - if ((xml =3D virXMLParse(filename, xmlStr, _("(nwfilter_definition)"),= "nwfilter.rng", - flags & VIR_NWFILTER_DEFINE_VALIDATE))) { + if ((xml =3D virXMLParse(filename, xmlStr, _("(nwfilter_definition)"), + NULL, NULL, "nwfilter.rng", validate))) { def =3D virNWFilterDefParseNode(xml, xmlDocGetRootElement(xml)); } diff --git a/src/conf/secret_conf.c b/src/conf/secret_conf.c index 011fdaa12b..02c2e38964 100644 --- a/src/conf/secret_conf.c +++ b/src/conf/secret_conf.c @@ -193,9 +193,10 @@ virSecretDefParse(const char *xmlStr, { g_autoptr(xmlDoc) xml =3D NULL; virSecretDef *ret =3D NULL; + bool validate =3D flags & VIR_SECRET_DEFINE_VALIDATE; - if ((xml =3D virXMLParse(filename, xmlStr, _("(definition_of_secret)")= , "secret.rng", - flags & VIR_SECRET_DEFINE_VALIDATE))) { + if ((xml =3D virXMLParse(filename, xmlStr, _("(definition_of_secret)"), + NULL, NULL, "secret.rng", validate))) { ret =3D secretXMLParseNode(xml, xmlDocGetRootElement(xml)); } diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c index ae635edd08..a5974053f4 100644 --- a/src/conf/snapshot_conf.c +++ b/src/conf/snapshot_conf.c @@ -421,9 +421,10 @@ virDomainSnapshotDefParseString(const char *xmlStr, virDomainSnapshotDef *ret =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; int keepBlanksDefault =3D xmlKeepBlanksDefault(0); + bool validate =3D flags & VIR_DOMAIN_SNAPSHOT_PARSE_VALIDATE; - if ((xml =3D virXMLParse(NULL, xmlStr, _("(domain_snapshot)"), "domain= snapshot.rng", - flags & VIR_DOMAIN_SNAPSHOT_PARSE_VALIDATE))) { + if ((xml =3D virXMLParse(NULL, xmlStr, _("(domain_snapshot)"), + NULL, NULL, "domainsnapshot.rng", validate))) { xmlKeepBlanksDefault(keepBlanksDefault); ret =3D virDomainSnapshotDefParseNode(xml, xmlDocGetRootElement(xm= l), xmlopt, parseOpaque, diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index 79f16aadf3..d7375a5160 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -1001,9 +1001,10 @@ virStoragePoolDefParse(const char *xmlStr, { virStoragePoolDef *ret =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; + bool validate =3D flags & VIR_STORAGE_POOL_DEFINE_VALIDATE; if ((xml =3D virXMLParse(filename, xmlStr, _("(storage_pool_definition= )"), - "storagepool.rng", flags & VIR_STORAGE_POOL_DEF= INE_VALIDATE))) { + NULL, NULL, "storagepool.rng", validate))) { ret =3D virStoragePoolDefParseNode(xml, xmlDocGetRootElement(xml)); } @@ -1470,7 +1471,8 @@ virStorageVolDefParse(virStoragePoolDef *pool, virStorageVolDef *ret =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; - if ((xml =3D virXMLParse(filename, xmlStr, _("(storage_volume_definiti= on)"), NULL, false))) { + if ((xml =3D virXMLParse(filename, xmlStr, _("(storage_volume_definiti= on)"), + NULL, NULL, NULL, false))) { ret =3D virStorageVolDefParseNode(pool, xml, xmlDocGetRootElement(= xml), flags); } diff --git a/src/conf/virnetworkportdef.c b/src/conf/virnetworkportdef.c index 39fa895fae..40cadc4ae8 100644 --- a/src/conf/virnetworkportdef.c +++ b/src/conf/virnetworkportdef.c @@ -279,10 +279,10 @@ virNetworkPortDefParse(const char *xmlStr, { virNetworkPortDef *def =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; + bool validate =3D flags & VIR_NETWORK_PORT_CREATE_VALIDATE; if ((xml =3D virXMLParse(filename, xmlStr, _("(networkport_definition)= "), - "networkport.rng", - flags & VIR_NETWORK_PORT_CREATE_VALIDATE))) { + NULL, NULL, "networkport.rng", validate))) { def =3D virNetworkPortDefParseNode(xml, xmlDocGetRootElement(xml)); } diff --git a/src/conf/virnwfilterbindingdef.c b/src/conf/virnwfilterbinding= def.c index cc50ba944a..e58bab3f08 100644 --- a/src/conf/virnwfilterbindingdef.c +++ b/src/conf/virnwfilterbindingdef.c @@ -182,10 +182,10 @@ virNWFilterBindingDefParse(const char *xmlStr, { virNWFilterBindingDef *def =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; + bool validate =3D flags & VIR_NWFILTER_BINDING_CREATE_VALIDATE; if ((xml =3D virXMLParse(filename, xmlStr, _("(nwfilterbinding_definit= ion)"), - "nwfilterbinding.rng", - flags & VIR_NWFILTER_BINDING_CREATE_VALIDATE)))= { + NULL, NULL, "nwfilterbinding.rng", validate))) { def =3D virNWFilterBindingDefParseNode(xml, xmlDocGetRootElement(x= ml)); } diff --git a/src/conf/virnwfilterbindingobj.c b/src/conf/virnwfilterbinding= obj.c index 47455c7e35..cc6009d1f2 100644 --- a/src/conf/virnwfilterbindingobj.c +++ b/src/conf/virnwfilterbindingobj.c @@ -257,7 +257,8 @@ virNWFilterBindingObjParse(const char *xmlStr, virNWFilterBindingObj *obj =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; - if ((xml =3D virXMLParse(filename, xmlStr, _("(nwfilterbinding_status)= "), NULL, false))) { + if ((xml =3D virXMLParse(filename, xmlStr, _("(nwfilterbinding_status)= "), + NULL, NULL, NULL, false))) { obj =3D virNWFilterBindingObjParseNode(xml, xmlDocGetRootElement(x= ml)); } diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 686ff051a8..1c10124564 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -851,7 +851,7 @@ testParseXMLDocFromFile(xmlNodePtr node, const char *fi= le, const char *type) if ((relFile =3D virXMLPropString(node, "file"))) { absFile =3D testBuildFilename(file, relFile); - if (!(doc =3D virXMLParse(absFile, NULL, type, NULL, false))) + if (!(doc =3D virXMLParse(absFile, NULL, type, NULL, NULL, NULL, f= alse))) return NULL; ret =3D xmlCopyNode(xmlDocGetRootElement(doc), 1); diff --git a/src/util/virxml.h b/src/util/virxml.h index af58d44835..a80e795f6b 100644 --- a/src/util/virxml.h +++ b/src/util/virxml.h @@ -204,13 +204,17 @@ virXMLPickShellSafeComment(const char *str1, * @filename: file to parse, or NULL for string parsing * @xmlStr: if @filename is NULL, a string to parse * @url: if @filename is NULL, an optional filename to attribute the parse= to + * @rootelement: if non-NULL, validate that the root element name equals t= o this parameter + * @ctxt: if non-NULL, filled with a new XPath context including populatin= g the root node + * @schemafile: name of the appropriate schema file for the parsed XML for= validation (may be NULL) + * @validate: if true and @schemafile is non-NULL, validate the XML agains= t @schemafile * * Parse xml from either a file or a string. * * Return the parsed document object, or NULL on failure. */ -#define virXMLParse(filename, xmlStr, url, schemafile, validate) \ - virXMLParseHelper(VIR_FROM_THIS, filename, xmlStr, url, NULL, NULL, sc= hemafile, validate) +#define virXMLParse(filename, xmlStr, url, rootelement, ctxt, schemafile, = validate) \ + virXMLParseHelper(VIR_FROM_THIS, filename, xmlStr, url, rootelement, c= txt, schemafile, validate) /** * virXMLParseString: diff --git a/src/vbox/vbox_snapshot_conf.c b/src/vbox/vbox_snapshot_conf.c index 90afac179e..6dce9cdf0f 100644 --- a/src/vbox/vbox_snapshot_conf.c +++ b/src/vbox/vbox_snapshot_conf.c @@ -584,7 +584,7 @@ virVBoxSnapshotConfLoadVboxFile(const char *filePath, machineDescription =3D g_new0(virVBoxSnapshotConfMachine, 1); - xml =3D virXMLParse(filePath, NULL, NULL, NULL, false); + xml =3D virXMLParse(filePath, NULL, NULL, NULL, NULL, NULL, false); if (xml =3D=3D NULL) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Unable to parse the xml")); @@ -1214,7 +1214,7 @@ virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(cons= t char *filePath, _("filePath is null")); goto cleanup; } - xml =3D virXMLParse(filePath, NULL, NULL, NULL, false); + xml =3D virXMLParse(filePath, NULL, NULL, NULL, NULL, NULL, false); if (xml =3D=3D NULL) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Unable to parse the xml")); @@ -1271,7 +1271,7 @@ virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(cons= t char *filePath, _("filePath is null")); goto cleanup; } - xml =3D virXMLParse(filePath, NULL, NULL, NULL, false); + xml =3D virXMLParse(filePath, NULL, NULL, NULL, NULL, NULL, false); if (xml =3D=3D NULL) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Unable to parse the xml")); diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c index ecf610d7db..8fb7a9948d 100644 --- a/src/vz/vz_sdk.c +++ b/src/vz/vz_sdk.c @@ -4581,7 +4581,8 @@ prlsdkParseSnapshotTree(const char *treexml) if (*treexml =3D=3D '\0') return snapshots; - if (!(xml =3D virXMLParse(NULL, treexml, _("(snapshot_tree)"), NULL, f= alse))) + if (!(xml =3D virXMLParse(NULL, treexml, _("(snapshot_tree)"), + NULL, NULL, NULL, false))) goto cleanup; root =3D xmlDocGetRootElement(xml); diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index c8b69bbd7a..89bed6a46e 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -672,7 +672,8 @@ testCompareXMLToArgv(const void *data) if (testCheckExclusiveFlags(info->flags) < 0) goto cleanup; - if (!(xml =3D virXMLParse(info->infile, NULL, "(domain_definition)", N= ULL, false))) + if (!(xml =3D virXMLParse(info->infile, NULL, "(domain_definition)", + NULL, NULL, NULL, false))) goto cleanup; root =3D xmlDocGetRootElement(xml); --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872626; cv=none; d=zohomail.com; s=zohoarc; b=iB3d586FGiyUW45alpNx0hMyfru+f7KjindDDCFI2fSuE23mPPeUSxYNEJJnQ5Y7bWbb7cR5Z3VP9P+WuAsHOP7v5RrTqrOXPRYWYaoWLx0VdReA90lp2wPPfEmLZQlCNbIelWRPF4V/8hFarqxwT116dFalwjse2uI4AMWT+qk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872626; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FwfkMUk4ql2u/PebjxYvFyllzyKR5vMZspMot5SkGOI=; b=SuZbgRFJt9KpDjhlOC1lRJwv/fUsYuyT3gdxk93tci/AV8v9Cx1zE0CImUShZxNGDEIj7X0n6C+6G+S/Z5Y6SqJY+ikt3yEp5IVRVqxQImZZ29FlTCZ3GHotXd7HqLlN6sltg3SPsTHThUgtCbhJL2xYTkrYonhUMaRGJ4RntrI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872626391129.3098310123031; Tue, 4 Oct 2022 01:37:06 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-611-nf4ap9_xPM2bmdkp-2Bn1g-1; Tue, 04 Oct 2022 04:33:25 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id BEEFE1C07576; Tue, 4 Oct 2022 08:33:22 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 98488440EE; Tue, 4 Oct 2022 08:33:22 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 2FEC41947040; Tue, 4 Oct 2022 08:33:22 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 513C11946A70 for ; Tue, 4 Oct 2022 08:33:21 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 4332640C6EC3; Tue, 4 Oct 2022 08:33:21 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id B56B740C6EC2 for ; Tue, 4 Oct 2022 08:33:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872625; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=FwfkMUk4ql2u/PebjxYvFyllzyKR5vMZspMot5SkGOI=; b=aXdaRK4jM9yRbpbRohqB6sUBNrCX2NE3EazQ49jPoF2HpzpoR0hyN3HnJip2dvRKZ+v6Y0 9wA2qwqexU26fLJocrXu5iNJdonQOfSbiAYaOQ8PH1NveBZcz19tll6ftTZJISrKfeyZuu X82F1xNExpC5oFTnQy4X1bBQKpdDzc0= X-MC-Unique: nf4ap9_xPM2bmdkp-2Bn1g-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 02/43] conf: nwfilderbindigobj: Register automatic cleanup for virNWFilterBindingObj Date: Tue, 4 Oct 2022 10:32:36 +0200 Message-Id: <996b2f35217e983a083920d5236a94daef17eccc.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872628146100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/virnwfilterbindingobj.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/conf/virnwfilterbindingobj.h b/src/conf/virnwfilterbinding= obj.h index 93f693936e..17f855bda1 100644 --- a/src/conf/virnwfilterbindingobj.h +++ b/src/conf/virnwfilterbindingobj.h @@ -26,6 +26,7 @@ #include "virobject.h" typedef struct _virNWFilterBindingObj virNWFilterBindingObj; +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virNWFilterBindingObj, virObjectUnref); virNWFilterBindingObj * virNWFilterBindingObjNew(void); --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872417; cv=none; d=zohomail.com; s=zohoarc; b=V6CB3Y/XWBTR2iKxzomuYt2fKMCAJmJu9oVzjS0j+hTSKT38+l5OXozKowleko8kqZqfnTmQa4Y8tU989ZKiqR8xKCRkpjdw0OdCuICG42yoDAgSV+HEACm1B/Dc+DSgOxeTwo0q+prsF9F2vYbRpfgK3/lYN9J7Nfsj+U+7PxI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872417; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zlzeo5kKsxOugpGku4+H2VrkQiTj/4Q4m9aru4a2EaU=; b=ao/pQ3ev1ZJMHUw6qkwBAd3kD/m9oHosm6ilRbTZucCxT3tTZyRiMtlXaKRQumjv8pDwCYdrUO3xhOo1FJ8OAl/2hlKjycit6jE+V/utCeHf72FLTn9429RPF+LDHBKDH1B6YYzQeeyHAo/2d0j+y6T9vhAj6VBlpNgD5emYh/Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872417222310.8933730847606; Tue, 4 Oct 2022 01:33:37 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-444-FX0AKIVyPBelkJAXa54xkA-1; Tue, 04 Oct 2022 04:33:25 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3C5573803931; Tue, 4 Oct 2022 08:33:23 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1F85BC15BBD; Tue, 4 Oct 2022 08:33:23 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 9160C1946A71; Tue, 4 Oct 2022 08:33:22 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 3F5B01947048 for ; Tue, 4 Oct 2022 08:33:22 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 30F0440C6EC3; Tue, 4 Oct 2022 08:33:22 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id A1B2D40C6EC2 for ; Tue, 4 Oct 2022 08:33:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872416; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=zlzeo5kKsxOugpGku4+H2VrkQiTj/4Q4m9aru4a2EaU=; b=WRlB9HT/bL9BJ/0eX/Rv6+Gg633x6qtOcLFOkmDeehdGVX3lkjMTWYU1+cM/ssipBO7vh8 O1w717b5zlgnFr6NaRuoci5PwY3VU4T8msfP5i3j+CTu3SX7y1T62bVfsdn2A7hIc+esGP GIXK3OqrV/lUEpcrkwLZ8T2Fj7lb8No= X-MC-Unique: FX0AKIVyPBelkJAXa54xkA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 03/43] virNWFilterBindingObjParse: Refactor XML parsing code Date: Tue, 4 Oct 2022 10:32:37 +0200 Message-Id: <86b6083bfec5a1384cc25fa1f84114e2f21a3800.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872419172100001 Content-Type: text/plain; charset="utf-8" Remove the redundant root node checking and XPath context creation by using virXMLParse properly. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/virnwfilterbindingobj.c | 65 +++++----------------------- src/conf/virnwfilterbindingobj.h | 2 +- src/conf/virnwfilterbindingobjlist.c | 2 +- src/libvirt_private.syms | 2 +- 4 files changed, 14 insertions(+), 57 deletions(-) diff --git a/src/conf/virnwfilterbindingobj.c b/src/conf/virnwfilterbinding= obj.c index cc6009d1f2..5ff53f7380 100644 --- a/src/conf/virnwfilterbindingobj.c +++ b/src/conf/virnwfilterbindingobj.c @@ -202,74 +202,31 @@ virNWFilterBindingObjDelete(const virNWFilterBindingO= bj *obj, } -static virNWFilterBindingObj * -virNWFilterBindingObjParseXML(xmlDocPtr doc, - xmlXPathContextPtr ctxt) +virNWFilterBindingObj * +virNWFilterBindingObjParse(const char *filename) { - virNWFilterBindingObj *ret; + g_autoptr(virNWFilterBindingObj) ret =3D NULL; + g_autoptr(xmlDoc) xml =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; xmlNodePtr node; + if (!(xml =3D virXMLParse(filename, NULL, _("(nwfilterbinding_status)"= ), + "filterbindingstatus", &ctxt, NULL, false))) + return NULL; + if (!(ret =3D virNWFilterBindingObjNew())) return NULL; if (!(node =3D virXPathNode("./filterbinding", ctxt))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("filter binding status missing content")); - goto cleanup; - } - - if (!(ret->def =3D virNWFilterBindingDefParseNode(doc, node))) - goto cleanup; - - return ret; - - cleanup: - virObjectUnref(ret); - return NULL; -} - - -static virNWFilterBindingObj * -virNWFilterBindingObjParseNode(xmlDocPtr doc, - xmlNodePtr root) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (STRNEQ((const char *)root->name, "filterbindingstatus")) { - virReportError(VIR_ERR_XML_ERROR, - _("unknown root element '%s' for filter binding"), - root->name); return NULL; } - if (!(ctxt =3D virXMLXPathContextNew(doc))) + if (!(ret->def =3D virNWFilterBindingDefParseNode(xml, node))) return NULL; - ctxt->node =3D root; - return virNWFilterBindingObjParseXML(doc, ctxt); -} - - -static virNWFilterBindingObj * -virNWFilterBindingObjParse(const char *xmlStr, - const char *filename) -{ - virNWFilterBindingObj *obj =3D NULL; - g_autoptr(xmlDoc) xml =3D NULL; - - if ((xml =3D virXMLParse(filename, xmlStr, _("(nwfilterbinding_status)= "), - NULL, NULL, NULL, false))) { - obj =3D virNWFilterBindingObjParseNode(xml, xmlDocGetRootElement(x= ml)); - } - - return obj; -} - - -virNWFilterBindingObj * -virNWFilterBindingObjParseFile(const char *filename) -{ - return virNWFilterBindingObjParse(NULL, filename); + return g_steal_pointer(&ret); } diff --git a/src/conf/virnwfilterbindingobj.h b/src/conf/virnwfilterbinding= obj.h index 17f855bda1..33aa575436 100644 --- a/src/conf/virnwfilterbindingobj.h +++ b/src/conf/virnwfilterbindingobj.h @@ -64,7 +64,7 @@ virNWFilterBindingObjDelete(const virNWFilterBindingObj *= obj, const char *statusDir); virNWFilterBindingObj * -virNWFilterBindingObjParseFile(const char *filename); +virNWFilterBindingObjParse(const char *filename); char * virNWFilterBindingObjFormat(const virNWFilterBindingObj *obj); diff --git a/src/conf/virnwfilterbindingobjlist.c b/src/conf/virnwfilterbin= dingobjlist.c index 9a46fa06b9..a349f5c195 100644 --- a/src/conf/virnwfilterbindingobjlist.c +++ b/src/conf/virnwfilterbindingobjlist.c @@ -266,7 +266,7 @@ virNWFilterBindingObjListLoadStatus(virNWFilterBindingO= bjList *bindings, if ((statusFile =3D virNWFilterBindingObjConfigFile(statusDir, name)) = =3D=3D NULL) goto error; - if (!(obj =3D virNWFilterBindingObjParseFile(statusFile))) + if (!(obj =3D virNWFilterBindingObjParse(statusFile))) goto error; def =3D virNWFilterBindingObjGetDef(obj); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 5be40dbefe..11862bb1a9 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1377,7 +1377,7 @@ virNWFilterBindingObjFormat; virNWFilterBindingObjGetDef; virNWFilterBindingObjGetRemoving; virNWFilterBindingObjNew; -virNWFilterBindingObjParseFile; +virNWFilterBindingObjParse; virNWFilterBindingObjSave; virNWFilterBindingObjSetDef; virNWFilterBindingObjSetRemoving; --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872409; cv=none; d=zohomail.com; s=zohoarc; b=aDJ5JBhqKYn77DHB2ge+r5+avkl/QnU/WfSIQvYLqffqJR4P2iDcbxcQhz9HhfRNbGStc8D4n7PHhEYVUMRFWlB6HMPRsyevV0xIrXm2P5bQ2zCPo9stMW0UDEmHyQJg96ccBjcbiQvORqFhaUhulOICUaUdMCoOkynqSdLSNns= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872409; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=J6vA9DjXo5DQx1ZiBy+Z5NTrMas9q8u9r7AxcOxWuZo=; b=H4vsb1A81abx8c1qELAU73ry4l2qMjLh9kiWuPBHGDdayU/hd+iQBvGu7HJGAFke5GBX+Xm5wrMROgAIVKP5errylws+sdZR3KyIL948sfnrLgAf2wSMwnZFDrcenfaBokaqBS4p2S5Y1QmVCKHMTpw07O1PhrI8YJ/VM/M0idU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 166487240938443.21486323609349; Tue, 4 Oct 2022 01:33:29 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-225-52u-JoLRN7ep6s0IUB7HOA-1; Tue, 04 Oct 2022 04:33:27 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7323F101A528; Tue, 4 Oct 2022 08:33:24 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 61275C15BA4; Tue, 4 Oct 2022 08:33:24 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 45313194658F; Tue, 4 Oct 2022 08:33:24 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 369F51946588 for ; Tue, 4 Oct 2022 08:33:23 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 1998E40C6EC3; Tue, 4 Oct 2022 08:33:23 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 889F840C6EC2 for ; Tue, 4 Oct 2022 08:33:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872408; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=J6vA9DjXo5DQx1ZiBy+Z5NTrMas9q8u9r7AxcOxWuZo=; b=Ri3T1qfifAUKUi6zVL7pRaTAcvpupTfs/9Q8oKmirpoYHz7KiAyyVRj9jYqeo6aoSRi4VT ullz6R3hop5LNSt9F1a15mD5m7gD4yeK9PAvWo/j4QAFh9zWaUaRAVk++JwqamW1V6B5P+ szOZdeY68wrOw0BrCUm+B+Qe+25jBwk= X-MC-Unique: 52u-JoLRN7ep6s0IUB7HOA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 04/43] vbox: snapshot_conf: Don't allocate XPath context explicitly Date: Tue, 4 Oct 2022 10:32:38 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872411171100005 Content-Type: text/plain; charset="utf-8" Use the one provided via virXMLParse. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/vbox/vbox_snapshot_conf.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/src/vbox/vbox_snapshot_conf.c b/src/vbox/vbox_snapshot_conf.c index 6dce9cdf0f..e175f1964e 100644 --- a/src/vbox/vbox_snapshot_conf.c +++ b/src/vbox/vbox_snapshot_conf.c @@ -584,15 +584,12 @@ virVBoxSnapshotConfLoadVboxFile(const char *filePath, machineDescription =3D g_new0(virVBoxSnapshotConfMachine, 1); - xml =3D virXMLParse(filePath, NULL, NULL, NULL, NULL, NULL, false); + xml =3D virXMLParse(filePath, NULL, NULL, NULL, &xPathContext, NULL, f= alse); if (xml =3D=3D NULL) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Unable to parse the xml")); goto cleanup; } - if (!(xPathContext =3D virXMLXPathContextNew(xml))) - goto cleanup; - if (xmlXPathRegisterNs(xPathContext, BAD_CAST "vbox", BAD_CAST VBOX_SETTINGS_NS) < 0) { @@ -603,8 +600,6 @@ virVBoxSnapshotConfLoadVboxFile(const char *filePath, } /* Retrieve MachineNode */ - cur =3D xmlDocGetRootElement(xml); - xPathContext->node =3D cur; machineNode =3D virXPathNode("./vbox:Machine", xPathContext); if (machineNode =3D=3D NULL) { virReportError(VIR_ERR_XML_ERROR, "%s", @@ -1214,17 +1209,13 @@ virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(co= nst char *filePath, _("filePath is null")); goto cleanup; } - xml =3D virXMLParse(filePath, NULL, NULL, NULL, NULL, NULL, false); + xml =3D virXMLParse(filePath, NULL, NULL, NULL, &xPathContext, NULL, f= alse); if (xml =3D=3D NULL) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Unable to parse the xml")); goto cleanup; } - if (!(xPathContext =3D virXMLXPathContextNew(xml))) - goto cleanup; - - xPathContext->node =3D xmlDocGetRootElement(xml); if ((nodeSize =3D virXPathNodeSet("/domainsnapshot/disks/disk", xPathContext, &nodes)) < 0) goto cleanup; @@ -1271,17 +1262,13 @@ virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(co= nst char *filePath, _("filePath is null")); goto cleanup; } - xml =3D virXMLParse(filePath, NULL, NULL, NULL, NULL, NULL, false); + xml =3D virXMLParse(filePath, NULL, NULL, NULL, &xPathContext, NULL, f= alse); if (xml =3D=3D NULL) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Unable to parse the xml")); goto cleanup; } - if (!(xPathContext =3D virXMLXPathContextNew(xml))) - goto cleanup; - - xPathContext->node =3D xmlDocGetRootElement(xml); if ((nodeSize =3D virXPathNodeSet("/domainsnapshot/domain/devices/disk= ", xPathContext, &nodes)) < 0) --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872412; cv=none; d=zohomail.com; s=zohoarc; b=OjsK6MyXOjQ15KRH1+qWOIRuvwuZ6vuIWEkNFp4PeeQNnhowMFcImFyLYMr9Ebf0aBNYLvyaUsm70Yr1Omtk/mMNAoaRZ4VjIkLiMVi23bTUnLbRPt1QUDx5XkG+mQFVwqCPJr4wWqAK80kUwAOifhr7uN7y+pDuwQdcB2NQ64s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872412; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Gv+9LeLANq7p89o+d+ysU4obQJRlR0Ce5KWgEEOWRpU=; b=nllzA5uPfrI/J9zWBaWudpyfIh8tK7IXYbl9X9THieXZC8ngo2b/bd1QkbhVSRlfMB37XVWDzTSAF9n/AiMg4IDpua65WgKnj3jSPhNmZNHJJd72mQSq0Pq+/k9AVPdjNSYLYl4K5lYB7JGVAGK5hKseYE1Hle/Eo6EETGeazO0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872412511250.58227406204674; Tue, 4 Oct 2022 01:33:32 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-128-Pc0WLqV1NGyJJ7QXgkBPZQ-1; Tue, 04 Oct 2022 04:33:27 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4F76B88282C; Tue, 4 Oct 2022 08:33:25 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3DC0F1121315; Tue, 4 Oct 2022 08:33:25 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 0886D19465A2; Tue, 4 Oct 2022 08:33:25 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 1BB721946588 for ; Tue, 4 Oct 2022 08:33:24 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 0CF9640C6EC3; Tue, 4 Oct 2022 08:33:24 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6FABA40C6EC2 for ; Tue, 4 Oct 2022 08:33:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872411; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Gv+9LeLANq7p89o+d+ysU4obQJRlR0Ce5KWgEEOWRpU=; b=glmvzIFcfd6C1zl+ZhjCd8z7GQiAu9ald761Bz0qU1TIKK4ff1beYAGeN4L2MVH/RlSwvP Nu6uLChNdorQnMCNtXBAQwBag4T2FJgohLaJVYJxUGJHKccIaySRhBjnCFHxUiHw3BL9Pc sXS9TC09gh4x7KHs1cx0WgvYUQbtOM8= X-MC-Unique: Pc0WLqV1NGyJJ7QXgkBPZQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 05/43] virVBoxSnapshotConfGet(RW|RO)DisksPathsFromLibvirtXML: Refactor Date: Tue, 4 Oct 2022 10:32:39 +0200 Message-Id: <526d9a35e3a44be59bc40126d247767033761676.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872413160100008 Content-Type: text/plain; charset="utf-8" virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML and virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML were doing the same thing, except for one XPath query. Factor out the common code into a helper and bring it up to modern standard. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/vbox/vbox_snapshot_conf.c | 116 +++++++++++----------------------- 1 file changed, 36 insertions(+), 80 deletions(-) diff --git a/src/vbox/vbox_snapshot_conf.c b/src/vbox/vbox_snapshot_conf.c index e175f1964e..2f3f48d688 100644 --- a/src/vbox/vbox_snapshot_conf.c +++ b/src/vbox/vbox_snapshot_conf.c @@ -1187,60 +1187,55 @@ virVBoxSnapshotConfIsCurrentSnapshot(virVBoxSnapsho= tConfMachine *machine, return STREQ(snapshot->uuid, machine->currentSnapshot); } -/* - *getRWDisksPathsFromLibvirtXML: Parse a libvirt XML snapshot file, alloca= tes and - *fills a list of read-write disk paths. - *return array length on success, -1 on failure. - */ -int -virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(const char *filePath, - char ***rwDisksPath) +static int +virVBoxSnapshotConfGetDisksPathsFromLibvirtXML(const char *filePath, + char ***disksPath, + const char *xpath) { - int result =3D -1; size_t i =3D 0; - g_auto(GStrv) ret =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; g_autoptr(xmlXPathContext) xPathContext =3D NULL; - xmlNodePtr *nodes =3D NULL; + g_autofree xmlNodePtr *nodes =3D NULL; int nodeSize =3D 0; - *rwDisksPath =3D NULL; + + *disksPath =3D NULL; + if (filePath =3D=3D NULL) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("filePath is null")); - goto cleanup; - } - xml =3D virXMLParse(filePath, NULL, NULL, NULL, &xPathContext, NULL, f= alse); - if (xml =3D=3D NULL) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("Unable to parse the xml")); - goto cleanup; + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("filePath is null")= ); + return -1; } - if ((nodeSize =3D virXPathNodeSet("/domainsnapshot/disks/disk", - xPathContext, &nodes)) < 0) - goto cleanup; + if (!(xml =3D virXMLParse(filePath, NULL, NULL, NULL, &xPathContext, N= ULL, false))) + return -1; + + if ((nodeSize =3D virXPathNodeSet(xpath, xPathContext, &nodes)) < 0) + return -1; - ret =3D g_new0(char *, nodeSize); + *disksPath =3D g_new0(char *, nodeSize); for (i =3D 0; i < nodeSize; i++) { - xmlNodePtr node =3D nodes[i]; - xmlNodePtr sourceNode; - - xPathContext->node =3D node; - sourceNode =3D virXPathNode("./source", xPathContext); - if (sourceNode) - ret[i] =3D virXMLPropString(sourceNode, "file"); + xPathContext->node =3D nodes[i]; + (*disksPath)[i] =3D virXPathString("string(./source/@file)", xPath= Context); } - *rwDisksPath =3D g_steal_pointer(&ret); - result =3D 0; - cleanup: - if (result < 0) - nodeSize =3D -1; - VIR_FREE(nodes); return nodeSize; } + +/* + *getRWDisksPathsFromLibvirtXML: Parse a libvirt XML snapshot file, alloca= tes and + *fills a list of read-write disk paths. + *return array length on success, -1 on failure. + */ +int +virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(const char *filePath, + char ***rwDisksPath) +{ + return virVBoxSnapshotConfGetDisksPathsFromLibvirtXML(filePath, rwDisk= sPath, + "/domainsnapshot= /disks/disk"); +} + + /* *getRODisksPathsFromLibvirtXML: *Parse a libvirt XML snapshot file, alloc= ates and fills *a list of read-only disk paths (the parents of the read-write disks). @@ -1250,50 +1245,11 @@ int virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(const char *filePath, char ***roDisksPath) { - int result =3D -1; - size_t i =3D 0; - g_auto(GStrv) ret =3D NULL; - g_autoptr(xmlDoc) xml =3D NULL; - g_autoptr(xmlXPathContext) xPathContext =3D NULL; - xmlNodePtr *nodes =3D NULL; - int nodeSize =3D 0; - if (filePath =3D=3D NULL) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("filePath is null")); - goto cleanup; - } - xml =3D virXMLParse(filePath, NULL, NULL, NULL, &xPathContext, NULL, f= alse); - if (xml =3D=3D NULL) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("Unable to parse the xml")); - goto cleanup; - } - - if ((nodeSize =3D virXPathNodeSet("/domainsnapshot/domain/devices/disk= ", - xPathContext, - &nodes)) < 0) - goto cleanup; - ret =3D g_new0(char *, nodeSize); - - for (i =3D 0; i < nodeSize; i++) { - xmlNodePtr node =3D nodes[i]; - xmlNodePtr sourceNode; - - xPathContext->node =3D node; - sourceNode =3D virXPathNode("./source", xPathContext); - if (sourceNode) - ret[i] =3D virXMLPropString(sourceNode, "file"); - } - *roDisksPath =3D g_steal_pointer(&ret); - result =3D 0; - - cleanup: - if (result < 0) - nodeSize =3D -1; - VIR_FREE(nodes); - return nodeSize; + return virVBoxSnapshotConfGetDisksPathsFromLibvirtXML(filePath, roDisk= sPath, + "/domainsnapshot= /domain/devices/disk"); } + /* *hardDiskUuidByLocation: Return the uuid of the hard disk whose location = is 'location' *return a valid uuid, or NULL on failure --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872411; cv=none; d=zohomail.com; s=zohoarc; b=h0zISHySI+Fq/fAh4jkmp5gz/REGCt0ta94Ub2K1EHr6+XcBZ7AkcgmdkVf4z3IK2eRHbbaj8E9uaLureQjuRNiUTRoMKkkKTJlhuFAaTftwV8GuQPLaoQD6/GDUjTvaRlNdTWnZBur1GfVlLddcKXtgfxhklinb5jp8GuLiYuE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872411; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=q906ic1bOHS0j7xwXQALhNM+ZHd647jLJHU6vPV3PiU=; b=QFS2qh8TTemuHr0kwv/qCVBeSqHvZyo/YcpTCgC88Ck77+Sqkd2yr8LWxuGnOfAG7gFmA6zHfNUWpi9bZBgCWilwRbklbeEk5nIxQeOlhxhBSNbBygiQIi+dh6lM6aMq95RmtmTbIn+uOXnNtTlyvoSGI8LQEFkpdoga7dkvcd0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872411725757.6540392556652; Tue, 4 Oct 2022 01:33:31 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-594-VN61oWzXNE-9saKSpP5qTQ-1; Tue, 04 Oct 2022 04:33:27 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B6F5A86C04C; Tue, 4 Oct 2022 08:33:25 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id A2FBE140EBF3; Tue, 4 Oct 2022 08:33:25 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 928A2194658F; Tue, 4 Oct 2022 08:33:25 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id F3DEE1946588 for ; Tue, 4 Oct 2022 08:33:24 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id E485C40C6EC4; Tue, 4 Oct 2022 08:33:24 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5FF1640C6EC2 for ; Tue, 4 Oct 2022 08:33:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872410; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=q906ic1bOHS0j7xwXQALhNM+ZHd647jLJHU6vPV3PiU=; b=I1eiXFx5jB1S6ShYuV4d9fJJPgnxhmovf+8RInmhbkuwSF4qlDHBc4fget/q1x6XbfRFym 2XA0m+o8tl8wJXaC0Ks2dVxTmhGfUiHLf5dIG84r64DW/QYxthGn0pU2Rbesr+10Uda5JQ x29WJ03+tM+kwmAsLjquxl2ZVJUDlIc= X-MC-Unique: VN61oWzXNE-9saKSpP5qTQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 06/43] virNWFilterBindingDefParse: Properly use virXMLParse Date: Tue, 4 Oct 2022 10:32:40 +0200 Message-Id: <4db569a0b191e3a672aae6cce9fcf2ffba1841e7.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872413142100007 Content-Type: text/plain; charset="utf-8" Fetch the XPath context and validate the node by using virXMLParse's features. This allows to completely remove virNWFilterBindingDefParseNode as all callers now properly validate the root element name and have a XPath context handy. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/virnwfilterbindingdef.c | 34 ++++++-------------------------- src/conf/virnwfilterbindingdef.h | 3 +-- src/conf/virnwfilterbindingobj.c | 4 +++- src/libvirt_private.syms | 2 +- 4 files changed, 11 insertions(+), 32 deletions(-) diff --git a/src/conf/virnwfilterbindingdef.c b/src/conf/virnwfilterbinding= def.c index e58bab3f08..524010c4c4 100644 --- a/src/conf/virnwfilterbindingdef.c +++ b/src/conf/virnwfilterbindingdef.c @@ -71,7 +71,7 @@ virNWFilterBindingDefCopy(virNWFilterBindingDef *src) } -static virNWFilterBindingDef * +virNWFilterBindingDef * virNWFilterBindingDefParseXML(xmlXPathContextPtr ctxt) { virNWFilterBindingDef *ret; @@ -154,42 +154,20 @@ virNWFilterBindingDefParseXML(xmlXPathContextPtr ctxt) } -virNWFilterBindingDef * -virNWFilterBindingDefParseNode(xmlDocPtr xml, - xmlNodePtr root) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (STRNEQ((const char *)root->name, "filterbinding")) { - virReportError(VIR_ERR_XML_ERROR, - "%s", - _("unknown root element for nwfilter binding")); - return NULL; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - return virNWFilterBindingDefParseXML(ctxt); -} - - static virNWFilterBindingDef * virNWFilterBindingDefParse(const char *xmlStr, const char *filename, unsigned int flags) { - virNWFilterBindingDef *def =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; bool validate =3D flags & VIR_NWFILTER_BINDING_CREATE_VALIDATE; - if ((xml =3D virXMLParse(filename, xmlStr, _("(nwfilterbinding_definit= ion)"), - NULL, NULL, "nwfilterbinding.rng", validate))) { - def =3D virNWFilterBindingDefParseNode(xml, xmlDocGetRootElement(x= ml)); - } + if (!(xml =3D virXMLParse(filename, xmlStr, _("(nwfilterbinding_defini= tion)"), + "filterbinding", &ctxt, "nwfilterbinding.rng",= validate))) + return NULL; - return def; + return virNWFilterBindingDefParseXML(ctxt); } diff --git a/src/conf/virnwfilterbindingdef.h b/src/conf/virnwfilterbinding= def.h index 4bf0f252f8..a5497d5a1c 100644 --- a/src/conf/virnwfilterbindingdef.h +++ b/src/conf/virnwfilterbindingdef.h @@ -47,8 +47,7 @@ virNWFilterBindingDef * virNWFilterBindingDefCopy(virNWFilterBindingDef *src); virNWFilterBindingDef * -virNWFilterBindingDefParseNode(xmlDocPtr xml, - xmlNodePtr root); +virNWFilterBindingDefParseXML(xmlXPathContextPtr ctxt); virNWFilterBindingDef * virNWFilterBindingDefParseString(const char *xml, diff --git a/src/conf/virnwfilterbindingobj.c b/src/conf/virnwfilterbinding= obj.c index 5ff53f7380..6e67c5c7b6 100644 --- a/src/conf/virnwfilterbindingobj.c +++ b/src/conf/virnwfilterbindingobj.c @@ -223,7 +223,9 @@ virNWFilterBindingObjParse(const char *filename) return NULL; } - if (!(ret->def =3D virNWFilterBindingDefParseNode(xml, node))) + ctxt->node =3D node; + + if (!(ret->def =3D virNWFilterBindingDefParseXML(ctxt))) return NULL; return g_steal_pointer(&ret); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 11862bb1a9..6e85a8c6cb 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1365,8 +1365,8 @@ virNWFilterBindingDefFormat; virNWFilterBindingDefFormatBuf; virNWFilterBindingDefFree; virNWFilterBindingDefParseFile; -virNWFilterBindingDefParseNode; virNWFilterBindingDefParseString; +virNWFilterBindingDefParseXML; # conf/virnwfilterbindingobj.h --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: permerror (zohomail.com: Error in processing SPF Record) client-ip=216.145.221.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=permerror (zohomail.com: Error in processing SPF Record) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872450; cv=none; d=zohomail.com; s=zohoarc; b=SXFK3AWMmVPxV4bPBsCV81bx07oaXN8JDd7u2S0l1Ua8Y9cq/9ixX+e31q/0lPMPMpe6q5p8vo40NrPQFMMqYuDqS4Z+d/sj8aFMQEi3H8+5rHQ69aWYcyYGa+byQQPuSUgRjirJkSAxwrCe5MQm9/269k20j1iiEREAMD/+hFU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872450; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=c1QJtiuQq12RdHRI02/VOlcEwx2Ebcjni+xOzIeW0+Q=; b=jzJVw3ET+aAUKRmjQnhMVp6+LrwQ2WJthK5cC3T6yMd+a8I5IKm2Q56NKbmdFamMDQE1F2uFxFe5Yv1Fb+2GsbSLJS83y3EYenqy2qbGcL2X829qCOUAMxBVv/+FxZymCK94X+O4X3RBgLmE0noWKyLHH81cHMxh8SfwE/NGq7k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=permerror (zohomail.com: Error in processing SPF Record) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.145.221.124]) by mx.zohomail.com with SMTPS id 1664872450706425.5552386719139; Tue, 4 Oct 2022 01:34:10 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-660-31w720PAPvSD-ahWfny1uQ-1; Tue, 04 Oct 2022 04:33:29 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A21533C0D187; Tue, 4 Oct 2022 08:33:27 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8D916C15BA4; Tue, 4 Oct 2022 08:33:27 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 7112819465A2; Tue, 4 Oct 2022 08:33:27 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id DA7F419465A2 for ; Tue, 4 Oct 2022 08:33:25 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id C789640C6EC3; Tue, 4 Oct 2022 08:33:25 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4582040C6EC2 for ; Tue, 4 Oct 2022 08:33:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872449; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=c1QJtiuQq12RdHRI02/VOlcEwx2Ebcjni+xOzIeW0+Q=; b=Qt7iNdL49XEorjNooTq7VwnZvQ56qrOvrFgRQPZu72s9LRuYOIjkUTo4UWd6LxCF9KooRK yN3W10eU9fffx+UiQI6dFP3iNSytiX16i3pAed4Lot0B5H55XPUx2yJwW5SDacuy7BzwlF 27ZFNVhmyOZVIaGEdGrJzIBw0NQD9U8= X-MC-Unique: 31w720PAPvSD-ahWfny1uQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 07/43] conf: nwfilterbinding: Provide only virNWFilterBindingDefParse Date: Tue, 4 Oct 2022 10:32:41 +0200 Message-Id: <24c2fac3db2e6ed95e98148e77f71800a44da612.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872453209100001 Content-Type: text/plain; charset="utf-8" Remove the virNWFilterBindingDefParseString/File thin wrappers. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/virnwfilterbindingdef.c | 17 +---------------- src/conf/virnwfilterbindingdef.h | 8 +++----- src/libvirt_private.syms | 3 +-- src/nwfilter/nwfilter_driver.c | 2 +- tests/virnwfilterbindingxml2xmltest.c | 2 +- 5 files changed, 7 insertions(+), 25 deletions(-) diff --git a/src/conf/virnwfilterbindingdef.c b/src/conf/virnwfilterbinding= def.c index 524010c4c4..592731fc1b 100644 --- a/src/conf/virnwfilterbindingdef.c +++ b/src/conf/virnwfilterbindingdef.c @@ -154,7 +154,7 @@ virNWFilterBindingDefParseXML(xmlXPathContextPtr ctxt) } -static virNWFilterBindingDef * +virNWFilterBindingDef * virNWFilterBindingDefParse(const char *xmlStr, const char *filename, unsigned int flags) @@ -171,21 +171,6 @@ virNWFilterBindingDefParse(const char *xmlStr, } -virNWFilterBindingDef * -virNWFilterBindingDefParseString(const char *xmlStr, - unsigned int flags) -{ - return virNWFilterBindingDefParse(xmlStr, NULL, flags); -} - - -virNWFilterBindingDef * -virNWFilterBindingDefParseFile(const char *filename) -{ - return virNWFilterBindingDefParse(NULL, filename, 0); -} - - char * virNWFilterBindingDefFormat(const virNWFilterBindingDef *def) { diff --git a/src/conf/virnwfilterbindingdef.h b/src/conf/virnwfilterbinding= def.h index a5497d5a1c..272ad686a0 100644 --- a/src/conf/virnwfilterbindingdef.h +++ b/src/conf/virnwfilterbindingdef.h @@ -50,11 +50,9 @@ virNWFilterBindingDef * virNWFilterBindingDefParseXML(xmlXPathContextPtr ctxt); virNWFilterBindingDef * -virNWFilterBindingDefParseString(const char *xml, - unsigned int flags); - -virNWFilterBindingDef * -virNWFilterBindingDefParseFile(const char *filename); +virNWFilterBindingDefParse(const char *xmlStr, + const char *filename, + unsigned int flags); char * virNWFilterBindingDefFormat(const virNWFilterBindingDef *def); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 6e85a8c6cb..b8165c07d9 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1364,8 +1364,7 @@ virNWFilterBindingDefCopy; virNWFilterBindingDefFormat; virNWFilterBindingDefFormatBuf; virNWFilterBindingDefFree; -virNWFilterBindingDefParseFile; -virNWFilterBindingDefParseString; +virNWFilterBindingDefParse; virNWFilterBindingDefParseXML; diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c index 9cb306909c..f9fc09bbd3 100644 --- a/src/nwfilter/nwfilter_driver.c +++ b/src/nwfilter/nwfilter_driver.c @@ -739,7 +739,7 @@ nwfilterBindingCreateXML(virConnectPtr conn, return NULL; } - def =3D virNWFilterBindingDefParseString(xml, flags); + def =3D virNWFilterBindingDefParse(xml, NULL, flags); if (!def) return NULL; diff --git a/tests/virnwfilterbindingxml2xmltest.c b/tests/virnwfilterbindi= ngxml2xmltest.c index 0c93b58a0c..bde21968fe 100644 --- a/tests/virnwfilterbindingxml2xmltest.c +++ b/tests/virnwfilterbindingxml2xmltest.c @@ -41,7 +41,7 @@ testCompareXMLToXMLFiles(const char *xml) virResetLastError(); - if (!(dev =3D virNWFilterBindingDefParseFile(xml))) + if (!(dev =3D virNWFilterBindingDefParse(NULL, xml, 0))) goto fail; if (!(actual =3D virNWFilterBindingDefFormat(dev))) --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872504; cv=none; d=zohomail.com; s=zohoarc; b=Ex7VuTAUtV4B+pO/qduZATKI1oLHdAEwTnSsTJ6erSJZ2FKhDL63bjPf3vLGw4AZN9WTyLmzqZ860sTTiEhYC/7yME3P1uQLOS306TocEIVVwC5bAcpotQRmPzf1zeZzE+dB9mW9Smi2hQu/1G6wljBUV5XKWKiRsKZczROOh0k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872504; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UI1hwtP4Nv+nBO/VgE4BVOvwfnibLAUN7CWtIggBIF0=; b=F05enIQSu8+C2lm4CCWspC0tWRzJGBtXKOZ4PYoZl0MvN3y1eGEF5eK8LGOo/lK0yvgFCRmwuwIshU6tfx0zKbUk72neq/6AP6P3jJoH4fTVMQAgPme2A9bk/PwXYWGX7c35TRkUSTClwW56TBqq126on/MQKpmTWqcdNKhBY0k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872504034960.7214884723425; Tue, 4 Oct 2022 01:35:04 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-503-sfqXT8n0MP2rJIPhXBs61g-1; Tue, 04 Oct 2022 04:33:31 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4510E857AAA; Tue, 4 Oct 2022 08:33:28 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 31BD3140EBF3; Tue, 4 Oct 2022 08:33:28 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 2785119465A2; Tue, 4 Oct 2022 08:33:28 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id B8EF8194658F for ; Tue, 4 Oct 2022 08:33:26 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id A8C5640C6EC3; Tue, 4 Oct 2022 08:33:26 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 285FA40C6EC2 for ; Tue, 4 Oct 2022 08:33:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872503; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=UI1hwtP4Nv+nBO/VgE4BVOvwfnibLAUN7CWtIggBIF0=; b=U7mR+PfdTqLexEwVkJPlFX2SBTHTj+l1FbTGPq7Rv3Zf2hf5QJsNawx7nE2HhgrsddW31e Qm0IkiawiUMyfKtzSURaQLU6cmrZKRbUQwl30O+6j2AeH/Mo4SJEZ3vBD0blDstR0UdXBH 3h7EucO2XM7rjNYfeGNL182HmWPOnzE= X-MC-Unique: sfqXT8n0MP2rJIPhXBs61g-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 08/43] tests: qemuxml2argv: Use virXMLParse properly Date: Tue, 4 Oct 2022 10:32:42 +0200 Message-Id: <295985d040ecf8aa874cbd738fc046fa32e685a5.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872505908100001 Content-Type: text/plain; charset="utf-8" Don't validate the root node and don't allocate a private XPath context when virXMLParse can do that internally. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- tests/qemuxml2argvtest.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 89bed6a46e..8785c96ce1 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -626,7 +626,6 @@ testCompareXMLToArgv(const void *data) qemuDomainObjPrivate *priv =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; g_autoptr(xmlXPathContext) ctxt =3D NULL; - xmlNodePtr root; g_autofree char *archstr =3D NULL; virArch arch =3D VIR_ARCH_NONE; g_autoptr(virIdentity) sysident =3D virIdentityGetSystem(); @@ -673,21 +672,9 @@ testCompareXMLToArgv(const void *data) goto cleanup; if (!(xml =3D virXMLParse(info->infile, NULL, "(domain_definition)", - NULL, NULL, NULL, false))) + "domain", &ctxt, NULL, false))) goto cleanup; - root =3D xmlDocGetRootElement(xml); - if (!virXMLNodeNameEqual(root, "domain")) { - VIR_TEST_VERBOSE("unexpected root element <%s>, expecting = ", - root->name); - goto cleanup; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - goto cleanup; - - ctxt->node =3D root; - if ((archstr =3D virXPathString("string(./os/type[1]/@arch)", ctxt))) arch =3D virArchFromString(archstr); @@ -722,7 +709,7 @@ testCompareXMLToArgv(const void *data) parseFlags |=3D VIR_DOMAIN_DEF_PARSE_INACTIVE; - if (!(vm->def =3D virDomainDefParseNode(xml, root, driver.xmlopt, NULL, + if (!(vm->def =3D virDomainDefParseNode(xml, ctxt->node, driver.xmlopt= , NULL, parseFlags))) { err =3D virGetLastError(); if (!err) { --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872568; cv=none; d=zohomail.com; s=zohoarc; b=SReR9vkWg8Ys36Zd7y5cbY8AvjbTqAW2Sv/x6orOATFHWwDo0SGcbzySYGsFh3Qj2mFcrisnUjMAB64xoNsEJTEU2avampJEMieltIEsOnTV4T5vrFvzLpL6FahwtMV/7gVl3XXtc4JpNbkzOM8bJyO2ZFwD/dVXMhEmRpFCaDo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872568; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ubAVGT5xZlcE3fQeIfsHAGH7HyN2fpii99r19wZW0pQ=; b=EfnWYR1YXPGYefeQLTjuhgs0YP36asuMc4FjuB1OqZZJ59aeFYCgE8CBHJOTgor8Yr9SLKQw8FVVm9AukROqfN12FUIU5mqxaR2DAqNgPjNaPjRNyknzUNvhGBfinefjpb3+IxzZDcBPBQASz3VrdT81eHVx5pmb21vze9iY1bg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872568839283.6085977259637; Tue, 4 Oct 2022 01:36:08 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-477-GQC8YFgOPjq4tAIJH0nlxA-1; Tue, 04 Oct 2022 04:33:33 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7DEE485A5A6; Tue, 4 Oct 2022 08:33:31 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6BBA6C15BA4; Tue, 4 Oct 2022 08:33:31 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 565C41946A46; Tue, 4 Oct 2022 08:33:31 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id BFC961946A7F for ; Tue, 4 Oct 2022 08:33:27 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 919A540C6EC3; Tue, 4 Oct 2022 08:33:27 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0CE4C40C6EC2 for ; Tue, 4 Oct 2022 08:33:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872567; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=ubAVGT5xZlcE3fQeIfsHAGH7HyN2fpii99r19wZW0pQ=; b=GSlRzPiAtBkQXcvHKlO/Q18vDhntorPvAz8YvBC3Bri/h5/E6ympd8ZLJlhM+vtFvkzUxV ZEw5m90ywY3TZsTjymalLRCEgV0oWgtv5Uo8JgJUP4ld4yp/wSqahf6UjzEQ3E8eAiBiUp gjgWszZyVZsPcAWp0UjE8C7U17OpAR8= X-MC-Unique: GQC8YFgOPjq4tAIJH0nlxA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 09/43] conf: networkport: Remove virNetworkPortDefParseNode Date: Tue, 4 Oct 2022 10:32:43 +0200 Message-Id: <72f2929d8229514e05221d6ef4959d73c54ffe96.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872570407100001 Content-Type: text/plain; charset="utf-8" The function is exported but used only intenally, additionally everything it did for the only caller can be replaced by properly using virXMLParse. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/virnetworkportdef.c | 32 +++++--------------------------- src/conf/virnetworkportdef.h | 4 ---- src/libvirt_private.syms | 1 - 3 files changed, 5 insertions(+), 32 deletions(-) diff --git a/src/conf/virnetworkportdef.c b/src/conf/virnetworkportdef.c index 40cadc4ae8..651e4c3329 100644 --- a/src/conf/virnetworkportdef.c +++ b/src/conf/virnetworkportdef.c @@ -251,42 +251,20 @@ virNetworkPortDefParseXML(xmlXPathContextPtr ctxt) } -virNetworkPortDef * -virNetworkPortDefParseNode(xmlDocPtr xml, - xmlNodePtr root) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (STRNEQ((const char *)root->name, "networkport")) { - virReportError(VIR_ERR_XML_ERROR, - "%s", - _("unknown root element for network port")); - return NULL; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - return virNetworkPortDefParseXML(ctxt); -} - - static virNetworkPortDef * virNetworkPortDefParse(const char *xmlStr, const char *filename, unsigned int flags) { - virNetworkPortDef *def =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; bool validate =3D flags & VIR_NETWORK_PORT_CREATE_VALIDATE; - if ((xml =3D virXMLParse(filename, xmlStr, _("(networkport_definition)= "), - NULL, NULL, "networkport.rng", validate))) { - def =3D virNetworkPortDefParseNode(xml, xmlDocGetRootElement(xml)); - } + if (!(xml =3D virXMLParse(filename, xmlStr, _("(networkport_definition= )"), + "networkport", &ctxt, "networkport.rng", valid= ate))) + return NULL; - return def; + return virNetworkPortDefParseXML(ctxt); } diff --git a/src/conf/virnetworkportdef.h b/src/conf/virnetworkportdef.h index c661534046..908a7c8795 100644 --- a/src/conf/virnetworkportdef.h +++ b/src/conf/virnetworkportdef.h @@ -80,10 +80,6 @@ void virNetworkPortDefFree(virNetworkPortDef *port); G_DEFINE_AUTOPTR_CLEANUP_FUNC(virNetworkPortDef, virNetworkPortDefFree); -virNetworkPortDef * -virNetworkPortDefParseNode(xmlDocPtr xml, - xmlNodePtr root); - virNetworkPortDef * virNetworkPortDefParseString(const char *xml, unsigned int flags); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index b8165c07d9..903c4196df 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1327,7 +1327,6 @@ virNetworkPortDefFormat; virNetworkPortDefFormatBuf; virNetworkPortDefFree; virNetworkPortDefParseFile; -virNetworkPortDefParseNode; virNetworkPortDefParseString; virNetworkPortDefSaveStatus; --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872637; cv=none; d=zohomail.com; s=zohoarc; b=a+EKdeaxNXVvVJB6Zn/75E8jA2lYF6q0IeFmBbKqkIOYJA9wfMfztqhza9xzMpVCHgyUFjzUqWjd1uehDgQaqnlRUlSqwsytm3lIC+nQngvChvUi5iTCQlCmN3GL+jeYmRmdWE460DF+jRBRtyorgCI6OD2n+jamo3J14gsgkEc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872637; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=NwZkbc142+aXMDtkc4VRIzkZCMdkxB8I3nACxVrACdI=; b=VMH+NxK5wyWXKdoXqDU5hKFmDwRWaXFX6q7nL3pu+dvUm6H/G6SVyMwyF9u3cKT9qLg3Rm1FdCIooN9swRRi/bdM7FM0y8XszDtlk2lzH6od7tTOq0SxWXUKk8s6idkJAYtRhodb1kYvp/jrS5UXV1K9JcVhLya3X7QnJhWhVzw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872637607701.3465799100893; Tue, 4 Oct 2022 01:37:17 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-554-vjVS60AWMr6KAI0-EL-Tag-1; Tue, 04 Oct 2022 04:33:31 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DA46E3803908; Tue, 4 Oct 2022 08:33:29 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id C59B7C15BA5; Tue, 4 Oct 2022 08:33:29 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 9771C19465B1; Tue, 4 Oct 2022 08:33:29 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 9AC001946A7A for ; Tue, 4 Oct 2022 08:33:28 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 75BE640C6EC3; Tue, 4 Oct 2022 08:33:28 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id E8AC040C6EC2 for ; Tue, 4 Oct 2022 08:33:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872636; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=NwZkbc142+aXMDtkc4VRIzkZCMdkxB8I3nACxVrACdI=; b=RyYDwMBuDDT2coJMMBebTebV0jFLMyKwhRD3zegDICnLoN5ciEWAc3BZZd3cGYnN/Ris0u 1dzTasgMq+hj543REGJrgUqTcFf+/kAssfXfrvgDTMB95+dtNsYWJyGOngkCKr5SVFpgqg CjWrD7j/Vg9Ry8T1bH/2PGxTm3c4ykw= X-MC-Unique: vjVS60AWMr6KAI0-EL-Tag-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 10/43] conf: networkportdef: Provide only virNetworkPortDefParse Date: Tue, 4 Oct 2022 10:32:44 +0200 Message-Id: <6432a5e5c596d5d697202459db0e2564b38e0989.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872638308100003 Content-Type: text/plain; charset="utf-8" Replace the two helpers virNetworkPortDefParseString/File with the common helper. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 2 +- src/conf/virnetworkobj.c | 2 +- src/conf/virnetworkportdef.c | 17 +---------------- src/conf/virnetworkportdef.h | 8 +++----- src/libvirt_private.syms | 3 +-- src/network/bridge_driver.c | 2 +- tests/virnetworkportxml2xmltest.c | 2 +- 7 files changed, 9 insertions(+), 27 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index b3202c9f76..adbd97e632 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -29537,7 +29537,7 @@ virDomainNetCreatePort(virConnectPtr conn, VIR_FREE(portxml); if (!(portxml =3D virNetworkPortGetXMLDesc(port, 0)) || - !(portdef =3D virNetworkPortDefParseString(portxml, 0)) || + !(portdef =3D virNetworkPortDefParse(portxml, NULL, 0)) || virDomainNetDefActualFromNetworkPort(iface, portdef) < 0) { virErrorPreserveLast(&save_err); virNetworkPortDelete(port, 0); diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index b4c61fff85..7621fa3380 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -1833,7 +1833,7 @@ virNetworkObjLoadAllPorts(virNetworkObj *net, file =3D g_strdup_printf("%s/%s.xml", dir, de->d_name); - portdef =3D virNetworkPortDefParseFile(file); + portdef =3D virNetworkPortDefParse(NULL, file, 0); if (!portdef) { VIR_WARN("Cannot parse port %s", file); continue; diff --git a/src/conf/virnetworkportdef.c b/src/conf/virnetworkportdef.c index 651e4c3329..035e3fe758 100644 --- a/src/conf/virnetworkportdef.c +++ b/src/conf/virnetworkportdef.c @@ -251,7 +251,7 @@ virNetworkPortDefParseXML(xmlXPathContextPtr ctxt) } -static virNetworkPortDef * +virNetworkPortDef * virNetworkPortDefParse(const char *xmlStr, const char *filename, unsigned int flags) @@ -268,21 +268,6 @@ virNetworkPortDefParse(const char *xmlStr, } -virNetworkPortDef * -virNetworkPortDefParseString(const char *xmlStr, - unsigned int flags) -{ - return virNetworkPortDefParse(xmlStr, NULL, flags); -} - - -virNetworkPortDef * -virNetworkPortDefParseFile(const char *filename) -{ - return virNetworkPortDefParse(NULL, filename, 0); -} - - char * virNetworkPortDefFormat(const virNetworkPortDef *def) { diff --git a/src/conf/virnetworkportdef.h b/src/conf/virnetworkportdef.h index 908a7c8795..48e73dbefd 100644 --- a/src/conf/virnetworkportdef.h +++ b/src/conf/virnetworkportdef.h @@ -81,11 +81,9 @@ virNetworkPortDefFree(virNetworkPortDef *port); G_DEFINE_AUTOPTR_CLEANUP_FUNC(virNetworkPortDef, virNetworkPortDefFree); virNetworkPortDef * -virNetworkPortDefParseString(const char *xml, - unsigned int flags); - -virNetworkPortDef * -virNetworkPortDefParseFile(const char *filename); +virNetworkPortDefParse(const char *xmlStr, + const char *filename, + unsigned int flags); char * virNetworkPortDefFormat(const virNetworkPortDef *def); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 903c4196df..3ef3210184 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1326,8 +1326,7 @@ virNetworkObjUpdateAssignDef; virNetworkPortDefFormat; virNetworkPortDefFormatBuf; virNetworkPortDefFree; -virNetworkPortDefParseFile; -virNetworkPortDefParseString; +virNetworkPortDefParse; virNetworkPortDefSaveStatus; diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 7c6430b4e3..e4f5e93779 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -4844,7 +4844,7 @@ networkPortCreateXML(virNetworkPtr net, def =3D virNetworkObjGetDef(obj); - if (!(portdef =3D virNetworkPortDefParseString(xmldesc, flags))) + if (!(portdef =3D virNetworkPortDefParse(xmldesc, NULL, flags))) goto cleanup; if (virNetworkPortCreateXMLEnsureACL(net->conn, def, portdef) < 0) diff --git a/tests/virnetworkportxml2xmltest.c b/tests/virnetworkportxml2xm= ltest.c index 237624a752..21e3c6f697 100644 --- a/tests/virnetworkportxml2xmltest.c +++ b/tests/virnetworkportxml2xmltest.c @@ -38,7 +38,7 @@ testCompareXMLToXMLFiles(const char *expected) g_autofree char *actual =3D NULL; g_autoptr(virNetworkPortDef) dev =3D NULL; - if (!(dev =3D virNetworkPortDefParseFile(expected))) + if (!(dev =3D virNetworkPortDefParse(NULL, expected, 0))) return -1; if (!(actual =3D virNetworkPortDefFormat(dev))) --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872418; cv=none; d=zohomail.com; s=zohoarc; b=QrWzE5QzRWk5GqMaV4McwBL36G8axMqyHasFxzSvBV2Uc1ql6CygK0FAVK98RvWVeaUNkSt5opxhzhi1XAt94ePiK3DvlkNL+ydI6x5NIaT9iCKYKu0p0nWGSjLZTAQZKRtEqOPdObfWPHxTaVl+pQph5VMJRWDXdA0ye74zlg0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872418; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=6I7MgN63iSxr6uioLS+tRzCCmN7gydNvOTS8crouyJU=; b=HqFA+Ybu7nPhQghSSxfLKCx6487xyauagOLiJJKYBIpBGcZfN0EDqPrvlkRA8Q8PaPgCnw46M+64yGFtOuiBisYBBzwr4IyImGyg3gHvS39ivvFahpzdrkP+0A3qq1zeoe9Sk1ecmlKlF7ISq4lRc+NXKtFdv+6nDchC37JTP8o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 166487241855868.03441923393416; Tue, 4 Oct 2022 01:33:38 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-464-D_0c6NEuMASZDd0_rQzxiA-1; Tue, 04 Oct 2022 04:33:34 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 661D52999B25; Tue, 4 Oct 2022 08:33:32 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 540801121315; Tue, 4 Oct 2022 08:33:32 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 1189D1946A7F; Tue, 4 Oct 2022 08:33:32 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 628FB19465A2 for ; Tue, 4 Oct 2022 08:33:29 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 590A840C6EC3; Tue, 4 Oct 2022 08:33:29 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id C99DF40C6EC2 for ; Tue, 4 Oct 2022 08:33:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872417; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=6I7MgN63iSxr6uioLS+tRzCCmN7gydNvOTS8crouyJU=; b=UqMPj4dRCkiBOKO54pSGTlcCBMNrC9V8lGUsigU5eKZ9Mow+vytDOrAQfLuq4NLr9RB2pk MFzItJPuoKrRFEdusv37dS4ToqF3mcPqvFBZ3Ty6bNL4L8felKwBRt1yCbawIBD2sgRtpe tympIl13+V5yqGF2iciMMbROBjaTCrA= X-MC-Unique: D_0c6NEuMASZDd0_rQzxiA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 11/43] testParseXMLDocFromFile: Refactor control flow Date: Tue, 4 Oct 2022 10:32:45 +0200 Message-Id: <45b119cd4af23a1f374e3a79fcb3a2a02a71b457.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872419186100002 Content-Type: text/plain; charset="utf-8" Move few variables definitions closer to usage, add comments explaining what's happening and simplify the control flow. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/test/test_driver.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 1c10124564..5740f54a58 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -841,32 +841,34 @@ testDomainObjCheckTaint(virDomainObj *obj) } static xmlNodePtr -testParseXMLDocFromFile(xmlNodePtr node, const char *file, const char *typ= e) +testParseXMLDocFromFile(xmlNodePtr node, + const char *file, + const char *type) { - xmlNodePtr ret =3D NULL; g_autoptr(xmlDoc) doc =3D NULL; - g_autofree char *absFile =3D NULL; g_autofree char *relFile =3D NULL; if ((relFile =3D virXMLPropString(node, "file"))) { - absFile =3D testBuildFilename(file, relFile); + g_autofree char *absFile =3D testBuildFilename(file, relFile); + xmlNodePtr newnode =3D NULL; if (!(doc =3D virXMLParse(absFile, NULL, type, NULL, NULL, NULL, f= alse))) return NULL; - ret =3D xmlCopyNode(xmlDocGetRootElement(doc), 1); - if (!ret) { + if (!(newnode =3D xmlCopyNode(xmlDocGetRootElement(doc), 1))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Failed to copy XML node")); return NULL; } - xmlReplaceNode(node, ret); + + /* place 'newnode' in place of 'node' in the original XML document= object */ + xmlReplaceNode(node, newnode); + /* free the original node */ xmlFreeNode(node); - } else { - ret =3D node; + return newnode; } - return ret; + return node; } static int --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872420; cv=none; d=zohomail.com; s=zohoarc; b=AJsxWtICWsLdg3Rqp1uE0WBY8miFptjbHduPnF7t6PijkZeYNfHw+05QAirOnQs+N4Isv4eV1AmIyQ/oQU2jp/laKybyebxLyMfMtnNUiEfbHQh2u8V5QxlZGMn6tGnW3lnfxeYYzvz2zakYHEV6UYqSp/oQtdPsUQJNuRhm+d0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872420; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qvDtxCv9T1rdhx7kwY+hYB1foZUnDYloOJ7Y/it/M6g=; b=lYwADsH0ZodXeBssZ43XeEiX9iJi3XMFYk/fP8/l97C3U1CwtVfvVIGEcw7OjaZRj8AOAUrPcAd4Gt3Sa9F21bEeFiVErv9zZCzrnQ6orNfx/ygUmD1LLuxSus6N3JaC87MqenGoyCXsuwdO8gXSeQ3GbA2YmsCXwPaVNfAMy/w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872420813956.1769646479646; Tue, 4 Oct 2022 01:33:40 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-425-skyyS-hWMDOoaGFA9liRug-1; Tue, 04 Oct 2022 04:33:36 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id AF6CF100F804; Tue, 4 Oct 2022 08:33:33 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8F9C2C15BB3; Tue, 4 Oct 2022 08:33:33 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 2D2A01946A7A; Tue, 4 Oct 2022 08:33:33 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 4917819465B5 for ; Tue, 4 Oct 2022 08:33:30 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 3B31840C6EC3; Tue, 4 Oct 2022 08:33:30 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id ACB6A40C6EC2 for ; Tue, 4 Oct 2022 08:33:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872419; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=qvDtxCv9T1rdhx7kwY+hYB1foZUnDYloOJ7Y/it/M6g=; b=GEJt8kxPicm1RdH+Hr8Hsz6qH+mszVAUWWeNA1V9uR0HGKKicb5vxqZQfH2Cw8b0t7hol4 y8Cca2zJQxLb+ayiBTV/zHTyGPJQD9UsOTFNdCuVwLqmebhQVMg0hYIz+yxrilFb6LDjxi je4WP2/bd+RT0ubwrsElEKy12lOQRkA= X-MC-Unique: skyyS-hWMDOoaGFA9liRug-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 12/43] testParseXMLDocFromFile: Remove 'type' argument Date: Tue, 4 Oct 2022 10:32:46 +0200 Message-Id: <095fa18e4dee67430806baa20d1f2c93cc69a856.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872421193100005 Content-Type: text/plain; charset="utf-8" virXMLParse ignores the 'url' argument which is what 'type' was passed to it as when a filename is used as source for the XML. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/test/test_driver.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 5740f54a58..26c6c95c28 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -842,8 +842,7 @@ testDomainObjCheckTaint(virDomainObj *obj) static xmlNodePtr testParseXMLDocFromFile(xmlNodePtr node, - const char *file, - const char *type) + const char *file) { g_autoptr(xmlDoc) doc =3D NULL; g_autofree char *relFile =3D NULL; @@ -852,7 +851,7 @@ testParseXMLDocFromFile(xmlNodePtr node, g_autofree char *absFile =3D testBuildFilename(file, relFile); xmlNodePtr newnode =3D NULL; - if (!(doc =3D virXMLParse(absFile, NULL, type, NULL, NULL, NULL, f= alse))) + if (!(doc =3D virXMLParse(absFile, NULL, NULL, NULL, NULL, NULL, f= alse))) return NULL; if (!(newnode =3D xmlCopyNode(xmlDocGetRootElement(doc), 1))) { @@ -969,8 +968,7 @@ testParseDomainSnapshots(testDriver *privconn, for (i =3D 0; i < nsdata->num_snap_nodes; i++) { virDomainMomentObj *snap; g_autoptr(virDomainSnapshotDef) def =3D NULL; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file, - "domainsnapshot"); + xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); if (!node) return -1; @@ -1024,7 +1022,7 @@ testParseDomains(testDriver *privconn, for (i =3D 0; i < num; i++) { g_autoptr(virDomainDef) def =3D NULL; testDomainNamespaceDef *nsdata; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file, "domai= n"); + xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); if (!node) goto error; @@ -1088,7 +1086,7 @@ testParseNetworks(testDriver *privconn, for (i =3D 0; i < num; i++) { g_autoptr(virNetworkDef) def =3D NULL; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file, "netwo= rk"); + xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); if (!node) return -1; @@ -1124,8 +1122,7 @@ testParseInterfaces(testDriver *privconn, for (i =3D 0; i < num; i++) { g_autoptr(virInterfaceDef) def =3D NULL; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file, - "interface"); + xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); if (!node) return -1; @@ -1165,8 +1162,7 @@ testOpenVolumesForPool(const char *file, return -1; for (i =3D 0; i < num; i++) { - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file, - "volume"); + xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); if (!node) return -1; @@ -1209,8 +1205,7 @@ testParseStorage(testDriver *privconn, for (i =3D 0; i < num; i++) { virStoragePoolDef *def; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file, - "pool"); + xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); if (!node) return -1; @@ -1258,8 +1253,8 @@ testParseNodedevs(testDriver *privconn, for (i =3D 0; i < num; i++) { virNodeDeviceDef *def; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file, - "nodedev"); + xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); + if (!node) return -1; --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872419; cv=none; d=zohomail.com; s=zohoarc; b=lZhbrO7/c1byvLLCUklX6ruTY6pq03FdA6bTxfqlFpn3AzTG7lurDCVjm2GYkaxvDfCTS7qa3pKeuNF5sQfP/sHwYv+85XMJOol7S2T+4akg0/brW0XiLNYbMh4A5usJVlJL7+YXfVOnpL/MJSuh5hFpmosa2HK99oipuKklrsg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872419; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=oDyJxfVYYtr1Fc6VwJpKKjCf/Gd40fT6q+NciQ6v04s=; b=CxsJioIvAEgaCwWoQ5LdnfXlBzkfDjII0+xAl+py+OjO+C9zRS62XLf4LCfDAUwnPuq+uuZkESNMG+sDBAwc8DIwJXutkTRb5sri8Ct264RokEFgHDdNJ7fFgv2C+pZSrcve0X19RpL6VyVb3VBeS0wKE1RyCvBznMTvoPuSqbo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872419674614.2696181135276; Tue, 4 Oct 2022 01:33:39 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-219-iaJ7fY2EN2OzZawM_vIuAg-1; Tue, 04 Oct 2022 04:33:36 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7EDA918A0678; Tue, 4 Oct 2022 08:33:33 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 54510C15E76; Tue, 4 Oct 2022 08:33:33 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 0336B1947043; Tue, 4 Oct 2022 08:33:33 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 2EC951946A4A for ; Tue, 4 Oct 2022 08:33:31 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 2359840C6EC3; Tue, 4 Oct 2022 08:33:31 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 91EDD40C6EC2 for ; Tue, 4 Oct 2022 08:33:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872418; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=oDyJxfVYYtr1Fc6VwJpKKjCf/Gd40fT6q+NciQ6v04s=; b=Nk9yQ8ID+Kq9ElZE7QIphtQnGVy5dyy8DVQFkTgsJFHRAtz2rlInclbtnOPq4feAIOsYvV TmfAc2YyDiYVRgEMHCHyY5qkovLJ9jvftb0RRDf96XfPfgCqgJCX1XQtozbehtY57PdKtN H4U8hPP4qyS2vEfoS8Tm6SRjAjmroHo= X-MC-Unique: iaJ7fY2EN2OzZawM_vIuAg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 13/43] testParseXMLDocFromFile: Validate that the replaced node is identical with parsed root Date: Tue, 4 Oct 2022 10:32:47 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872421194100006 Content-Type: text/plain; charset="utf-8" When replacing a definition node by contents of a file the root node in the file must match the replaced node. Enforce that by passing the original node name as the 'rootnode' argument of virXMLParse. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/test/test_driver.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 26c6c95c28..5eae22f591 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -851,7 +851,8 @@ testParseXMLDocFromFile(xmlNodePtr node, g_autofree char *absFile =3D testBuildFilename(file, relFile); xmlNodePtr newnode =3D NULL; - if (!(doc =3D virXMLParse(absFile, NULL, NULL, NULL, NULL, NULL, f= alse))) + if (!(doc =3D virXMLParse(absFile, NULL, NULL, (const char *) node= ->name, + NULL, NULL, false))) return NULL; if (!(newnode =3D xmlCopyNode(xmlDocGetRootElement(doc), 1))) { --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872424; cv=none; d=zohomail.com; s=zohoarc; b=KgPUGfFrdbWJNnRDaoJdVoNjT9n3z+O2TN0YXpnFkoNgxIe53x26y9zAP8ZkUvgft8Z1pLGdP9jaHsoPXKqs6ezo4NTgwQYp1FJ/KA0eB/VYtKz+JuaQ3Y6Dp3DtV4K3zgwOiAvIhxLCBbEt+XmGH846CKP4xd+8R1E5QNyu9gI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872424; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/VZCDn2h7VcnaJ/DjN/ZOHieJwoLgiV9Ke4RzmU73SY=; b=jY6V9JwKeSETDZYJLHUnB+pxdlpCMrJVWQ57nRxeDVhI7HSFsxe9zDSYomPm584VtYRziVCM9ANNMyP3rIC0ykK6YyaaMxa4w7Px1AR+hcbN42SuzTPCpMLUyDt47k4fbNr/jTTYgddUXLQtzhSN8cEM6C2mkI0oXjs0zR7jUks= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 166487242445522.03886765250877; Tue, 4 Oct 2022 01:33:44 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-261-hCI1y9CIMbizTb54vyFA_g-1; Tue, 04 Oct 2022 04:33:38 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 65AE3100F809; Tue, 4 Oct 2022 08:33:35 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 17839492B04; Tue, 4 Oct 2022 08:33:35 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 111DF1947060; Tue, 4 Oct 2022 08:33:34 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 35B2A1947040 for ; Tue, 4 Oct 2022 08:33:32 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 17ABD40C6EC3; Tue, 4 Oct 2022 08:33:32 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8499D40C6EC2 for ; Tue, 4 Oct 2022 08:33:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872423; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=/VZCDn2h7VcnaJ/DjN/ZOHieJwoLgiV9Ke4RzmU73SY=; b=MsvE9TVSc8oBBgfW5Mm/YgAYwQwUmFmLem3zCdzxRjHGIFgEEC/KGAuFuc8FICtUN2KGhj 67IGgHdJq0JWZB6I4t9QdAY0HjTFqB8N8d4Hwoui88ZnB9Hldk5PZS5AqfADQo9xLCOEJX rzVeD7vGIP6hIE9XAfkv8U+Bi7yDCj4= X-MC-Unique: hCI1y9CIMbizTb54vyFA_g-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 14/43] conf: storage: Remove virStoragePoolDefParseNode Date: Tue, 4 Oct 2022 10:32:48 +0200 Message-Id: <5130c2243e2d8e73f45e1dd2c50aee7e9699cb71.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872425209100001 Content-Type: text/plain; charset="utf-8" Replace it by proper use of virXMLParse to validate the root node and allocate the context. The use in the test driver can be directly replaced by virStoragePoolDefParseXML as both are validated. The change to the storage driver isn't trivial though as it requires careful xpath context juggling to parse the nested volumes properly. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/storage_conf.c | 34 ++++++---------------------------- src/conf/storage_conf.h | 4 ---- src/libvirt_private.syms | 1 - src/test/test_driver.c | 19 +++++++------------ 4 files changed, 13 insertions(+), 45 deletions(-) diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index d7375a5160..c11f40488d 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -972,43 +972,21 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt) } -virStoragePoolDef * -virStoragePoolDefParseNode(xmlDocPtr xml, - xmlNodePtr root) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (!virXMLNodeNameEqual(root, "pool")) { - virReportError(VIR_ERR_XML_ERROR, - _("unexpected root element <%s>, " - "expecting "), - root->name); - return NULL; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - return virStoragePoolDefParseXML(ctxt); -} - - static virStoragePoolDef * virStoragePoolDefParse(const char *xmlStr, const char *filename, unsigned int flags) { - virStoragePoolDef *ret =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; bool validate =3D flags & VIR_STORAGE_POOL_DEFINE_VALIDATE; - if ((xml =3D virXMLParse(filename, xmlStr, _("(storage_pool_definition= )"), - NULL, NULL, "storagepool.rng", validate))) { - ret =3D virStoragePoolDefParseNode(xml, xmlDocGetRootElement(xml)); - } - return ret; + if (!(xml =3D virXMLParse(filename, xmlStr, _("(storage_pool_definitio= n)"), + "pool", &ctxt, "storagepool.rng", validate))) + return NULL; + + return virStoragePoolDefParseXML(ctxt); } diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h index a1bf243935..5eee5b6881 100644 --- a/src/conf/storage_conf.h +++ b/src/conf/storage_conf.h @@ -278,10 +278,6 @@ virStoragePoolDefParseString(const char *xml, virStoragePoolDef * virStoragePoolDefParseFile(const char *filename); -virStoragePoolDef * -virStoragePoolDefParseNode(xmlDocPtr xml, - xmlNodePtr root); - char * virStoragePoolDefFormat(virStoragePoolDef *def); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 3ef3210184..ddc2394fb9 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1054,7 +1054,6 @@ virStoragePartedFsTypeToString; virStoragePoolDefFormat; virStoragePoolDefFree; virStoragePoolDefParseFile; -virStoragePoolDefParseNode; virStoragePoolDefParseSourceString; virStoragePoolDefParseString; virStoragePoolFormatDiskTypeFromString; diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 5eae22f591..27cf3ced43 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1145,20 +1145,15 @@ testParseInterfaces(testDriver *privconn, static int testOpenVolumesForPool(const char *file, xmlXPathContextPtr ctxt, - virStoragePoolObj *obj, - int objidx) + virStoragePoolObj *obj) { virStoragePoolDef *def =3D virStoragePoolObjGetDef(obj); size_t i; int num; - g_autofree char *vol_xpath =3D NULL; g_autofree xmlNodePtr *nodes =3D NULL; g_autoptr(virStorageVolDef) volDef =3D NULL; - /* Find storage volumes */ - vol_xpath =3D g_strdup_printf("/node/pool[%d]/volume", objidx); - - num =3D virXPathNodeSet(vol_xpath, ctxt, &nodes); + num =3D virXPathNodeSet("/pool/volume", ctxt, &nodes); if (num < 0) return -1; @@ -1195,6 +1190,7 @@ testParseStorage(testDriver *privconn, const char *file, xmlXPathContextPtr ctxt) { + VIR_XPATH_NODE_AUTORESTORE(ctxt) int num; size_t i; virStoragePoolObj *obj; @@ -1206,12 +1202,11 @@ testParseStorage(testDriver *privconn, for (i =3D 0; i < num; i++) { virStoragePoolDef *def; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); - if (!node) + + if (!(ctxt->node =3D testParseXMLDocFromFile(nodes[i], file))) return -1; - def =3D virStoragePoolDefParseNode(ctxt->doc, node); - if (!def) + if (!(def =3D virStoragePoolDefParseXML(ctxt))) return -1; if (!(obj =3D virStoragePoolObjListAdd(privconn->pools, &def, 0)))= { @@ -1226,7 +1221,7 @@ testParseStorage(testDriver *privconn, virStoragePoolObjSetActive(obj, true); /* Find storage volumes */ - if (testOpenVolumesForPool(file, ctxt, obj, i+1) < 0) { + if (testOpenVolumesForPool(file, ctxt, obj) < 0) { virStoragePoolObjEndAPI(&obj); return -1; } --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872586; cv=none; d=zohomail.com; s=zohoarc; b=PrOyjU1JkhNXwkNAB0aP4z8QZUAWiLuiI8NXgt1Zhg2o0/uuq6aDIca0SjsLIHX8iOLdhtdhYCGo/BzXt4B1st3DmSu00qnAjSVJ8OB8qyTwE01PP81ZzDSTfEyp2NLADmDcGWUlzO05zKATiSf4871x0Ymuslus5bnHflpso34= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872586; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=W10sC1kfZE/w1vs/Th10WRU2Dtvchdm9kcfKXBS1qXI=; b=YWAgXP8tnRUcF370KYjUffYiW5s+XpRtDr2wT8+ncaG+MWO+USjF9VLWtbE2EtpPLTHIuvD/dHu4A5IkB+3IJUvz3VJ6iDTF2C8YE7AD8N99nk9uDwlRxklLSXIECrHmOvhwMaM+7fIv0gdno8ceJtLlbN+80sPsDttUNAML3YA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872586387629.1094523639673; Tue, 4 Oct 2022 01:36:26 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-107-EZ3q9uv9P0OmmjbnZJoSxA-1; Tue, 04 Oct 2022 04:33:37 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1389286C05D; Tue, 4 Oct 2022 08:33:35 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id F10444099B50; Tue, 4 Oct 2022 08:33:34 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id D31D71947048; Tue, 4 Oct 2022 08:33:33 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 12C7A19465A2 for ; Tue, 4 Oct 2022 08:33:33 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 02A1040C6EC3; Tue, 4 Oct 2022 08:33:33 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6DEF340C6EC2 for ; Tue, 4 Oct 2022 08:33:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872585; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=W10sC1kfZE/w1vs/Th10WRU2Dtvchdm9kcfKXBS1qXI=; b=ep+srkFYnEu/VvrczKghfumBAEdmKGsMevVz7sGoZ1Cc+1U8YUwksIfZvFsfEGM+vuUofx FTV6AXUUAMxnzYFlRqT3pd7rPxFFdamhH3r8uRu+zpO1yWTXNIACyqLcv/jz+dasHqSl/f L0DnRRkJbzADHvhPM53phrz2/pnO+u8= X-MC-Unique: EZ3q9uv9P0OmmjbnZJoSxA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 15/43] conf: storage: Provide only virStoragePoolDefParse Date: Tue, 4 Oct 2022 10:32:49 +0200 Message-Id: <01bbb8265240687ec87dca4cd3ff2fbcac52faed.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872588460100001 Content-Type: text/plain; charset="utf-8" Replace the virStoragePoolDefParseString/File thin wrappers by virStoragePoolDefParse. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 2 +- src/conf/storage_conf.c | 17 +---------------- src/conf/storage_conf.h | 8 +++----- src/conf/virstorageobj.c | 2 +- src/libvirt_private.syms | 3 +-- src/storage/storage_driver.c | 4 ++-- src/test/test_driver.c | 4 ++-- tests/storagepoolxml2argvtest.c | 2 +- tests/storagepoolxml2xmltest.c | 2 +- tests/storagevolxml2argvtest.c | 4 ++-- tests/storagevolxml2xmltest.c | 2 +- 11 files changed, 16 insertions(+), 34 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index adbd97e632..2a3ea9641f 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -29914,7 +29914,7 @@ virDomainStorageSourceTranslateSourcePool(virStorag= eSource *src, if (!(poolxml =3D virStoragePoolGetXMLDesc(pool, 0))) return -1; - if (!(pooldef =3D virStoragePoolDefParseString(poolxml, 0))) + if (!(pooldef =3D virStoragePoolDefParse(poolxml, NULL, 0))) return -1; src->srcpool->pooltype =3D pooldef->type; diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index c11f40488d..0c095c73e0 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -972,7 +972,7 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt) } -static virStoragePoolDef * +virStoragePoolDef * virStoragePoolDefParse(const char *xmlStr, const char *filename, unsigned int flags) @@ -990,21 +990,6 @@ virStoragePoolDefParse(const char *xmlStr, } -virStoragePoolDef * -virStoragePoolDefParseString(const char *xmlStr, - unsigned int flags) -{ - return virStoragePoolDefParse(xmlStr, NULL, flags); -} - - -virStoragePoolDef * -virStoragePoolDefParseFile(const char *filename) -{ - return virStoragePoolDefParse(NULL, filename, 0); -} - - static int virStoragePoolSourceFormat(virBuffer *buf, virStoragePoolOptions *options, diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h index 5eee5b6881..ead54ca7c6 100644 --- a/src/conf/storage_conf.h +++ b/src/conf/storage_conf.h @@ -272,11 +272,9 @@ virStoragePoolDef * virStoragePoolDefParseXML(xmlXPathContextPtr ctxt); virStoragePoolDef * -virStoragePoolDefParseString(const char *xml, - unsigned int flags); - -virStoragePoolDef * -virStoragePoolDefParseFile(const char *filename); +virStoragePoolDefParse(const char *xmlStr, + const char *filename, + unsigned int flags); char * virStoragePoolDefFormat(virStoragePoolDef *def); diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c index e1465c8376..77128a4846 100644 --- a/src/conf/virstorageobj.c +++ b/src/conf/virstorageobj.c @@ -1579,7 +1579,7 @@ virStoragePoolObjLoad(virStoragePoolObjList *pools, VIR_DEBUG("loading storage pool config XML '%s'", path); - if (!(def =3D virStoragePoolDefParseFile(path))) + if (!(def =3D virStoragePoolDefParse(NULL, path, 0))) return NULL; if (!virStringMatchesNameSuffix(file, def->name, ".xml")) { diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index ddc2394fb9..8fec8d9027 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1053,9 +1053,8 @@ virStoragePoolCapsNew; virStoragePartedFsTypeToString; virStoragePoolDefFormat; virStoragePoolDefFree; -virStoragePoolDefParseFile; +virStoragePoolDefParse; virStoragePoolDefParseSourceString; -virStoragePoolDefParseString; virStoragePoolFormatDiskTypeFromString; virStoragePoolFormatDiskTypeToString; virStoragePoolFormatFileSystemNetTypeToString; diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index fccf0fcf52..aefe638083 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -721,7 +721,7 @@ storagePoolCreateXML(virConnectPtr conn, VIR_EXCLUSIVE_FLAGS_RET(VIR_STORAGE_POOL_BUILD_OVERWRITE, VIR_STORAGE_POOL_BUILD_NO_OVERWRITE, NULL); - if (!(newDef =3D virStoragePoolDefParseString(xml, 0))) + if (!(newDef =3D virStoragePoolDefParse(xml, NULL, 0))) goto cleanup; if (virStoragePoolCreateXMLEnsureACL(conn, newDef) < 0) @@ -801,7 +801,7 @@ storagePoolDefineXML(virConnectPtr conn, virCheckFlags(VIR_STORAGE_POOL_DEFINE_VALIDATE, NULL); - if (!(newDef =3D virStoragePoolDefParseString(xml, flags))) + if (!(newDef =3D virStoragePoolDefParse(xml, NULL, flags))) goto cleanup; if (virXMLCheckIllegalChars("name", newDef->name, "\n") < 0) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 27cf3ced43..4245b32c15 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -6631,7 +6631,7 @@ testStoragePoolCreateXML(virConnectPtr conn, virCheckFlags(0, NULL); virObjectLock(privconn); - if (!(newDef =3D virStoragePoolDefParseString(xml, 0))) + if (!(newDef =3D virStoragePoolDefParse(xml, NULL, 0))) goto cleanup; if (!(obj =3D virStoragePoolObjListAdd(privconn->pools, &newDef, @@ -6693,7 +6693,7 @@ testStoragePoolDefineXML(virConnectPtr conn, virCheckFlags(VIR_STORAGE_POOL_DEFINE_VALIDATE, NULL); virObjectLock(privconn); - if (!(newDef =3D virStoragePoolDefParseString(xml, flags))) + if (!(newDef =3D virStoragePoolDefParse(xml, NULL, flags))) goto cleanup; newDef->capacity =3D defaultPoolCap; diff --git a/tests/storagepoolxml2argvtest.c b/tests/storagepoolxml2argvtes= t.c index 04ff45f98d..e8e40d695e 100644 --- a/tests/storagepoolxml2argvtest.c +++ b/tests/storagepoolxml2argvtest.c @@ -27,7 +27,7 @@ testCompareXMLToArgvFiles(bool shouldFail, g_autofree char *src =3D NULL; g_autoptr(virCommand) cmd =3D NULL; - if (!(def =3D virStoragePoolDefParseFile(poolxml))) + if (!(def =3D virStoragePoolDefParse(NULL, poolxml, 0))) goto cleanup; defTypeStr =3D virStoragePoolTypeToString(def->type); diff --git a/tests/storagepoolxml2xmltest.c b/tests/storagepoolxml2xmltest.c index 76d6f54b33..6a48594197 100644 --- a/tests/storagepoolxml2xmltest.c +++ b/tests/storagepoolxml2xmltest.c @@ -19,7 +19,7 @@ testCompareXMLToXMLFiles(const char *inxml, const char *o= utxml) g_autofree char *actual =3D NULL; g_autoptr(virStoragePoolDef) dev =3D NULL; - if (!(dev =3D virStoragePoolDefParseFile(inxml))) + if (!(dev =3D virStoragePoolDefParse(NULL, inxml, 0))) return -1; if (!(actual =3D virStoragePoolDefFormat(dev))) diff --git a/tests/storagevolxml2argvtest.c b/tests/storagevolxml2argvtest.c index 6f1fc7b38c..22b4cda5c5 100644 --- a/tests/storagevolxml2argvtest.c +++ b/tests/storagevolxml2argvtest.c @@ -48,7 +48,7 @@ testCompareXMLToArgvFiles(bool shouldFail, g_autoptr(virStorageVolDef) inputvol =3D NULL; g_autoptr(virStoragePoolDef) inputpool =3D NULL; - if (!(def =3D virStoragePoolDefParseFile(poolxml))) + if (!(def =3D virStoragePoolDefParse(NULL, poolxml, 0))) goto cleanup; if (!(obj =3D virStoragePoolObjNew())) { @@ -58,7 +58,7 @@ testCompareXMLToArgvFiles(bool shouldFail, virStoragePoolObjSetDef(obj, def); if (inputpoolxml) { - if (!(inputpool =3D virStoragePoolDefParseFile(inputpoolxml))) + if (!(inputpool =3D virStoragePoolDefParse(NULL, inputpoolxml, 0))) goto cleanup; } diff --git a/tests/storagevolxml2xmltest.c b/tests/storagevolxml2xmltest.c index 161cb7c6bc..7b229ac52a 100644 --- a/tests/storagevolxml2xmltest.c +++ b/tests/storagevolxml2xmltest.c @@ -19,7 +19,7 @@ testCompareXMLToXMLFiles(const char *poolxml, const char = *inxml, g_autoptr(virStoragePoolDef) pool =3D NULL; g_autoptr(virStorageVolDef) dev =3D NULL; - if (!(pool =3D virStoragePoolDefParseFile(poolxml))) + if (!(pool =3D virStoragePoolDefParse(NULL, poolxml, 0))) return -1; if (!(dev =3D virStorageVolDefParseFile(pool, inxml, flags))) --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872510; cv=none; d=zohomail.com; s=zohoarc; b=TNj7DDXMKIsRUH3tvVaJvGOXLULXEsn+Ly5SqIf8CBNcbWGtM68AIWDkbwuZYG49oJeQNAGeQZ2Tnm2bacY4nUzWYPbQ+nL8mJFrNL27s+9ZgxNV+1UCquZZjqCjMvtkTZ7GLypDHEzJiakh+vTXb5oI/rtZuur7kyz3J6PC8dU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872510; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=yqmgm9ASdNbtnSiVIf1Q+s3hSdInisvj6lMhv8ZkNWc=; b=BywR+R3iqjJIMwFTeYP69jjHbTixoWwPUT/Oa7nqaFvFD66YU/br/U8yxJ6nvjw8yauPaLBg3Jh7Hu1fYF/oF120oAZ5P6fyhxZ5DwcXfTXUW4C/dgv2HCfTyHebGas6UPQvJT3WNuPYkx7Lu744/ND4YBhQyBj4KLjQKcxsA6o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872509903504.12461544155997; Tue, 4 Oct 2022 01:35:09 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-654-XLk2zpwRMnmctbhhrzHD5g-1; Tue, 04 Oct 2022 04:33:39 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D1ADB299E763; Tue, 4 Oct 2022 08:33:36 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id BB85117583; Tue, 4 Oct 2022 08:33:36 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 14AED194704F; Tue, 4 Oct 2022 08:33:36 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 02C651947056 for ; Tue, 4 Oct 2022 08:33:34 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id D922840C6EC3; Tue, 4 Oct 2022 08:33:33 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 574A640C6EC2 for ; Tue, 4 Oct 2022 08:33:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872508; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=yqmgm9ASdNbtnSiVIf1Q+s3hSdInisvj6lMhv8ZkNWc=; b=cp2R0GkK3AQwSFHj64OZjR8YvEchg3qDsa57VmqjSOigFN6ZQm4lx73/Q/cAdjIAF8WDps uflUmSmHuvbEtBwbYXmC/Tj/AH0lUHPt9mcJtsiPSBaWeoR5J9LB7TGU5e8ltvYtegAVNC sfO3xLvH2LyJqxnBapME9pSy+AjvGck= X-MC-Unique: XLk2zpwRMnmctbhhrzHD5g-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 16/43] conf: storage: Remove virStorageVolDefParseNode Date: Tue, 4 Oct 2022 10:32:50 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872511925100001 Content-Type: text/plain; charset="utf-8" Proper use of virXMLParse replaces everything the function provides. Callers can use virStorageVolDefParseXML instead. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/storage_conf.c | 37 ++++++------------------------------- src/conf/storage_conf.h | 7 +++---- src/libvirt_private.syms | 2 +- src/test/test_driver.c | 6 +++--- 4 files changed, 13 insertions(+), 39 deletions(-) diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index 0c095c73e0..703149241a 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -1234,7 +1234,7 @@ virStorageCheckCompat(const char *compat) } -static virStorageVolDef * +virStorageVolDef * virStorageVolDefParseXML(virStoragePoolDef *pool, xmlXPathContextPtr ctxt, unsigned int flags) @@ -1401,45 +1401,20 @@ virStorageVolDefParseXML(virStoragePoolDef *pool, } -virStorageVolDef * -virStorageVolDefParseNode(virStoragePoolDef *pool, - xmlDocPtr xml, - xmlNodePtr root, - unsigned int flags) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (!virXMLNodeNameEqual(root, "volume")) { - virReportError(VIR_ERR_XML_ERROR, - _("unexpected root element <%s>, " - "expecting "), - root->name); - return NULL; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - return virStorageVolDefParseXML(pool, ctxt, flags); -} - - static virStorageVolDef * virStorageVolDefParse(virStoragePoolDef *pool, const char *xmlStr, const char *filename, unsigned int flags) { - virStorageVolDef *ret =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; - if ((xml =3D virXMLParse(filename, xmlStr, _("(storage_volume_definiti= on)"), - NULL, NULL, NULL, false))) { - ret =3D virStorageVolDefParseNode(pool, xml, xmlDocGetRootElement(= xml), flags); - } + if (!(xml =3D virXMLParse(filename, xmlStr, _("(storage_volume_definit= ion)"), + "volume", &ctxt, NULL, false))) + return NULL; - return ret; + return virStorageVolDefParseXML(pool, ctxt, flags); } diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h index ead54ca7c6..14167af761 100644 --- a/src/conf/storage_conf.h +++ b/src/conf/storage_conf.h @@ -297,10 +297,9 @@ virStorageVolDefParseFile(virStoragePoolDef *pool, unsigned int flags); virStorageVolDef * -virStorageVolDefParseNode(virStoragePoolDef *pool, - xmlDocPtr xml, - xmlNodePtr root, - unsigned int flags); +virStorageVolDefParseXML(virStoragePoolDef *pool, + xmlXPathContextPtr ctxt, + unsigned int flags); char * virStorageVolDefFormat(virStoragePoolDef *pool, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 8fec8d9027..3191c9d5f7 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1079,8 +1079,8 @@ virStorageVolDefFindByPath; virStorageVolDefFormat; virStorageVolDefFree; virStorageVolDefParseFile; -virStorageVolDefParseNode; virStorageVolDefParseString; +virStorageVolDefParseXML; virStorageVolDefRefreshAllocationTypeFromString; virStorageVolDefRefreshAllocationTypeToString; virStorageVolTypeFromString; diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 4245b32c15..943c0834cd 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1147,6 +1147,7 @@ testOpenVolumesForPool(const char *file, xmlXPathContextPtr ctxt, virStoragePoolObj *obj) { + VIR_XPATH_NODE_AUTORESTORE(ctxt) virStoragePoolDef *def =3D virStoragePoolObjGetDef(obj); size_t i; int num; @@ -1158,11 +1159,10 @@ testOpenVolumesForPool(const char *file, return -1; for (i =3D 0; i < num; i++) { - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); - if (!node) + if (!(ctxt->node =3D testParseXMLDocFromFile(nodes[i], file))) return -1; - if (!(volDef =3D virStorageVolDefParseNode(def, ctxt->doc, node, 0= ))) + if (!(volDef =3D virStorageVolDefParseXML(def, ctxt, 0))) return -1; if (!volDef->target.path) { --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872578; cv=none; d=zohomail.com; s=zohoarc; b=jw0Bs+J8Fnx6Phtck1C0IvCkkLcqPLQ0iniRpsgzHwowqeIoBV0ki1pdJG2sGvUiGM1hpNIC+c892pXqpv1+vE93ex3EE577qRVnieMlHDJe/pjMZ3MU1xpjHD8w3DTFl+guuajOqJrJRrGW+pZzvsoPwWNS3YjJVrsNT1IdK50= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872578; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=PR+z+UV0cKjVcvENCjThinkohgefuNTbXYWkdm+6mKQ=; b=BBs1JYLm39kFhMix3iSZ9350+2O0R0Ok/CK6x6t/fNT8DrKiUbzG6d7Eq4SUWz2hvXnBuY2e7M0ly25VqoV6gfdK2ofBkUEo3cOks6uxDFwAEi+HntzT7pdQ1U93m6V0mtIaV3vlVd4QnWg8B6ExFVAQzPtXK2n8W3lStcDCrgc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872578415672.2744236044538; Tue, 4 Oct 2022 01:36:18 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-247-yK6nAo6wMHaJQw3wGEbsVg-1; Tue, 04 Oct 2022 04:33:39 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1A7A6299E760; Tue, 4 Oct 2022 08:33:37 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 02DD7140EBF3; Tue, 4 Oct 2022 08:33:37 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 642A719465A2; Tue, 4 Oct 2022 08:33:36 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 0577D1947046 for ; Tue, 4 Oct 2022 08:33:34 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id C3C1F40C6EC2; Tue, 4 Oct 2022 08:33:34 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3E51B40C6EC5 for ; Tue, 4 Oct 2022 08:33:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872577; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=PR+z+UV0cKjVcvENCjThinkohgefuNTbXYWkdm+6mKQ=; b=Zj+WRaH9Re5foOtiJmwnAezhpR3YkMI2sXGG/XHOVAEZ0J6kMCmDioCfzjyFnVyG2/wQOy L+RnLl8UElpvHYprT6yaSvjfH7tmFu+R9a7greJzfA/VgTYD3ciPNCGu83Al2I5J+1PtMq 1KERYeCpCXSkAauPxZAxnFL3QZ09UUw= X-MC-Unique: yK6nAo6wMHaJQw3wGEbsVg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 17/43] conf: storage: Provide only virStorageVolDefParse Date: Tue, 4 Oct 2022 10:32:51 +0200 Message-Id: <6586c9e8bd19cb7b2d5b9097355841f5936cb9d3.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872580391100001 Content-Type: text/plain; charset="utf-8" Remove the virStorageVolDefParseFile/String shim functions. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/storage_conf.c | 20 +------------------- src/conf/storage_conf.h | 12 ++++-------- src/esx/esx_storage_backend_vmfs.c | 4 ++-- src/libvirt_private.syms | 3 +-- src/storage/storage_driver.c | 6 ++---- src/test/test_driver.c | 4 ++-- src/vbox/vbox_storage.c | 2 +- tests/storagevolxml2argvtest.c | 4 ++-- tests/storagevolxml2xmltest.c | 2 +- 9 files changed, 16 insertions(+), 41 deletions(-) diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index 703149241a..4f2f9e7fb1 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -1401,7 +1401,7 @@ virStorageVolDefParseXML(virStoragePoolDef *pool, } -static virStorageVolDef * +virStorageVolDef * virStorageVolDefParse(virStoragePoolDef *pool, const char *xmlStr, const char *filename, @@ -1418,24 +1418,6 @@ virStorageVolDefParse(virStoragePoolDef *pool, } -virStorageVolDef * -virStorageVolDefParseString(virStoragePoolDef *pool, - const char *xmlStr, - unsigned int flags) -{ - return virStorageVolDefParse(pool, xmlStr, NULL, flags); -} - - -virStorageVolDef * -virStorageVolDefParseFile(virStoragePoolDef *pool, - const char *filename, - unsigned int flags) -{ - return virStorageVolDefParse(pool, NULL, filename, flags); -} - - static void virStorageVolTimestampFormat(virBuffer *buf, const char *name, struct timespec *ts) diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h index 14167af761..bbfdbc2f2f 100644 --- a/src/conf/storage_conf.h +++ b/src/conf/storage_conf.h @@ -287,14 +287,10 @@ typedef enum { } virStorageVolDefParseFlags; virStorageVolDef * -virStorageVolDefParseString(virStoragePoolDef *pool, - const char *xml, - unsigned int flags); - -virStorageVolDef * -virStorageVolDefParseFile(virStoragePoolDef *pool, - const char *filename, - unsigned int flags); +virStorageVolDefParse(virStoragePoolDef *pool, + const char *xmlStr, + const char *filename, + unsigned int flags); virStorageVolDef * virStorageVolDefParseXML(virStoragePoolDef *pool, diff --git a/src/esx/esx_storage_backend_vmfs.c b/src/esx/esx_storage_backe= nd_vmfs.c index c718597d72..4efcc2fc75 100644 --- a/src/esx/esx_storage_backend_vmfs.c +++ b/src/esx/esx_storage_backend_vmfs.c @@ -861,7 +861,7 @@ esxStorageVolCreateXML(virStoragePoolPtr pool, } /* Parse config */ - def =3D virStorageVolDefParseString(&poolDef, xmldesc, 0); + def =3D virStorageVolDefParse(&poolDef, xmldesc, NULL, 0); if (!def) goto cleanup; @@ -1063,7 +1063,7 @@ esxStorageVolCreateXMLFrom(virStoragePoolPtr pool, sourceVolume->name); /* Parse config */ - def =3D virStorageVolDefParseString(&poolDef, xmldesc, 0); + def =3D virStorageVolDefParse(&poolDef, xmldesc, NULL, 0); if (!def) goto cleanup; diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 3191c9d5f7..c1ecd1ab04 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1078,8 +1078,7 @@ virStorageVolDefFindByName; virStorageVolDefFindByPath; virStorageVolDefFormat; virStorageVolDefFree; -virStorageVolDefParseFile; -virStorageVolDefParseString; +virStorageVolDefParse; virStorageVolDefParseXML; virStorageVolDefRefreshAllocationTypeFromString; virStorageVolDefRefreshAllocationTypeToString; diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index aefe638083..c25d9ca1ad 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -1893,8 +1893,7 @@ storageVolCreateXML(virStoragePoolPtr pool, if ((backend =3D virStorageBackendForType(def->type)) =3D=3D NULL) goto cleanup; - voldef =3D virStorageVolDefParseString(def, xmldesc, - VIR_VOL_XML_PARSE_OPT_CAPACITY); + voldef =3D virStorageVolDefParse(def, xmldesc, NULL, VIR_VOL_XML_PARSE= _OPT_CAPACITY); if (voldef =3D=3D NULL) goto cleanup; @@ -2067,8 +2066,7 @@ storageVolCreateXMLFrom(virStoragePoolPtr pool, goto cleanup; } - voldef =3D virStorageVolDefParseString(def, xmldesc, - VIR_VOL_XML_PARSE_NO_CAPACITY); + voldef =3D virStorageVolDefParse(def, xmldesc, NULL, VIR_VOL_XML_PARSE= _NO_CAPACITY); if (voldef =3D=3D NULL) goto cleanup; diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 943c0834cd..5a4e240d35 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -7198,7 +7198,7 @@ testStorageVolCreateXML(virStoragePoolPtr pool, return NULL; def =3D virStoragePoolObjGetDef(obj); - privvol =3D virStorageVolDefParseString(def, xmldesc, 0); + privvol =3D virStorageVolDefParse(def, xmldesc, NULL, 0); if (privvol =3D=3D NULL) goto cleanup; @@ -7257,7 +7257,7 @@ testStorageVolCreateXMLFrom(virStoragePoolPtr pool, return NULL; def =3D virStoragePoolObjGetDef(obj); - privvol =3D virStorageVolDefParseString(def, xmldesc, 0); + privvol =3D virStorageVolDefParse(def, xmldesc, NULL, 0); if (privvol =3D=3D NULL) goto cleanup; diff --git a/src/vbox/vbox_storage.c b/src/vbox/vbox_storage.c index be609033e1..7d1cee562f 100644 --- a/src/vbox/vbox_storage.c +++ b/src/vbox/vbox_storage.c @@ -423,7 +423,7 @@ vboxStorageVolCreateXML(virStoragePoolPtr pool, memset(&poolDef, 0, sizeof(poolDef)); poolDef.type =3D VIR_STORAGE_POOL_DIR; - if ((def =3D virStorageVolDefParseString(&poolDef, xml, 0)) =3D=3D NUL= L) + if ((def =3D virStorageVolDefParse(&poolDef, xml, NULL, 0)) =3D=3D NUL= L) goto cleanup; if (!def->name || diff --git a/tests/storagevolxml2argvtest.c b/tests/storagevolxml2argvtest.c index 22b4cda5c5..0b7848d9ea 100644 --- a/tests/storagevolxml2argvtest.c +++ b/tests/storagevolxml2argvtest.c @@ -65,11 +65,11 @@ testCompareXMLToArgvFiles(bool shouldFail, if (inputvolxml) parse_flags |=3D VIR_VOL_XML_PARSE_NO_CAPACITY; - if (!(vol =3D virStorageVolDefParseFile(def, volxml, parse_flags))) + if (!(vol =3D virStorageVolDefParse(def, NULL, volxml, parse_flags))) goto cleanup; if (inputvolxml && - !(inputvol =3D virStorageVolDefParseFile(inputpool, inputvolxml, 0= ))) + !(inputvol =3D virStorageVolDefParse(inputpool, NULL, inputvolxml,= 0))) goto cleanup; testSetVolumeType(vol, def); diff --git a/tests/storagevolxml2xmltest.c b/tests/storagevolxml2xmltest.c index 7b229ac52a..3ea54e6a7a 100644 --- a/tests/storagevolxml2xmltest.c +++ b/tests/storagevolxml2xmltest.c @@ -22,7 +22,7 @@ testCompareXMLToXMLFiles(const char *poolxml, const char = *inxml, if (!(pool =3D virStoragePoolDefParse(NULL, poolxml, 0))) return -1; - if (!(dev =3D virStorageVolDefParseFile(pool, inxml, flags))) + if (!(dev =3D virStorageVolDefParse(pool, NULL, inxml, flags))) return -1; if (!(actual =3D virStorageVolDefFormat(pool, dev))) --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872695; cv=none; d=zohomail.com; s=zohoarc; b=nLNtARC9ic+/piM/MTHaj6GyiEREF8FJ3fQxoaJEPa8V7duQqOl5XcKWY9ElBEZMfbnY8IcNG1OaMiKjm7c2I+Sr1aqLcx9FD/Q/LJQcxN3n8avWFN5WjbGUolXP8uCuS0mNS1FQHovVwFl6h/f+3ETg+L89IqDeMdM1MRTMG4o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872695; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uF5VzHhdGOrYtYIIyblCT5zuuKpRsQYQBaYaZ6nDzgw=; b=eAmcGsEODivEQzcmEPx6zESFKzCCh+RAtr4FGommLEHmsv+esTKBkbNU6wQopNmwM2UARu2ysHwnWUGNeqchMLQGx11ZrIpvraKPupcPUIIESLcgwsi/ZCUqrEkwA7LQWJeTivt+zwAc3WejWim7qtWwgD9R2Wd8IoCcwJf58/o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872695169818.2027580387207; Tue, 4 Oct 2022 01:38:15 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-536-rg05qDw7MaShRcKs0bJVDw-1; Tue, 04 Oct 2022 04:33:41 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 98F59299E767; Tue, 4 Oct 2022 08:33:38 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 82E2B492B09; Tue, 4 Oct 2022 08:33:38 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 48F831947047; Tue, 4 Oct 2022 08:33:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id D3A971947055 for ; Tue, 4 Oct 2022 08:33:35 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id AE8A040C6EC3; Tue, 4 Oct 2022 08:33:35 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2735F40C6EC2 for ; Tue, 4 Oct 2022 08:33:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872694; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=uF5VzHhdGOrYtYIIyblCT5zuuKpRsQYQBaYaZ6nDzgw=; b=RPbWZ3MLBsoZ4vDoe43CfTwYym0L5kOV3f1I7whnREnfBpQZhjxDCrZKFfBPflfRwS233Z RQVNOSANWcgWQTdBZdagfw+/j4XYsaXxOqo3IFWfZrbZbN2u5OgXdBXMSyZ4lZQB91s0wU iaxLKBSL3IztCVuxVcvcIvflfo61uy4= X-MC-Unique: rg05qDw7MaShRcKs0bJVDw-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 18/43] conf: snapshot: Remove virDomainSnapshotDefParseNode Date: Tue, 4 Oct 2022 10:32:52 +0200 Message-Id: <4957c38fe69508e3b23b40dc451403b0ac7c0916.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872696658100001 Content-Type: text/plain; charset="utf-8" Check the root XML node name and fetch XPath context by properly configuring virXMLParse. Callers can use virDomainSnapshotDefParse instead. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/snapshot_conf.c | 40 +++++++++------------------------------- src/conf/snapshot_conf.h | 13 +++++++------ src/test/test_driver.c | 18 ++++++++---------- 3 files changed, 24 insertions(+), 47 deletions(-) diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c index a5974053f4..afdc11876d 100644 --- a/src/conf/snapshot_conf.c +++ b/src/conf/snapshot_conf.c @@ -197,7 +197,7 @@ virDomainSnapshotDiskDefParseXML(xmlNodePtr node, * If flags does not include * VIR_DOMAIN_SNAPSHOT_PARSE_INTERNAL, then current is ignored. */ -static virDomainSnapshotDef * +virDomainSnapshotDef * virDomainSnapshotDefParse(xmlXPathContextPtr ctxt, virDomainXMLOption *xmlopt, void *parseOpaque, @@ -389,27 +389,6 @@ virDomainSnapshotDefParse(xmlXPathContextPtr ctxt, return g_steal_pointer(&def); } -virDomainSnapshotDef * -virDomainSnapshotDefParseNode(xmlDocPtr xml, - xmlNodePtr root, - virDomainXMLOption *xmlopt, - void *parseOpaque, - bool *current, - unsigned int flags) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (!virXMLNodeNameEqual(root, "domainsnapshot")) { - virReportError(VIR_ERR_XML_ERROR, "%s", _("domainsnapshot")); - return NULL; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - return virDomainSnapshotDefParse(ctxt, xmlopt, parseOpaque, current, f= lags); -} virDomainSnapshotDef * virDomainSnapshotDefParseString(const char *xmlStr, @@ -418,21 +397,20 @@ virDomainSnapshotDefParseString(const char *xmlStr, bool *current, unsigned int flags) { - virDomainSnapshotDef *ret =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; int keepBlanksDefault =3D xmlKeepBlanksDefault(0); bool validate =3D flags & VIR_DOMAIN_SNAPSHOT_PARSE_VALIDATE; - if ((xml =3D virXMLParse(NULL, xmlStr, _("(domain_snapshot)"), - NULL, NULL, "domainsnapshot.rng", validate))) { - xmlKeepBlanksDefault(keepBlanksDefault); - ret =3D virDomainSnapshotDefParseNode(xml, xmlDocGetRootElement(xm= l), - xmlopt, parseOpaque, - current, flags); - } + xml =3D virXMLParse(NULL, xmlStr, _("(domain_snapshot)"), + "domainsnapshot", &ctxt, "domainsnapshot.rng", valid= ate); + xmlKeepBlanksDefault(keepBlanksDefault); - return ret; + if (!xml) + return NULL; + + return virDomainSnapshotDefParse(ctxt, xmlopt, parseOpaque, current, f= lags); } diff --git a/src/conf/snapshot_conf.h b/src/conf/snapshot_conf.h index 1f787f1a94..fec4a5a912 100644 --- a/src/conf/snapshot_conf.h +++ b/src/conf/snapshot_conf.h @@ -102,12 +102,13 @@ virDomainSnapshotDef *virDomainSnapshotDefParseString= (const char *xmlStr, void *parseOpaque, bool *current, unsigned int flags); -virDomainSnapshotDef *virDomainSnapshotDefParseNode(xmlDocPtr xml, - xmlNodePtr root, - virDomainXMLOption *xm= lopt, - void *parseOpaque, - bool *current, - unsigned int flags); +virDomainSnapshotDef * +virDomainSnapshotDefParse(xmlXPathContextPtr ctxt, + virDomainXMLOption *xmlopt, + void *parseOpaque, + bool *current, + unsigned int flags); + virDomainSnapshotDef *virDomainSnapshotDefNew(void); char *virDomainSnapshotDefFormat(const char *uuidstr, virDomainSnapshotDef *def, diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 5a4e240d35..50c8a7e2be 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -961,25 +961,23 @@ testParseDomainSnapshots(testDriver *privconn, const char *file, xmlXPathContextPtr ctxt) { + VIR_XPATH_NODE_AUTORESTORE(ctxt) size_t i; testDomainNamespaceDef *nsdata =3D domobj->def->namespaceData; xmlNodePtr *nodes =3D nsdata->snap_nodes; - bool cur; for (i =3D 0; i < nsdata->num_snap_nodes; i++) { virDomainMomentObj *snap; g_autoptr(virDomainSnapshotDef) def =3D NULL; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); - if (!node) + unsigned int parseFlags =3D VIR_DOMAIN_SNAPSHOT_PARSE_INTERNAL | + VIR_DOMAIN_SNAPSHOT_PARSE_REDEFINE; + bool cur; + + if (!(ctxt->node =3D testParseXMLDocFromFile(nodes[i], file))) return -1; - def =3D virDomainSnapshotDefParseNode(ctxt->doc, node, - privconn->xmlopt, - NULL, - &cur, - VIR_DOMAIN_SNAPSHOT_PARSE_INTE= RNAL | - VIR_DOMAIN_SNAPSHOT_PARSE_REDE= FINE); - if (!def) + if (!(def =3D virDomainSnapshotDefParse(ctxt, privconn->xmlopt, NU= LL, + &cur, parseFlags))) return -1; if (!(snap =3D virDomainSnapshotAssignDef(domobj->snapshots, &def)= )) --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872424; cv=none; d=zohomail.com; s=zohoarc; b=Nr/CQ3mpHXnp49zWSe9j6qCFk3QWs8FnVpreuuj52X38OSmj6i21jef5VD9l3HqZUBfmCnMbH/dbOKjdr6Gl/1G+ktzBikOIWf6a+9xCL7K6CnjdjQYJXW32UCjxnC/GnyaXrSUSDYW+VDtXBu4YFrh/myIfVWS4ReQKezWJ3y8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872424; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xjwgbpiKAuMPD7slRv0VcK1n62K1nFz6M7lMxqmlUvA=; b=C4xXxhyK+2342rgQhAfWQ+C0ItddG7PUd7W8vGxprDMXhMi5ME+HRm76+CgeW7ow4tHHRp3aXaRz1l8esIOtQUD3P7SjJ4BY90ItzhTbicfMrLDaM/bsDM9RZNcN+4hIsLIbfLkb/OTnsgbk4b8y2wHb9PVla/gdTNGtDVCiZTg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872424836574.0733305983427; Tue, 4 Oct 2022 01:33:44 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-438-JKXrW_1cNGCbQH_qlBiHhQ-1; Tue, 04 Oct 2022 04:33:41 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0E04380A0BC; Tue, 4 Oct 2022 08:33:39 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id EFE67C15BA4; Tue, 4 Oct 2022 08:33:38 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E215519465A2; Tue, 4 Oct 2022 08:33:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id B42121947042 for ; Tue, 4 Oct 2022 08:33:36 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 938F540C6EC3; Tue, 4 Oct 2022 08:33:36 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 114A440C6EC2 for ; Tue, 4 Oct 2022 08:33:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872423; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=xjwgbpiKAuMPD7slRv0VcK1n62K1nFz6M7lMxqmlUvA=; b=U46hRr5TVOHv3tGm+h3oPLBdB05eyLVzw/TiIbIFSpAE+DMJWlPY36QI8uM0uqRZllASaA UOkVNaG/nSunrzVbgo0FgS6Gjpk0g/B5fb79bHHo2ipJQNhEKWcs8dVmvFvA1DhzB1D/vM tjmd9yj3v4QfMW9oG6MA6HWpNravK0M= X-MC-Unique: JKXrW_1cNGCbQH_qlBiHhQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 19/43] conf: secret: Refactor secretXMLParseNode Date: Tue, 4 Oct 2022 10:32:53 +0200 Message-Id: <5fb1f79b3efb263f182b07c98b74a3d6aca95448.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872425210100002 Content-Type: text/plain; charset="utf-8" Rename it to virSecretParseXML and move the root node validation and context fetching into the caller (by properly calling virXMLParse). Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/secret_conf.c | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/src/conf/secret_conf.c b/src/conf/secret_conf.c index 02c2e38964..d41d8157cd 100644 --- a/src/conf/secret_conf.c +++ b/src/conf/secret_conf.c @@ -123,28 +123,15 @@ virSecretDefParseUsage(xmlXPathContextPtr ctxt, return 0; } + static virSecretDef * -secretXMLParseNode(xmlDocPtr xml, xmlNodePtr root) +virSecretParseXML(xmlXPathContext *ctxt) { - g_autoptr(xmlXPathContext) ctxt =3D NULL; g_autoptr(virSecretDef) def =3D NULL; g_autofree char *ephemeralstr =3D NULL; g_autofree char *privatestr =3D NULL; g_autofree char *uuidstr =3D NULL; - if (!virXMLNodeNameEqual(root, "secret")) { - virReportError(VIR_ERR_XML_ERROR, - _("unexpected root element <%s>, " - "expecting "), - root->name); - return NULL; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - def =3D g_new0(virSecretDef, 1); if ((ephemeralstr =3D virXPathString("string(./@ephemeral)", ctxt))) { @@ -186,21 +173,21 @@ secretXMLParseNode(xmlDocPtr xml, xmlNodePtr root) return g_steal_pointer(&def); } + static virSecretDef * virSecretDefParse(const char *xmlStr, const char *filename, unsigned int flags) { g_autoptr(xmlDoc) xml =3D NULL; - virSecretDef *ret =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; bool validate =3D flags & VIR_SECRET_DEFINE_VALIDATE; - if ((xml =3D virXMLParse(filename, xmlStr, _("(definition_of_secret)"), - NULL, NULL, "secret.rng", validate))) { - ret =3D secretXMLParseNode(xml, xmlDocGetRootElement(xml)); - } + if (!(xml =3D virXMLParse(filename, xmlStr, _("(definition_of_secret)"= ), + "secret", &ctxt, "secret.rng", validate))) + return NULL; - return ret; + return virSecretParseXML(ctxt); } virSecretDef * --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872430; cv=none; d=zohomail.com; s=zohoarc; b=knMFgmW4bNXmGPoIY7w2AKW+T1uleu7n3/QxgNRKqJbfvWDls2u5WY+RZfLri/X9ep0GWnLImUlpb0bgFttFR/KfnuVNLzOBNxSp/LxuCT73EYYsxDakjuF8Cyj77j/Het9BzUogYsVJ1zw/SxcHEtl2xoQOvLLKiT9KMOqIUfo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872430; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ebEYA+kvqk7Xbczgol+dkq1zDwlI/YDMRHlZ85EVdsc=; b=W4k1xtulfsMuJtRo5NCaNYe8v9Qn9DKwnFk2kD5sQz3TwHUq0HwxAF9LEoZSHZIT+1fU4aFVrbv1U+eJtail1psDtASExsX9ZNnGQwY6fm4WJleA6v27mDPi0gF6CKxLh//ZPHdC/gGOSCS6S75DBS5l6MZ5Fwa+IhwQPxRuyG0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872430144165.54706480048083; Tue, 4 Oct 2022 01:33:50 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-561-gz0TFQI3PvGG-lUl4QQfrw-1; Tue, 04 Oct 2022 04:33:42 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D45FB86C051; Tue, 4 Oct 2022 08:33:39 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id C22074221F; Tue, 4 Oct 2022 08:33:39 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 4D9EC1947054; Tue, 4 Oct 2022 08:33:39 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 934A31947054 for ; Tue, 4 Oct 2022 08:33:37 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 7B59640C6EC5; Tue, 4 Oct 2022 08:33:37 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id E923D40C6EC3 for ; Tue, 4 Oct 2022 08:33:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872429; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=ebEYA+kvqk7Xbczgol+dkq1zDwlI/YDMRHlZ85EVdsc=; b=J1vmKVQsK7wwUToEDKG54O4NHVThAC8uQejzS2lOBMsJSovvbvF+yORkEUjj746YhVf5Kt lkDmJbaoZUeb6M5IeG/HGv5U8r3zucX1JdNyah9UG5uOU/ocvIIlpbWixEIvnMY43oisER 1OViAaEuMTQcC0i2DTiHOhWagGHsLzo= X-MC-Unique: gz0TFQI3PvGG-lUl4QQfrw-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 20/43] conf: secret: Provide only virSecretDefParse Date: Tue, 4 Oct 2022 10:32:54 +0200 Message-Id: <13f985ebb68c9fe6c571b11734406568f6594b3d.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872431226100002 Content-Type: text/plain; charset="utf-8" Replace the virSecretDefParseFile/String shims by calls to virSecretDefParse. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/secret_conf.c | 14 +------------- src/conf/secret_conf.h | 7 +++++-- src/conf/virsecretobj.c | 2 +- src/libvirt_private.syms | 3 +-- src/secret/secret_driver.c | 2 +- tests/secretxml2xmltest.c | 2 +- 6 files changed, 10 insertions(+), 20 deletions(-) diff --git a/src/conf/secret_conf.c b/src/conf/secret_conf.c index d41d8157cd..629a4a57f7 100644 --- a/src/conf/secret_conf.c +++ b/src/conf/secret_conf.c @@ -174,7 +174,7 @@ virSecretParseXML(xmlXPathContext *ctxt) } -static virSecretDef * +virSecretDef * virSecretDefParse(const char *xmlStr, const char *filename, unsigned int flags) @@ -190,18 +190,6 @@ virSecretDefParse(const char *xmlStr, return virSecretParseXML(ctxt); } -virSecretDef * -virSecretDefParseString(const char *xmlStr, - unsigned int flags) -{ - return virSecretDefParse(xmlStr, NULL, flags); -} - -virSecretDef * -virSecretDefParseFile(const char *filename) -{ - return virSecretDefParse(NULL, filename, 0); -} static int virSecretDefFormatUsage(virBuffer *buf, diff --git a/src/conf/secret_conf.h b/src/conf/secret_conf.h index 36d50407fd..dee98899ac 100644 --- a/src/conf/secret_conf.h +++ b/src/conf/secret_conf.h @@ -35,8 +35,11 @@ struct _virSecretDef { void virSecretDefFree(virSecretDef *def); G_DEFINE_AUTOPTR_CLEANUP_FUNC(virSecretDef, virSecretDefFree); -virSecretDef *virSecretDefParseString(const char *xml, unsigned int flags); -virSecretDef *virSecretDefParseFile(const char *filename); +virSecretDef * +virSecretDefParse(const char *xmlStr, + const char *filename, + unsigned int flags); + char *virSecretDefFormat(const virSecretDef *def); #define VIR_CONNECT_LIST_SECRETS_FILTERS_EPHEMERAL \ diff --git a/src/conf/virsecretobj.c b/src/conf/virsecretobj.c index 4032cd1e9a..4929f74155 100644 --- a/src/conf/virsecretobj.c +++ b/src/conf/virsecretobj.c @@ -870,7 +870,7 @@ virSecretLoad(virSecretObjList *secrets, virSecretDef *def =3D NULL; virSecretObj *obj =3D NULL; - if (!(def =3D virSecretDefParseFile(path))) + if (!(def =3D virSecretDefParse(NULL, path, 0))) goto cleanup; if (virSecretLoadValidateUUID(def, file) < 0) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index c1ecd1ab04..6334cbb448 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1010,8 +1010,7 @@ virObjectEventStateQueue; # conf/secret_conf.h virSecretDefFormat; virSecretDefFree; -virSecretDefParseFile; -virSecretDefParseString; +virSecretDefParse; virSecretUsageTypeFromString; virSecretUsageTypeToString; diff --git a/src/secret/secret_driver.c b/src/secret/secret_driver.c index 6328589fa4..bd981a8ace 100644 --- a/src/secret/secret_driver.c +++ b/src/secret/secret_driver.c @@ -207,7 +207,7 @@ secretDefineXML(virConnectPtr conn, virCheckFlags(VIR_SECRET_DEFINE_VALIDATE, NULL); - if (!(def =3D virSecretDefParseString(xml, flags))) + if (!(def =3D virSecretDefParse(xml, NULL, flags))) return NULL; if (virSecretDefineXMLEnsureACL(conn, def) < 0) diff --git a/tests/secretxml2xmltest.c b/tests/secretxml2xmltest.c index 828e44a32b..eb4d3e143c 100644 --- a/tests/secretxml2xmltest.c +++ b/tests/secretxml2xmltest.c @@ -13,7 +13,7 @@ testCompareXMLToXMLFiles(const char *inxml, const char *o= utxml) g_autofree char *actual =3D NULL; g_autoptr(virSecretDef) secret =3D NULL; - if (!(secret =3D virSecretDefParseFile(inxml))) + if (!(secret =3D virSecretDefParse(NULL, inxml, 0))) return -1; if (!(actual =3D virSecretDefFormat(secret))) --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872517; cv=none; d=zohomail.com; s=zohoarc; b=P3+U8TWiGR22b9adpGJtXh5MxcXpOQoE44MHVNnnNdJTqRM2k6dfFBhjg2InOIArSNEwUwa7t1OyrA7bAc9UnfBN4U2dLjAlIsFaDwqVvgcCQGFAL6hhbLpB8MDqI5zBzqdbRJGT1yoqwuB5nyZIMse4Pv0P5nEZRMym5OHv+zw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872517; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fRJFry7f1Be/bi78TKvmPyfS6v0KKe7NRooKxIeHmGY=; b=IG9KbvW6UHU1V3fbiWKNmTX+1KYCofzA3krhqXbqYurvLkuAWTnFqGSufp6Dxuo2t0dnoi77pRn8j6rs+/pb3wlrq8RCmJgG+gotp9K/B7H80olZjPHZD1tfoISJUkTZUjXBPdjkpT34xJrUaqUpHKo4zJ37jNqlCjx4NsfVh1Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872517683563.6600604085475; Tue, 4 Oct 2022 01:35:17 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-475-09Yo4lV4O7e38oa1fm3NyQ-1; Tue, 04 Oct 2022 04:33:43 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7226B101160F; Tue, 4 Oct 2022 08:33:40 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 534C84099B5B; Tue, 4 Oct 2022 08:33:40 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 3DCBB1946A46; Tue, 4 Oct 2022 08:33:40 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 77556194704D for ; Tue, 4 Oct 2022 08:33:38 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 629A640C6EC3; Tue, 4 Oct 2022 08:33:38 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id D410A40C6EC2 for ; Tue, 4 Oct 2022 08:33:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872515; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=fRJFry7f1Be/bi78TKvmPyfS6v0KKe7NRooKxIeHmGY=; b=QShB1RTpOmvvoEGUHaY5sjOL3LsTgeiTBu1GFLvXeBdts58hqzYB5W2hZ02JEidyR0847h pbXlcVLxOWZVFNxcJtj7ezyYJ6aahl8OjPcmj4EaQF6BWEzVBu6IFWdviql7xZPYTCe/+h eqY5WVwW5kKk2EftGFHmKWzRSz7zUt4= X-MC-Unique: 09Yo4lV4O7e38oa1fm3NyQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 21/43] prlsdkParseSnapshotTree: Simplify XML parsing code Date: Tue, 4 Oct 2022 10:32:55 +0200 Message-Id: <60f3cbdf3dd50664f9a279d2d05061ef2a8efa55.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872517984100009 Content-Type: text/plain; charset="utf-8" Use features of virXMLParse to validate root node and fetch XPath context. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/vz/vz_sdk.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c index 8fb7a9948d..8cd3348f5c 100644 --- a/src/vz/vz_sdk.c +++ b/src/vz/vz_sdk.c @@ -4566,7 +4566,6 @@ prlsdkParseSnapshotTree(const char *treexml) virDomainSnapshotObjList *ret =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; g_autoptr(xmlXPathContext) ctxt =3D NULL; - xmlNodePtr root; xmlNodePtr *nodes =3D NULL; virDomainSnapshotDef *def =3D NULL; virDomainMomentObj *snapshot; @@ -4582,21 +4581,9 @@ prlsdkParseSnapshotTree(const char *treexml) return snapshots; if (!(xml =3D virXMLParse(NULL, treexml, _("(snapshot_tree)"), - NULL, NULL, NULL, false))) + "ParallelsSavedStates", &ctxt, NULL, false))) goto cleanup; - root =3D xmlDocGetRootElement(xml); - if (!virXMLNodeNameEqual(root, "ParallelsSavedStates")) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("unexpected root element: '%s'"), root->name); - goto cleanup; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - goto cleanup; - - ctxt->node =3D root; - if ((n =3D virXPathNodeSet("//SavedStateItem", ctxt, &nodes)) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot extract snapshot nodes")); @@ -4604,7 +4591,7 @@ prlsdkParseSnapshotTree(const char *treexml) } for (i =3D 0; i < n; i++) { - if (nodes[i]->parent =3D=3D root) + if (nodes[i]->parent =3D=3D xmlDocGetRootElement(xml)) continue; def =3D g_new0(virDomainSnapshotDef, 1); --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872512; cv=none; d=zohomail.com; s=zohoarc; b=jXzqn/kfaoVM9lMGA/DWF0Lls5gjKUdnj3E2kV1SWgri17JXdbma0SX08JHuSuQAaEEl2dgk9Kr9D2cwUcUedfhrGEeDibDS/Nn34Xy65braVxQ7nyFeUQpIWF5oJ9b+WabnwLCCGjPbs8tiW4u6WGvf5N6cjQBEapsWYFNwGS4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872512; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xNZ5pESCDmzpGXMMS0yZR8xQ0UrbVKf8z1w/PlldoOs=; b=gvseH4bGsu0QAk92aZcma/ki1TI37G+gr6t+RZCj+QQY/dbb2LfOyQ3pI6RYJtLKfBQ1EPq3C1Bdd0DZxkzEDgxHvty12aRkByaafoH/rtR1jyjNIGdiaDZZfujAtAd7Wx/cscsjVVOm5fi9LFK44AtwhrsDGyhGcg+orKCHx2g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 166487251285633.43573225845955; Tue, 4 Oct 2022 01:35:12 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-589-gmuGdkmkOuWWzEiTugNzFA-1; Tue, 04 Oct 2022 04:33:46 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 441BC882833; Tue, 4 Oct 2022 08:33:41 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id EF158C15BA4; Tue, 4 Oct 2022 08:33:40 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id A90181947049; Tue, 4 Oct 2022 08:33:40 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 91FFF1947048 for ; Tue, 4 Oct 2022 08:33:39 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 7718840C6EC2; Tue, 4 Oct 2022 08:33:39 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id F1AE440C6EC3 for ; Tue, 4 Oct 2022 08:33:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872510; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=xNZ5pESCDmzpGXMMS0yZR8xQ0UrbVKf8z1w/PlldoOs=; b=OO5BdH7vfqj225JrRPtY+gq9WvV3bo7ISMQziCpPJkML/K/fJLK4JYHDjtwasegMxoZgUX 9Kkk/Qp3wdJDfaS9rPV3MlV0RtwiMXG7B/wfyRhzIHvjhl+XAGEuoolmvG1+g7lliQgB0i DT570WJCAc16+UwH+2mhzG4MWJjzOok= X-MC-Unique: gmuGdkmkOuWWzEiTugNzFA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 22/43] conf: checkpoint: Remove virDomainCheckpointDefParseNode Date: Tue, 4 Oct 2022 10:32:56 +0200 Message-Id: <74b9e0011c13470c6612793a34cd001834feae16.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872513921100005 Content-Type: text/plain; charset="utf-8" Replace all it does by properly using virXMLParse. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/checkpoint_conf.c | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/src/conf/checkpoint_conf.c b/src/conf/checkpoint_conf.c index 0d2d2050da..ea20bfdd14 100644 --- a/src/conf/checkpoint_conf.c +++ b/src/conf/checkpoint_conf.c @@ -181,26 +181,6 @@ virDomainCheckpointDefParse(xmlXPathContextPtr ctxt, return ret; } -static virDomainCheckpointDef * -virDomainCheckpointDefParseNode(xmlDocPtr xml, - xmlNodePtr root, - virDomainXMLOption *xmlopt, - void *parseOpaque, - unsigned int flags) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (!virXMLNodeNameEqual(root, "domaincheckpoint")) { - virReportError(VIR_ERR_XML_ERROR, "%s", _("domaincheckpoint")); - return NULL; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - return virDomainCheckpointDefParse(ctxt, xmlopt, parseOpaque, flags); -} virDomainCheckpointDef * virDomainCheckpointDefParseString(const char *xmlStr, @@ -208,19 +188,19 @@ virDomainCheckpointDefParseString(const char *xmlStr, void *parseOpaque, unsigned int flags) { - virDomainCheckpointDef *ret =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; int keepBlanksDefault =3D xmlKeepBlanksDefault(0); - if ((xml =3D virXMLParse(NULL, xmlStr, _("(domain_checkpoint)"), NULL,= NULL, - "domaincheckpoint.rng", true))) { - xmlKeepBlanksDefault(keepBlanksDefault); - ret =3D virDomainCheckpointDefParseNode(xml, xmlDocGetRootElement(= xml), - xmlopt, parseOpaque, flags); - } + xml =3D virXMLParse(NULL, xmlStr, _("(domain_checkpoint)"), + "domaincheckpoint", &ctxt, "domaincheckpoint.rng", t= rue); + xmlKeepBlanksDefault(keepBlanksDefault); - return ret; + if (!xml) + return NULL; + + return virDomainCheckpointDefParse(ctxt, xmlopt, parseOpaque, flags); } --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872429; cv=none; d=zohomail.com; s=zohoarc; b=TZ1HA/OQHFYZ8Q7qmBEF4lhRVg/y9RhMNng5Dt+1T0VcxE0dR1BRHT93qM3PfKAtiv2rogAQZAmXIN/ElYx3zjZEOG+UAaZP5tjpTf2WfYi54LJZPeptGdqOvwKnVMxa2ZmEFoUimfC38jE5APDw/vYjYS3UmU6njwhJdf+xUMo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872429; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=78t/+RcHW5nsuk3PNSNyzduNxxZWI6p7fLTo/QdFEOI=; b=HnxlUY2Hacb44xgmzY4Ul0Wbxl3tyywJXtlaSdPHeZaCmxscDKrgmxpzfCkopjUwaqLzlFnV7nz0QQwJjvBITzsJ0BCqv5GuQL+rwOXfDmOz/0+Ba6UbRpHsI+rdkREiDQ8piOpMjlAWE8AvfZpBIatR28oeQfbxLFqVbgUrRaU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872429841947.3552730997324; Tue, 4 Oct 2022 01:33:49 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-651-L_pha2VeMqqSlWASgRy5ig-1; Tue, 04 Oct 2022 04:33:45 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C5A64185A7B1; Tue, 4 Oct 2022 08:33:42 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id A989E4099B53; Tue, 4 Oct 2022 08:33:42 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 982FC1947047; Tue, 4 Oct 2022 08:33:42 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 802561946A7F for ; Tue, 4 Oct 2022 08:33:40 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 5A36140C6EC2; Tue, 4 Oct 2022 08:33:40 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id CBCE340C6EC3 for ; Tue, 4 Oct 2022 08:33:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872428; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=78t/+RcHW5nsuk3PNSNyzduNxxZWI6p7fLTo/QdFEOI=; b=NCDZuDvNLH4Cxwbq/ycF/wBJlZaeakLJvo2ZszDV04dQ0/Q1kw79v3qUduxC+Ppil43Lzd Fpch8tQrLdPmuBMipK/nCs7Nfv9IZaBKTKym705KCQdVgH9Arn/Y65SQG+8LB39jwcw26z yr2Cf6/jXKqtxFHWG4UbOTsvJQWPuTA= X-MC-Unique: L_pha2VeMqqSlWASgRy5ig-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 23/43] conf: backup: Remove virDomainBackupDefParseNode Date: Tue, 4 Oct 2022 10:32:57 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872431250100003 Content-Type: text/plain; charset="utf-8" Rename virDomainBackupDefParse to virDomainBackupDefParseXML and use it in place of virDomainBackupDefParseNode. This is possible as virXMLParse can be used to replace XPath context allocation and root node checking. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/backup_conf.c | 41 ++++++++++------------------------------ src/conf/backup_conf.h | 10 +++++----- src/libvirt_private.syms | 2 +- src/qemu/qemu_domain.c | 9 ++++++--- 4 files changed, 22 insertions(+), 40 deletions(-) diff --git a/src/conf/backup_conf.c b/src/conf/backup_conf.c index 7dfc8ee635..ad5633388d 100644 --- a/src/conf/backup_conf.c +++ b/src/conf/backup_conf.c @@ -190,10 +190,10 @@ virDomainBackupDefParsePrivate(virDomainBackupDef *de= f, } -static virDomainBackupDef * -virDomainBackupDefParse(xmlXPathContextPtr ctxt, - virDomainXMLOption *xmlopt, - unsigned int flags) +virDomainBackupDef * +virDomainBackupDefParseXML(xmlXPathContextPtr ctxt, + virDomainXMLOption *xmlopt, + unsigned int flags) { g_autoptr(virDomainBackupDef) def =3D NULL; g_autofree xmlNodePtr *nodes =3D NULL; @@ -274,41 +274,20 @@ virDomainBackupDefParseString(const char *xmlStr, virDomainXMLOption *xmlopt, unsigned int flags) { - virDomainBackupDef *ret =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; int keepBlanksDefault =3D xmlKeepBlanksDefault(0); bool validate =3D !(flags & VIR_DOMAIN_BACKUP_PARSE_INTERNAL); - if ((xml =3D virXMLParse(NULL, xmlStr, _("(domain_backup)"), - NULL, NULL, "domainbackup.rng", validate))) { - xmlKeepBlanksDefault(keepBlanksDefault); - ret =3D virDomainBackupDefParseNode(xml, xmlDocGetRootElement(xml), - xmlopt, flags); - } - xmlKeepBlanksDefault(keepBlanksDefault); - - return ret; -} - + xml =3D virXMLParse(NULL, xmlStr, _("(domain_backup)"), + "domainbackup", &ctxt, "domainbackup.rng", validate); -virDomainBackupDef * -virDomainBackupDefParseNode(xmlDocPtr xml, - xmlNodePtr root, - virDomainXMLOption *xmlopt, - unsigned int flags) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (!virXMLNodeNameEqual(root, "domainbackup")) { - virReportError(VIR_ERR_XML_ERROR, "%s", _("domainbackup")); - return NULL; - } + xmlKeepBlanksDefault(keepBlanksDefault); - if (!(ctxt =3D virXMLXPathContextNew(xml))) + if (!xml) return NULL; - ctxt->node =3D root; - return virDomainBackupDefParse(ctxt, xmlopt, flags); + return virDomainBackupDefParseXML(ctxt, xmlopt, flags); } diff --git a/src/conf/backup_conf.h b/src/conf/backup_conf.h index dc66b75892..9c3532a546 100644 --- a/src/conf/backup_conf.h +++ b/src/conf/backup_conf.h @@ -105,16 +105,16 @@ typedef enum { VIR_DOMAIN_BACKUP_PARSE_INTERNAL =3D 1 << 0, } virDomainBackupParseFlags; +virDomainBackupDef * +virDomainBackupDefParseXML(xmlXPathContextPtr ctxt, + virDomainXMLOption *xmlopt, + unsigned int flags); + virDomainBackupDef * virDomainBackupDefParseString(const char *xmlStr, virDomainXMLOption *xmlopt, unsigned int flags); -virDomainBackupDef * -virDomainBackupDefParseNode(xmlDocPtr xml, - xmlNodePtr root, - virDomainXMLOption *xmlopt, - unsigned int flags); void virDomainBackupDefFree(virDomainBackupDef *def); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 6334cbb448..0adcf20f0c 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -46,8 +46,8 @@ virAccessPermStorageVolTypeToString; virDomainBackupAlignDisks; virDomainBackupDefFormat; virDomainBackupDefFree; -virDomainBackupDefParseNode; virDomainBackupDefParseString; +virDomainBackupDefParseXML; # conf/capabilities.h diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index ee024d17cd..ee35ef586f 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -2860,6 +2860,7 @@ static int qemuDomainObjPrivateXMLParseBackups(qemuDomainObjPrivate *priv, xmlXPathContextPtr ctxt) { + VIR_XPATH_NODE_AUTORESTORE(ctxt) g_autofree xmlNodePtr *nodes =3D NULL; ssize_t nnodes =3D 0; @@ -2875,9 +2876,11 @@ qemuDomainObjPrivateXMLParseBackups(qemuDomainObjPri= vate *priv, if (nnodes =3D=3D 0) return 0; - if (!(priv->backup =3D virDomainBackupDefParseNode(ctxt->doc, nodes[0], - priv->driver->xmlopt, - VIR_DOMAIN_BACKUP_PAR= SE_INTERNAL))) + ctxt->node =3D nodes[0]; + + if (!(priv->backup =3D virDomainBackupDefParseXML(ctxt, + priv->driver->xmlopt, + VIR_DOMAIN_BACKUP_PARS= E_INTERNAL))) return -1; return 0; --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872429; cv=none; d=zohomail.com; s=zohoarc; b=Iqpid9aPd5jnzSqZ+xIQSfcqVMif/mwjWsfocuObQFHoYQslZ3oHjz9mi8tsQGOjN4erTlNX9b6nplODXWObhs68XMmNLDIAzsLLiPRa921lHfflojJMuzJ3OUYw6XPFySOys/Ps09DHl+UFlQsP1VApZ96sk2kjXr2ACokPJS4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872429; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=2ofLmMlXu77B6BNQ9k3XpXSVtprfWJmVJZkdgzn8r+s=; b=WkuuDbbIkQsemgXH8uy6aEFHinQ7LfA9bDy0yp3lz8vTC+bAGLGiJU8DczSVCTd6kPj1feG79PjuSHb5AQTsefts6jWh8qH0tK/CwlvcANjvAaucoJIjEeTvCMW7fsSFFOVvMAn+SIMLdBpvXRyusmhk5a4T3a91e0MzOlwFWXI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872429189630.8380052130136; Tue, 4 Oct 2022 01:33:49 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-424-YV2BMSJYP6m86rcxPfCx1w-1; Tue, 04 Oct 2022 04:33:46 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9CEB2299E751; Tue, 4 Oct 2022 08:33:43 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8A3BE492B06; Tue, 4 Oct 2022 08:33:43 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 658DE1947049; Tue, 4 Oct 2022 08:33:43 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 7E27419465B5 for ; Tue, 4 Oct 2022 08:33:41 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 4186D40C6EC3; Tue, 4 Oct 2022 08:33:41 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id ADCD540C6EC2 for ; Tue, 4 Oct 2022 08:33:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872428; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=2ofLmMlXu77B6BNQ9k3XpXSVtprfWJmVJZkdgzn8r+s=; b=boLouVjudRciIrR1qhf8r0/800OWAQkT7BB+FoTwFkQNueRZugyAF6JleZskR634JjYIjs NRU8fyaia4E1Q8HKBxqRCbUW81xOov3eiX/R8+dt3l0HC7H/jFmiNmq65aukSX5J9DUbav QDQkzTqnsZvqlxcwlhDDaDipzyu1wlA= X-MC-Unique: YV2BMSJYP6m86rcxPfCx1w-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 24/43] conf: nwfilter: Remove virNWFilterDefParseNode Date: Tue, 4 Oct 2022 10:32:58 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872431223100001 Content-Type: text/plain; charset="utf-8" Use virXMLParse to fetch the XML context and validate the top level XML element name so that virNWFilterDefParseNode is no longer needed. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/nwfilter_conf.c | 32 +++++--------------------------- src/conf/nwfilter_conf.h | 4 ---- 2 files changed, 5 insertions(+), 31 deletions(-) diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index 44ea056823..00728782d1 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2685,42 +2685,20 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) } -virNWFilterDef * -virNWFilterDefParseNode(xmlDocPtr xml, - xmlNodePtr root) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (STRNEQ((const char *)root->name, "filter")) { - virReportError(VIR_ERR_XML_ERROR, - "%s", - _("unknown root element for nw filter")); - return NULL; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - return virNWFilterDefParseXML(ctxt); -} - - static virNWFilterDef * virNWFilterDefParse(const char *xmlStr, const char *filename, unsigned int flags) { - virNWFilterDef *def =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; bool validate =3D flags & VIR_NWFILTER_DEFINE_VALIDATE; - if ((xml =3D virXMLParse(filename, xmlStr, _("(nwfilter_definition)"), - NULL, NULL, "nwfilter.rng", validate))) { - def =3D virNWFilterDefParseNode(xml, xmlDocGetRootElement(xml)); - } + if (!(xml =3D virXMLParse(filename, xmlStr, _("(nwfilter_definition)"), + "filter", &ctxt, "nwfilter.rng", validate))) + return NULL; - return def; + return virNWFilterDefParseXML(ctxt); } diff --git a/src/conf/nwfilter_conf.h b/src/conf/nwfilter_conf.h index b67364714a..b8a970f00b 100644 --- a/src/conf/nwfilter_conf.h +++ b/src/conf/nwfilter_conf.h @@ -533,10 +533,6 @@ int virNWFilterDeleteDef(const char *configDir, virNWFilterDef *def); -virNWFilterDef * -virNWFilterDefParseNode(xmlDocPtr xml, - xmlNodePtr root); - char * virNWFilterDefFormat(const virNWFilterDef *def); --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872566; cv=none; d=zohomail.com; s=zohoarc; b=e00ewL9IWJEtCxhQGHKkS+KyKK8kPPkuqI3apa1hUcl+APxFgQ49lb5Dqkp2jnK43I03FaZ70q0JloT802vrjv1ticEbH7CbOOwPNvyOGnM6pxHE6IsyWAa9UZF9zFkxiSYs4JPSdmYHSepRD6/ZxYDt4wbgUBfuomXszrj0t0s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872566; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ls/91aJs2CSD5CbsaD1Q9aHCUKfijV6JpWpJOtrTqUc=; b=QDqS5DWcQsK6X26CU0W4eoso1V6dlmr5oOBqSSBUP1OWmlUpBO8ygUn0vX5FveiXG5ip24GU9btA76Kkr2mD6IZ70gXkDzkILXHVZNdqmUsLz/YPIB6quuV55dBk5yW7m9ATl++NCAq9oTzZlwcC68Wj/96JbT8YnBa4ex4ldMg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872566049248.47460428819306; Tue, 4 Oct 2022 01:36:06 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-480-UW00HjBkPzuNiHzTWH3mGg-1; Tue, 04 Oct 2022 04:33:50 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id BFC71100F811; Tue, 4 Oct 2022 08:33:48 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id A62324099B67; Tue, 4 Oct 2022 08:33:48 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 968151947049; Tue, 4 Oct 2022 08:33:48 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 5430719465A2 for ; Tue, 4 Oct 2022 08:33:42 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 2737140C6EC3; Tue, 4 Oct 2022 08:33:42 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 96E5840C6EC2 for ; Tue, 4 Oct 2022 08:33:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872565; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=ls/91aJs2CSD5CbsaD1Q9aHCUKfijV6JpWpJOtrTqUc=; b=bfdA9MymqLwK5pRGD2+OEOckLzOKgUuIimF1womTHdlS99ZQ8IyFN9k3Rqdz3PK+xyLhrZ uLyUJ6h35YS/Nr3+f+Phh2d/vUyI41nikF/ChmIS7JxlnrRuC5jzss/njS2nPV10wCVUVR k+/sWIvAiSu2GQD943SPA14m+jKAP6I= X-MC-Unique: UW00HjBkPzuNiHzTWH3mGg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 25/43] conf: nwfilter: Provide only virNWFilterDefParse Date: Tue, 4 Oct 2022 10:32:59 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872566344100001 Content-Type: text/plain; charset="utf-8" Replace virNWFilterDefParseString/File with the common function. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/nwfilter_conf.c | 17 +---------------- src/conf/nwfilter_conf.h | 8 +++----- src/conf/virnwfilterobj.c | 2 +- src/libvirt_private.syms | 3 +-- src/nwfilter/nwfilter_driver.c | 2 +- tests/nwfilterxml2firewalltest.c | 2 +- tests/nwfilterxml2xmltest.c | 2 +- 7 files changed, 9 insertions(+), 27 deletions(-) diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index 00728782d1..9a95ae6c12 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2685,7 +2685,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) } -static virNWFilterDef * +virNWFilterDef * virNWFilterDefParse(const char *xmlStr, const char *filename, unsigned int flags) @@ -2702,21 +2702,6 @@ virNWFilterDefParse(const char *xmlStr, } -virNWFilterDef * -virNWFilterDefParseString(const char *xmlStr, - unsigned int flags) -{ - return virNWFilterDefParse(xmlStr, NULL, flags); -} - - -virNWFilterDef * -virNWFilterDefParseFile(const char *filename) -{ - return virNWFilterDefParse(NULL, filename, 0); -} - - int virNWFilterSaveConfig(const char *configDir, virNWFilterDef *def) diff --git a/src/conf/nwfilter_conf.h b/src/conf/nwfilter_conf.h index b8a970f00b..1a38e4198c 100644 --- a/src/conf/nwfilter_conf.h +++ b/src/conf/nwfilter_conf.h @@ -541,11 +541,9 @@ virNWFilterSaveConfig(const char *configDir, virNWFilterDef *def); virNWFilterDef * -virNWFilterDefParseString(const char *xml, - unsigned int flags); - -virNWFilterDef * -virNWFilterDefParseFile(const char *filename); +virNWFilterDefParse(const char *xmlStr, + const char *filename, + unsigned int flags); typedef int (*virNWFilterTriggerRebuildCallback)(void *opaque); diff --git a/src/conf/virnwfilterobj.c b/src/conf/virnwfilterobj.c index f9c1b049d5..e8dfe66b3c 100644 --- a/src/conf/virnwfilterobj.c +++ b/src/conf/virnwfilterobj.c @@ -578,7 +578,7 @@ virNWFilterObjListLoadConfig(virNWFilterObjList *nwfilt= ers, if (!(configFile =3D virFileBuildPath(configDir, name, ".xml"))) goto error; - if (!(def =3D virNWFilterDefParseFile(configFile))) + if (!(def =3D virNWFilterDefParse(NULL, configFile, 0))) goto error; if (STRNEQ(name, def->name)) { diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 0adcf20f0c..6836c99fff 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -952,8 +952,7 @@ virNWFilterConfLayerInit; virNWFilterConfLayerShutdown; virNWFilterDefFormat; virNWFilterDefFree; -virNWFilterDefParseFile; -virNWFilterDefParseString; +virNWFilterDefParse; virNWFilterDeleteDef; virNWFilterJumpTargetTypeToString; virNWFilterPrintStateMatchFlags; diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c index f9fc09bbd3..8e45096eaa 100644 --- a/src/nwfilter/nwfilter_driver.c +++ b/src/nwfilter/nwfilter_driver.c @@ -545,7 +545,7 @@ nwfilterDefineXMLFlags(virConnectPtr conn, return NULL; } - if (!(def =3D virNWFilterDefParseString(xml, flags))) + if (!(def =3D virNWFilterDefParse(xml, NULL, flags))) goto cleanup; if (virNWFilterDefineXMLFlagsEnsureACL(conn, def) < 0) diff --git a/tests/nwfilterxml2firewalltest.c b/tests/nwfilterxml2firewallt= est.c index 1514002b8f..bd112cef83 100644 --- a/tests/nwfilterxml2firewalltest.c +++ b/tests/nwfilterxml2firewalltest.c @@ -255,7 +255,7 @@ virNWFilterDefToInst(const char *xml, { size_t i; int ret =3D -1; - virNWFilterDef *def =3D virNWFilterDefParseFile(xml); + virNWFilterDef *def =3D virNWFilterDefParse(NULL, xml, 0); if (!def) return -1; diff --git a/tests/nwfilterxml2xmltest.c b/tests/nwfilterxml2xmltest.c index c2b6dc575b..ca037ad9a0 100644 --- a/tests/nwfilterxml2xmltest.c +++ b/tests/nwfilterxml2xmltest.c @@ -21,7 +21,7 @@ testCompareXMLToXMLFiles(const char *inxml, const char *o= utxml, virResetLastError(); - if (!(dev =3D virNWFilterDefParseFile(inxml))) { + if (!(dev =3D virNWFilterDefParse(NULL, inxml, 0))) { if (expect_error) { virResetLastError(); goto done; --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872697; cv=none; d=zohomail.com; s=zohoarc; b=ioi/NiEJnQBEKOcS+qGdCana+KbDw8QozUMlnV2qYaYkXEIyjY2QgB51Fvh0/Cxz9qilZgisCDAmY28j7p0Ng7EHDVlXE6LeQyqPcgOtyU6wSldlizepwQA/4R8yaGHuQKNZvTBA4TykYdpo4POCmORwT4QqPp54nAhemwFom7g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872697; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=tTGheXkJAPi6oA7qYacUhAX4/18D3QYZy2BSHF4mi9U=; b=mpQSEBeOUT/ql5LwlLTI2iZXBS350G7kLjXgelbt6otoWR/r9lmoYDq9q9L2u0OqxW7Ldie5CaZgJ8dEKYzYG09DyfXqB8orvGHdGhHyQbBxuajDKKS0+wSXr/rFSikEH0ZtfwV91RI6bJ+ysuZIH2zwyR5Vl5WNmQarOxSx1m8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872697096395.26784542821633; Tue, 4 Oct 2022 01:38:17 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-531-YGHlWPy6ONm6wSPUTqLaQg-1; Tue, 04 Oct 2022 04:33:48 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 42AE3299E75F; Tue, 4 Oct 2022 08:33:45 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 296874099B52; Tue, 4 Oct 2022 08:33:45 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id D19651947049; Tue, 4 Oct 2022 08:33:44 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 2F77B1946A71 for ; Tue, 4 Oct 2022 08:33:43 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 0B74740C6EC3; Tue, 4 Oct 2022 08:33:43 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7B29A40C6EC2 for ; Tue, 4 Oct 2022 08:33:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872695; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=tTGheXkJAPi6oA7qYacUhAX4/18D3QYZy2BSHF4mi9U=; b=QbCBjUqJO6F1lV8AEHV66v5ScIEG2REi65/NXFVJzfSGSjHsrmCtwyFBLgazS39/KBgsFS careOr9+YgAbI+NKlvC8+mUYpJFB1Z/jw07MYALtqTNTU9QF7Dn8K2cjHXyl2hGrmED+ku DtkrRC8Vk8QJ9GZBvpeKS38KYrPYp+U= X-MC-Unique: YGHlWPy6ONm6wSPUTqLaQg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 26/43] conf: node_device: Remove virNodeDeviceDefParseNode Date: Tue, 4 Oct 2022 10:33:00 +0200 Message-Id: <21ad249a4350ba6596a81e17fa37fc4c5cad05b4.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872698691100001 Content-Type: text/plain; charset="utf-8" Both callers be easily made to call virNodeDeviceDefParseXML directly. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/node_device_conf.c | 34 ++++++---------------------------- src/conf/node_device_conf.h | 7 +++---- src/libvirt_private.syms | 2 +- src/test/test_driver.c | 7 +++---- 4 files changed, 13 insertions(+), 37 deletions(-) diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index 1db9a3240a..7e50904828 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -2370,7 +2370,7 @@ virNodeDevCapsDefParseXML(xmlXPathContextPtr ctxt, } -static virNodeDeviceDef * +virNodeDeviceDef * virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt, int create, const char *virt_type) @@ -2473,30 +2473,6 @@ virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt, } -virNodeDeviceDef * -virNodeDeviceDefParseNode(xmlDocPtr xml, - xmlNodePtr root, - int create, - const char *virt_type) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (!virXMLNodeNameEqual(root, "device")) { - virReportError(VIR_ERR_XML_ERROR, - _("unexpected root element <%s> " - "expecting "), - root->name); - return NULL; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - return virNodeDeviceDefParseXML(ctxt, create, virt_type); -} - - static virNodeDeviceDef * virNodeDeviceDefParse(const char *str, const char *filename, @@ -2506,12 +2482,14 @@ virNodeDeviceDefParse(const char *str, void *opaque) { g_autoptr(xmlDoc) xml =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; g_autoptr(virNodeDeviceDef) def =3D NULL; if (!(xml =3D virXMLParse(filename, str, _("(node_device_definition)"), - NULL, NULL, NULL, false)) || - !(def =3D virNodeDeviceDefParseNode(xml, xmlDocGetRootElement(xml), - create, virt_type))) + "device", &ctxt, NULL, false))) + return NULL; + + if (!(def =3D virNodeDeviceDefParseXML(ctxt, create, virt_type))) return NULL; if (parserCallbacks) { diff --git a/src/conf/node_device_conf.h b/src/conf/node_device_conf.h index 21622c62ac..feef22910d 100644 --- a/src/conf/node_device_conf.h +++ b/src/conf/node_device_conf.h @@ -391,10 +391,9 @@ virNodeDeviceDefParseFile(const char *filename, void *opaque); virNodeDeviceDef * -virNodeDeviceDefParseNode(xmlDocPtr xml, - xmlNodePtr root, - int create, - const char *virt_type); +virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt, + int create, + const char *virt_type); int virNodeDeviceGetWWNs(virNodeDeviceDef *def, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 6836c99fff..ffab2b7c43 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -866,8 +866,8 @@ virNodeDeviceCapsListExport; virNodeDeviceDefFormat; virNodeDeviceDefFree; virNodeDeviceDefParseFile; -virNodeDeviceDefParseNode; virNodeDeviceDefParseString; +virNodeDeviceDefParseXML; virNodeDeviceGetAPMatrixDynamicCaps; virNodeDeviceGetCSSDynamicCaps; virNodeDeviceGetMdevParentDynamicCaps; diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 50c8a7e2be..7c7ef1b924 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1236,6 +1236,7 @@ testParseNodedevs(testDriver *privconn, const char *file, xmlXPathContextPtr ctxt) { + VIR_XPATH_NODE_AUTORESTORE(ctxt) int num; size_t i; virNodeDeviceObj *obj; @@ -1247,13 +1248,11 @@ testParseNodedevs(testDriver *privconn, for (i =3D 0; i < num; i++) { virNodeDeviceDef *def; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); - if (!node) + if (!(ctxt->node =3D testParseXMLDocFromFile(nodes[i], file))) return -1; - def =3D virNodeDeviceDefParseNode(ctxt->doc, node, 0, NULL); - if (!def) + if (!(def =3D virNodeDeviceDefParseXML(ctxt, 0, NULL))) return -1; if (!(obj =3D virNodeDeviceObjListAssignDef(privconn->devs, def)))= { --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872439; cv=none; d=zohomail.com; s=zohoarc; b=NbD/CJ1bO3mgfwLECYwLs93ubv992L6dh2FZlkvnRT+xFTNYAyL8c41jn31pAx4FcqxhLrcr7TtLCr1PoSe3s5o1vjQ+zvgx7S2nmM9ovScKG0km7JyQ5PE+altvGYUn9Cez0zLnY2TtM7xxWloaYIzIEoDPRsUoIYynz49VlpU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872439; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Gu7yMfS+8zbQsaA243g7vPAzUbfavMYOvc2lnUNOKXY=; b=AoV29hn/7xVjD2c29kS/guERKItQrYKqdkdzqNmbIvDXRbhR2yquRRoLNioHbP9Acl0NwfOZZSezwkeIC5/QzPn0GG2xgf/xpAYhd1nXyF7b/ZwaBnzQWXpts9HL7ichzwNGawav9gFZZnwRHEuq+Jju6j0ed++0SSCZVQmkIrM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872439722155.19940174182284; Tue, 4 Oct 2022 01:33:59 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-630-atHPgQuyPaG0cf1huVWs_A-1; Tue, 04 Oct 2022 04:33:48 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 22FE5185A7AC; Tue, 4 Oct 2022 08:33:46 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 10D0940C206B; Tue, 4 Oct 2022 08:33:46 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 3530F194706F; Tue, 4 Oct 2022 08:33:45 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 351371946A74 for ; Tue, 4 Oct 2022 08:33:44 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id E9E7140C6EC3; Tue, 4 Oct 2022 08:33:43 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 610C240C6EC2 for ; Tue, 4 Oct 2022 08:33:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872438; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Gu7yMfS+8zbQsaA243g7vPAzUbfavMYOvc2lnUNOKXY=; b=SaYXfZ2PXNG+593T1P2ohoKw/xB+EAwSqkoToXlaA6wwPY5p+p+dOnQTyNR3jeMx54mmSk F8k0EGTkU/r3lDyn1GYDpRc5Z45sDuBmm65xVIABQV2KYhPuQEJgjchQhQxoqDsT3ylsiV jWeTirlJcJo6JxQ3EUCsx8gYgBV5Y6M= X-MC-Unique: atHPgQuyPaG0cf1huVWs_A-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 27/43] conf: nodedev: Provide only virNodeDeviceDefParse Date: Tue, 4 Oct 2022 10:33:01 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872441319100001 Content-Type: text/plain; charset="utf-8" Replace the thin wrappers virNodeDeviceDefParseString/File by directly calling the main parser. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/node_device_conf.c | 24 +----------------------- src/conf/node_device_conf.h | 18 ++++++------------ src/hypervisor/domain_driver.c | 7 +++---- src/libvirt_private.syms | 3 +-- src/node_device/node_device_driver.c | 8 ++++---- src/test/test_driver.c | 6 ++---- tests/nodedevmdevctltest.c | 8 ++++---- tests/nodedevxml2xmltest.c | 3 +-- 8 files changed, 22 insertions(+), 55 deletions(-) diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index 7e50904828..bdfbbab434 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -2473,7 +2473,7 @@ virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt, } -static virNodeDeviceDef * +virNodeDeviceDef * virNodeDeviceDefParse(const char *str, const char *filename, int create, @@ -2513,28 +2513,6 @@ virNodeDeviceDefParse(const char *str, } -virNodeDeviceDef * -virNodeDeviceDefParseString(const char *str, - int create, - const char *virt_type, - virNodeDeviceDefParserCallbacks *parserCallbac= ks, - void *opaque) -{ - return virNodeDeviceDefParse(str, NULL, create, virt_type, parserCallb= acks, opaque); -} - - -virNodeDeviceDef * -virNodeDeviceDefParseFile(const char *filename, - int create, - const char *virt_type, - virNodeDeviceDefParserCallbacks *parserCallbacks, - void *opaque) -{ - return virNodeDeviceDefParse(NULL, filename, create, virt_type, parser= Callbacks, opaque); -} - - /* * Return fc_host dev's WWNN and WWPN */ diff --git a/src/conf/node_device_conf.h b/src/conf/node_device_conf.h index feef22910d..a556358632 100644 --- a/src/conf/node_device_conf.h +++ b/src/conf/node_device_conf.h @@ -377,18 +377,12 @@ typedef struct _virNodeDeviceDefParserCallbacks { } virNodeDeviceDefParserCallbacks; virNodeDeviceDef * -virNodeDeviceDefParseString(const char *str, - int create, - const char *virt_type, - virNodeDeviceDefParserCallbacks *callbacks, - void *opaque); - -virNodeDeviceDef * -virNodeDeviceDefParseFile(const char *filename, - int create, - const char *virt_type, - virNodeDeviceDefParserCallbacks *callbacks, - void *opaque); +virNodeDeviceDefParse(const char *str, + const char *filename, + int create, + const char *virt_type, + virNodeDeviceDefParserCallbacks *parserCallbacks, + void *opaque); virNodeDeviceDef * virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt, diff --git a/src/hypervisor/domain_driver.c b/src/hypervisor/domain_driver.c index bb1da7ac6b..c154f00eea 100644 --- a/src/hypervisor/domain_driver.c +++ b/src/hypervisor/domain_driver.c @@ -395,8 +395,7 @@ virDomainDriverNodeDeviceReset(virNodeDevicePtr dev, if (!xml) return -1; - def =3D virNodeDeviceDefParseString(xml, EXISTING_DEVICE, NULL, - NULL, NULL); + def =3D virNodeDeviceDefParse(xml, NULL, EXISTING_DEVICE, NULL, NULL, = NULL); if (!def) return -1; @@ -441,7 +440,7 @@ virDomainDriverNodeDeviceReAttach(virNodeDevicePtr dev, if (!xml) return -1; - def =3D virNodeDeviceDefParseString(xml, EXISTING_DEVICE, NULL, NULL, = NULL); + def =3D virNodeDeviceDefParse(xml, NULL, EXISTING_DEVICE, NULL, NULL, = NULL); if (!def) return -1; @@ -489,7 +488,7 @@ virDomainDriverNodeDeviceDetachFlags(virNodeDevicePtr d= ev, if (!xml) return -1; - def =3D virNodeDeviceDefParseString(xml, EXISTING_DEVICE, NULL, NULL, = NULL); + def =3D virNodeDeviceDefParse(xml, NULL, EXISTING_DEVICE, NULL, NULL, = NULL); if (!def) return -1; diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index ffab2b7c43..9cbbfef093 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -865,8 +865,7 @@ virNodeDevCapTypeToString; virNodeDeviceCapsListExport; virNodeDeviceDefFormat; virNodeDeviceDefFree; -virNodeDeviceDefParseFile; -virNodeDeviceDefParseString; +virNodeDeviceDefParse; virNodeDeviceDefParseXML; virNodeDeviceGetAPMatrixDynamicCaps; virNodeDeviceGetCSSDynamicCaps; diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_de= vice_driver.c index fa3cfcf24c..8e93b0dd6f 100644 --- a/src/node_device/node_device_driver.c +++ b/src/node_device/node_device_driver.c @@ -884,8 +884,8 @@ nodeDeviceCreateXML(virConnectPtr conn, virt_type =3D virConnectGetType(conn); - if (!(def =3D virNodeDeviceDefParseString(xmlDesc, CREATE_DEVICE, virt= _type, - &driver->parserCallbacks, NULL= ))) + if (!(def =3D virNodeDeviceDefParse(xmlDesc, NULL, CREATE_DEVICE, virt= _type, + &driver->parserCallbacks, NULL))) return NULL; if (virNodeDeviceCreateXMLEnsureACL(conn, def) < 0) @@ -1405,8 +1405,8 @@ nodeDeviceDefineXML(virConnect *conn, virt_type =3D virConnectGetType(conn); - if (!(def =3D virNodeDeviceDefParseString(xmlDesc, CREATE_DEVICE, virt= _type, - &driver->parserCallbacks, NULL= ))) + if (!(def =3D virNodeDeviceDefParse(xmlDesc, NULL, CREATE_DEVICE, virt= _type, + &driver->parserCallbacks, NULL))) return NULL; if (virNodeDeviceDefineXMLEnsureACL(conn, def) < 0) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 7c7ef1b924..72786da568 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -7635,8 +7635,7 @@ testNodeDeviceMockCreateVport(testDriver *driver, if (!xml) goto cleanup; - if (!(def =3D virNodeDeviceDefParseString(xml, EXISTING_DEVICE, NULL, = NULL, - NULL))) + if (!(def =3D virNodeDeviceDefParse(xml, NULL, EXISTING_DEVICE, NULL, = NULL, NULL))) goto cleanup; VIR_FREE(def->name); @@ -7698,8 +7697,7 @@ testNodeDeviceCreateXML(virConnectPtr conn, virCheckFlags(0, NULL); - if (!(def =3D virNodeDeviceDefParseString(xmlDesc, CREATE_DEVICE, NULL, - NULL, NULL))) + if (!(def =3D virNodeDeviceDefParse(xmlDesc, NULL, CREATE_DEVICE, NULL= , NULL, NULL))) goto cleanup; /* We run this simply for validation - it essentially validates that diff --git a/tests/nodedevmdevctltest.c b/tests/nodedevmdevctltest.c index dee4639922..02e85d4779 100644 --- a/tests/nodedevmdevctltest.c +++ b/tests/nodedevmdevctltest.c @@ -70,8 +70,8 @@ testMdevctlCmd(virMdevctlCommand cmd_type, return -1; } - if (!(def =3D virNodeDeviceDefParseFile(mdevxml, create, VIRT_TYPE, - &parser_callbacks, NULL))) + if (!(def =3D virNodeDeviceDefParse(NULL, mdevxml, create, VIRT_TYPE, + &parser_callbacks, NULL))) return -1; /* this function will set a stdin buffer containing the json configura= tion @@ -142,8 +142,8 @@ testMdevctlAutostart(const void *data G_GNUC_UNUSED) abs_srcdir); g_autoptr(virCommandDryRunToken) dryRunToken =3D virCommandDryRunToken= New(); - if (!(def =3D virNodeDeviceDefParseFile(mdevxml, CREATE_DEVICE, VIRT_T= YPE, - &parser_callbacks, NULL))) + if (!(def =3D virNodeDeviceDefParse(NULL, mdevxml, CREATE_DEVICE, VIRT= _TYPE, + &parser_callbacks, NULL))) return -1; virCommandSetDryRun(dryRunToken, &buf, true, true, NULL, NULL); diff --git a/tests/nodedevxml2xmltest.c b/tests/nodedevxml2xmltest.c index 68a4041d8c..d1c0652e7d 100644 --- a/tests/nodedevxml2xmltest.c +++ b/tests/nodedevxml2xmltest.c @@ -23,8 +23,7 @@ testCompareXMLToXMLFiles(const char *xml, const char *out= file) if (virTestLoadFile(xml, &xmlData) < 0) goto fail; - if (!(dev =3D virNodeDeviceDefParseString(xmlData, EXISTING_DEVICE, NU= LL, - NULL, NULL))) + if (!(dev =3D virNodeDeviceDefParse(xmlData, NULL, EXISTING_DEVICE, NU= LL, NULL, NULL))) goto fail; /* Calculate some things that are not read in */ --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872453; cv=none; d=zohomail.com; s=zohoarc; b=mvSeo1+FfCYHO2aXP3iQo7lFITlgbhvUawGfQML2aKyzorSspAK8Xu4P47XA2pvGnAn6lva0P8/Dw9L9IN2udS7KbqX2ryCoXceYBgrCpudWI3kszJW6LPKRb+vhi2cCUUI0OgOPqA/IotLaHvTe1uooGqogRLkWRgvWxh+5Pe0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872453; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=B9WDbY1Y7gOe8kWIOSMjhggHlFEQbuSChOdTb5XZuY4=; b=UQf0+WswzrmquHyEC0mhnTRQw3zebqvb8eCq25r8pwMMJ8q27zq7Rczg9Zwv0UnhjhgJoZZeBpw7iH/ZJsxttStlu8O6EtOZh7G+N8qctnx9UA7kRoX7497LdefNXgrtr1n4ruLaxVuHDunhDG8v41vDPtxS+x7n0GDNUqaUSLM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872453612385.26016455863726; Tue, 4 Oct 2022 01:34:13 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-248-eYk7dhJzNkm1GYxlWrVSUw-1; Tue, 04 Oct 2022 04:33:52 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 612D5380390E; Tue, 4 Oct 2022 08:33:50 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4D59B40C206B; Tue, 4 Oct 2022 08:33:50 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 903481947076; Tue, 4 Oct 2022 08:33:49 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id DDC7A1947055 for ; Tue, 4 Oct 2022 08:33:44 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id D2EBC40C6EC4; Tue, 4 Oct 2022 08:33:44 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4D89940C6EC2 for ; Tue, 4 Oct 2022 08:33:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872452; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=B9WDbY1Y7gOe8kWIOSMjhggHlFEQbuSChOdTb5XZuY4=; b=TfTbmYFWM8IILcx6xpK9MeoowOyugBlZ6rm8CQ6L7ChkrgkHyPEigQwq/NV2qndc0lH806 Bndb/E7tyQytFtLlTkYcMOdwDzuo0sps+HwKwLlYpmYa4/X1QPb2mqcrBrcv+SzJMuKdOc ijIvzQBev354TRDIyW3y0BoB4CPON7E= X-MC-Unique: eYk7dhJzNkm1GYxlWrVSUw-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 28/43] conf: interface: Remove virInterfaceDefParseNode Date: Tue, 4 Oct 2022 10:33:02 +0200 Message-Id: <58e42cb74f2ac5c5ca544baf3a0bafdfab4f4db4.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872455812100001 Content-Type: text/plain; charset="utf-8" Both callers be easily made to call virInterfaceDefParseXML directly. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/interface_conf.c | 35 +++++------------------------------ src/conf/interface_conf.h | 4 ++-- src/libvirt_private.syms | 2 +- src/test/test_driver.c | 8 ++++---- 4 files changed, 12 insertions(+), 37 deletions(-) diff --git a/src/conf/interface_conf.c b/src/conf/interface_conf.c index a3f6b6bed6..628199c6f3 100644 --- a/src/conf/interface_conf.c +++ b/src/conf/interface_conf.c @@ -33,9 +33,6 @@ VIR_ENUM_IMPL(virInterface, "ethernet", "bridge", "bond", "vlan", ); -static virInterfaceDef * -virInterfaceDefParseXML(xmlXPathContextPtr ctxt, int parentIfType); - static int virInterfaceDefDevFormat(virBuffer *buf, const virInterfaceDef *def, virInterfaceType parentIfType); @@ -565,7 +562,7 @@ virInterfaceDefParseVlan(virInterfaceDef *def, } -static virInterfaceDef * +virInterfaceDef * virInterfaceDefParseXML(xmlXPathContextPtr ctxt, int parentIfType) { @@ -672,42 +669,20 @@ virInterfaceDefParseXML(xmlXPathContextPtr ctxt, } -virInterfaceDef * -virInterfaceDefParseNode(xmlDocPtr xml, - xmlNodePtr root) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (!virXMLNodeNameEqual(root, "interface")) { - virReportError(VIR_ERR_XML_ERROR, - _("unexpected root element <%s>, " - "expecting "), - root->name); - return NULL; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - return virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST); -} - - static virInterfaceDef * virInterfaceDefParse(const char *xmlStr, const char *filename, unsigned int flags) { g_autoptr(xmlDoc) xml =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; bool validate =3D flags & VIR_INTERFACE_DEFINE_VALIDATE; - xml =3D virXMLParse(filename, xmlStr, _("(interface_definition)"), - NULL, NULL, "interface.rng", validate); - if (!xml) + if (!(xml =3D virXMLParse(filename, xmlStr, _("(interface_definition)"= ), + "interface", &ctxt, "interface.rng", validate)= )) return NULL; - return virInterfaceDefParseNode(xml, xmlDocGetRootElement(xml)); + return virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST); } diff --git a/src/conf/interface_conf.h b/src/conf/interface_conf.h index fa6bce9a00..b8927d7b4f 100644 --- a/src/conf/interface_conf.h +++ b/src/conf/interface_conf.h @@ -162,8 +162,8 @@ virInterfaceDef * virInterfaceDefParseFile(const char *filename); virInterfaceDef * -virInterfaceDefParseNode(xmlDocPtr xml, - xmlNodePtr root); +virInterfaceDefParseXML(xmlXPathContextPtr ctxt, + int parentIfType); char * virInterfaceDefFormat(const virInterfaceDef *def); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 9cbbfef093..1251bba896 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -793,8 +793,8 @@ virDomainDiskDefValidateStartupPolicy; virInterfaceDefFormat; virInterfaceDefFree; virInterfaceDefParseFile; -virInterfaceDefParseNode; virInterfaceDefParseString; +virInterfaceDefParseXML; # conf/netdev_bandwidth_conf.h diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 72786da568..5f98c05c34 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1110,6 +1110,7 @@ testParseInterfaces(testDriver *privconn, const char *file, xmlXPathContextPtr ctxt) { + VIR_XPATH_NODE_AUTORESTORE(ctxt) int num; size_t i; virInterfaceObj *obj; @@ -1121,12 +1122,11 @@ testParseInterfaces(testDriver *privconn, for (i =3D 0; i < num; i++) { g_autoptr(virInterfaceDef) def =3D NULL; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); - if (!node) + + if (!(ctxt->node =3D testParseXMLDocFromFile(nodes[i], file))) return -1; - def =3D virInterfaceDefParseNode(ctxt->doc, node); - if (!def) + if (!(def =3D virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAS= T))) return -1; if (!(obj =3D virInterfaceObjListAssignDef(privconn->ifaces, &def)= )) --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872510; cv=none; d=zohomail.com; s=zohoarc; b=ALni4eZBUe/d0pZI7wn9eZmiJwXTrnmuV8oJ9YHCeW/WnsOnmpBKXKF3JN4+9bvAsbgN+Qz+9+JiM3Zx1WmJFvwsKlWDJCsVOZOaFQtLswhvRGD41Yy8O2rwvlfagAbS2WEoH5VVsrewtDYcec1UAvqu9uF2uqp+msCnBbCuvU0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872510; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=wJStqBmtsJMKF8wLAy0suzNGc/UqlxXLF+kY0D/CknU=; b=kkc46Mo3hobpdT2Bo6foy7yjCg9vyNX395YARLcUvU7mQfMrdIYlOa7UKuiKAbl1/z9rRibBPil26R/w0Th93Y0KvkcIvpCNu/JoY9Q03hV56YR4jA8I6buaSzo9CL1OGQXaFgz7S9xiJ0M66oBiaNvz9ophNV3uGrdxjb7CRn0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872510736223.9491878217665; Tue, 4 Oct 2022 01:35:10 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-669-Ziz9mqjtOt2_izQxzc0TGQ-1; Tue, 04 Oct 2022 04:33:50 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CE934101A528; Tue, 4 Oct 2022 08:33:47 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id B9F4BC15BA4; Tue, 4 Oct 2022 08:33:47 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 8E8C719465A2; Tue, 4 Oct 2022 08:33:47 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id D534B19465A2 for ; Tue, 4 Oct 2022 08:33:45 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id BAA0140C6EC2; Tue, 4 Oct 2022 08:33:45 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3286D40C6EC3 for ; Tue, 4 Oct 2022 08:33:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872509; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=wJStqBmtsJMKF8wLAy0suzNGc/UqlxXLF+kY0D/CknU=; b=NYPH0aBr/rgsxGLrcrei/XcASoAbHLmIjiaSjNR147VJv0kU2kflGU3LX+oJFS4QKmeV/Z 77JWb7IRCNRoRGHE0ZJZUQ3e4hhg+TJqzHAKkctYWpi5FKxwwHr2CU32SmxeIjxPjfxwCe nXgsFpAoUEN3JPm5VwCCM3UFLBAf1Kw= X-MC-Unique: Ziz9mqjtOt2_izQxzc0TGQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 29/43] conf: interface: Remove virInterfaceDefParseFile Date: Tue, 4 Oct 2022 10:33:03 +0200 Message-Id: <300ec723c2b4cfa973eda1340482081c0ec8b340.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872511936100002 Content-Type: text/plain; charset="utf-8" The function was not used. Remove it and merge virInterfaceDefParse into virInterfaceDefParseString. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/interface_conf.c | 24 ++++-------------------- src/conf/interface_conf.h | 3 --- src/libvirt_private.syms | 1 - 3 files changed, 4 insertions(+), 24 deletions(-) diff --git a/src/conf/interface_conf.c b/src/conf/interface_conf.c index 628199c6f3..b31fdce101 100644 --- a/src/conf/interface_conf.c +++ b/src/conf/interface_conf.c @@ -669,16 +669,15 @@ virInterfaceDefParseXML(xmlXPathContextPtr ctxt, } -static virInterfaceDef * -virInterfaceDefParse(const char *xmlStr, - const char *filename, - unsigned int flags) +virInterfaceDef * +virInterfaceDefParseString(const char *xmlStr, + unsigned int flags) { g_autoptr(xmlDoc) xml =3D NULL; g_autoptr(xmlXPathContext) ctxt =3D NULL; bool validate =3D flags & VIR_INTERFACE_DEFINE_VALIDATE; - if (!(xml =3D virXMLParse(filename, xmlStr, _("(interface_definition)"= ), + if (!(xml =3D virXMLParse(NULL, xmlStr, _("(interface_definition)"), "interface", &ctxt, "interface.rng", validate)= )) return NULL; @@ -686,21 +685,6 @@ virInterfaceDefParse(const char *xmlStr, } -virInterfaceDef * -virInterfaceDefParseString(const char *xmlStr, - unsigned int flags) -{ - return virInterfaceDefParse(xmlStr, NULL, flags); -} - - -virInterfaceDef * -virInterfaceDefParseFile(const char *filename) -{ - return virInterfaceDefParse(NULL, filename, 0); -} - - static int virInterfaceBridgeDefFormat(virBuffer *buf, const virInterfaceDef *def) diff --git a/src/conf/interface_conf.h b/src/conf/interface_conf.h index b8927d7b4f..1272216300 100644 --- a/src/conf/interface_conf.h +++ b/src/conf/interface_conf.h @@ -158,9 +158,6 @@ virInterfaceDef * virInterfaceDefParseString(const char *xmlStr, unsigned int flags); -virInterfaceDef * -virInterfaceDefParseFile(const char *filename); - virInterfaceDef * virInterfaceDefParseXML(xmlXPathContextPtr ctxt, int parentIfType); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 1251bba896..a24e0db5d7 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -792,7 +792,6 @@ virDomainDiskDefValidateStartupPolicy; # conf/interface_conf.h virInterfaceDefFormat; virInterfaceDefFree; -virInterfaceDefParseFile; virInterfaceDefParseString; virInterfaceDefParseXML; --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872504; cv=none; d=zohomail.com; s=zohoarc; b=IxRbrL1ryog+KeN1u3XF0RTZzaxTvbtzo1y59d5hDJP8s9viCf/vDv9FSq3T5HAC0GVeUDcGe5RMR0Aqum+kIvsD5mkl5rVFRJXzbhoeZBLQFwL+EIU5gK9ggQn50JpFT/Htw8nRYz3MBK5/6kDLkjmhhsZwc2IztKV+w71AGXg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872504; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+jOiHtB1rLtbVcs4M7ttER/ueFKRm/h7T+x/Jf9W98o=; b=Ddn9ul16UQk6h83ujrLOLkWFhnI3a/vdW9S23jhn4nPMBB+/kHhixtioZByO5DYniNyfs1diXD1HSTUXD0hpHzXRCp1AyicCX16aZ7FFs+MyxpHZ5+RPPrzptA4NpJsGzx8sHj2BC7lDx9ugbmyVH1DsTvqFwpSJr7QIE9z2Fuw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872504240689.7465062526619; Tue, 4 Oct 2022 01:35:04 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-659-jhWzCBc2MCK4_zfuEp0Pwg-1; Tue, 04 Oct 2022 04:33:51 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0878E882821; Tue, 4 Oct 2022 08:33:49 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id E89A6C15BB1; Tue, 4 Oct 2022 08:33:48 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id A0CC7194704F; Tue, 4 Oct 2022 08:33:48 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id BF08D19465B5 for ; Tue, 4 Oct 2022 08:33:46 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id A56DC40C6EC4; Tue, 4 Oct 2022 08:33:46 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2021940C6EC2 for ; Tue, 4 Oct 2022 08:33:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872502; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=+jOiHtB1rLtbVcs4M7ttER/ueFKRm/h7T+x/Jf9W98o=; b=MJJ9OoFPzuyTITkggl37N2RZKjBlZP2puvTZaBGc6DadUrPeMP6WTS1wdXJUMv3CZ0JBbL sfzeAlnQkedI47cBDbiFiwc5biisWk0+kkdxmszjcbSAiqb7zCwkjQv3uafq80Q7OrJRDM 2Bcv4g2LJGOWPZcW4+oOjCL3viGRy5Q= X-MC-Unique: jhWzCBc2MCK4_zfuEp0Pwg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 30/43] conf: network: Remove virNetworkDefParseNode Date: Tue, 4 Oct 2022 10:33:04 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872505922100003 Content-Type: text/plain; charset="utf-8" Both callers can be easily converted to call virNetworkDefParseXML directly. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/network_conf.c | 37 ++++++++----------------------------- src/conf/network_conf.h | 5 ----- src/libvirt_private.syms | 1 - src/test/test_driver.c | 8 ++++---- 4 files changed, 12 insertions(+), 39 deletions(-) diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index b1d77a80c3..3574c0214b 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -2032,15 +2032,17 @@ virNetworkDefParse(const char *xmlStr, bool validate) { g_autoptr(xmlDoc) xml =3D NULL; - virNetworkDef *def =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; int keepBlanksDefault =3D xmlKeepBlanksDefault(0); - if ((xml =3D virXMLParse(filename, xmlStr, _("(network_definition)"), - NULL, NULL, "network.rng", validate))) - def =3D virNetworkDefParseNode(xml, xmlDocGetRootElement(xml), xml= opt); - + xml =3D virXMLParse(filename, xmlStr, _("(network_definition)"), + "network", &ctxt, "network.rng", validate); xmlKeepBlanksDefault(keepBlanksDefault); - return def; + + if (!xml) + return NULL; + + return virNetworkDefParseXML(ctxt, xmlopt); } @@ -2061,29 +2063,6 @@ virNetworkDefParseFile(const char *filename, } -virNetworkDef * -virNetworkDefParseNode(xmlDocPtr xml, - xmlNodePtr root, - virNetworkXMLOption *xmlopt) -{ - g_autoptr(xmlXPathContext) ctxt =3D NULL; - - if (!virXMLNodeNameEqual(root, "network")) { - virReportError(VIR_ERR_XML_ERROR, - _("unexpected root element <%s>, " - "expecting "), - root->name); - return NULL; - } - - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - return virNetworkDefParseXML(ctxt, xmlopt); -} - - static int virNetworkDNSDefFormat(virBuffer *buf, const virNetworkDNSDef *def) diff --git a/src/conf/network_conf.h b/src/conf/network_conf.h index 48b07ea13c..49d3ce6b30 100644 --- a/src/conf/network_conf.h +++ b/src/conf/network_conf.h @@ -333,11 +333,6 @@ virNetworkDef * virNetworkDefParseFile(const char *filename, virNetworkXMLOption *xmlopt); -virNetworkDef * -virNetworkDefParseNode(xmlDocPtr xml, - xmlNodePtr root, - virNetworkXMLOption *xmlopt); - char * virNetworkDefFormat(const virNetworkDef *def, virNetworkXMLOption *xmlopt, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index a24e0db5d7..3ce2cc1a7e 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -829,7 +829,6 @@ virNetworkDefFree; virNetworkDefGetIPByIndex; virNetworkDefGetRouteByIndex; virNetworkDefParseFile; -virNetworkDefParseNode; virNetworkDefParseString; virNetworkDefParseXML; virNetworkDefUpdateSection; diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 5f98c05c34..4c4eabc9fc 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1074,6 +1074,7 @@ testParseNetworks(testDriver *privconn, const char *file, xmlXPathContextPtr ctxt) { + VIR_XPATH_NODE_AUTORESTORE(ctxt) int num; size_t i; virNetworkObj *obj; @@ -1085,12 +1086,11 @@ testParseNetworks(testDriver *privconn, for (i =3D 0; i < num; i++) { g_autoptr(virNetworkDef) def =3D NULL; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); - if (!node) + + if (!(ctxt->node =3D testParseXMLDocFromFile(nodes[i], file))) return -1; - def =3D virNetworkDefParseNode(ctxt->doc, node, NULL); - if (!def) + if (!(def =3D virNetworkDefParseXML(ctxt, NULL))) return -1; if (!(obj =3D virNetworkObjAssignDef(privconn->networks, def, 0))) --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872440; cv=none; d=zohomail.com; s=zohoarc; b=AS6js8PMvUR3+RocQwTB0Lew6WbhAOZjWfNu881BHbBdKbhM60DwQqsD0Li9gK6St3vi5nnF5t54kYUoJa8ShM8eU8LqB/shk+o0RLVQql1BWfz2c4jmHbyEcMi3eXVlsbqxUzJJrKNpKLXyBqo2SzTn6E+8nXBnz9tY8VQ8VDk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872440; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1ZCBuJI2JxPSi5dZebBriTZIUcSAh6B8PjVyUbygHj4=; b=cTiGWjPdoL4rkTZP6mGjCVfrADS3xyoaRHrKOrfkz6ZMc/5UrlBYA9b2dP3cVG/qanqgGeOBKtAfcZLEormH890zN36zVioC5fvP1cHXMLRaeJU2ULGxxs5aWsZ4dLe7r3ZT2AxbUYsKIfnoAq5vf5FOwl9iuWZq8c5kWAh8BrM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872440464762.382897927378; Tue, 4 Oct 2022 01:34:00 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-258-tfZpcUaFMZKYCsjHfLkPfA-1; Tue, 04 Oct 2022 04:33:53 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C4723101A528; Tue, 4 Oct 2022 08:33:51 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id AFE3AC15BA8; Tue, 4 Oct 2022 08:33:51 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id D0EB7194707D; Tue, 4 Oct 2022 08:33:50 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 9D0C51946A71 for ; Tue, 4 Oct 2022 08:33:47 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 8AA1F40C6EC2; Tue, 4 Oct 2022 08:33:47 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 05EB440C6EC3 for ; Tue, 4 Oct 2022 08:33:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872439; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=1ZCBuJI2JxPSi5dZebBriTZIUcSAh6B8PjVyUbygHj4=; b=UobTdJbHlE2y1u8LEKxp1QkpgArPVSkZSmsoEd3RP53nzpqO87mPwE+/Rt4aAR1WEJ5Uqn SC/NWP9qkSeFrOhtL0y0XWcifPVeZ5NHD+vFlKusTRCZISTbYHLBPc6AyUJewYEXSQ+45f /SrXTWNki/7merD11w7rxoPy/8hB8E8= X-MC-Unique: tfZpcUaFMZKYCsjHfLkPfA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 31/43] conf: network: Provide only virNetworkDefParse Date: Tue, 4 Oct 2022 10:33:05 +0200 Message-Id: <6461d2635589cbed38c4843037f62ca280701950.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872441323100002 Content-Type: text/plain; charset="utf-8" Replace virNetworkDefParseString/File by direct calls to virNetworkDefParse. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 2 +- src/conf/network_conf.c | 21 ++------------------- src/conf/network_conf.h | 11 ++++------- src/conf/virnetworkobj.c | 2 +- src/esx/esx_network_driver.c | 2 +- src/libvirt_private.syms | 3 +-- src/network/bridge_driver.c | 8 ++++---- src/qemu/qemu_process.c | 2 +- src/test/test_driver.c | 8 ++++---- src/vbox/vbox_network.c | 2 +- tests/networkxml2conftest.c | 2 +- tests/networkxml2firewalltest.c | 2 +- tests/networkxml2xmltest.c | 2 +- tests/networkxml2xmlupdatetest.c | 2 +- 14 files changed, 24 insertions(+), 45 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 2a3ea9641f..5bb5cfa500 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -29728,7 +29728,7 @@ virDomainNetResolveActualType(virDomainNetDef *ifac= e) if (!(xml =3D virNetworkGetXMLDesc(net, 0))) return -1; - if (!(def =3D virNetworkDefParseString(xml, NULL, false))) + if (!(def =3D virNetworkDefParse(xml, NULL, NULL, false))) return -1; switch ((virNetworkForwardType) def->forward.type) { diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index 3574c0214b..be43894050 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -315,7 +315,7 @@ virNetworkDefCopy(virNetworkDef *def, if (!(xml =3D virNetworkDefFormat(def, xmlopt, flags))) return NULL; - return virNetworkDefParseString(xml, xmlopt, false); + return virNetworkDefParse(xml, NULL, xmlopt, false); } @@ -2025,7 +2025,7 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt, } -static virNetworkDef * +virNetworkDef * virNetworkDefParse(const char *xmlStr, const char *filename, virNetworkXMLOption *xmlopt, @@ -2046,23 +2046,6 @@ virNetworkDefParse(const char *xmlStr, } -virNetworkDef * -virNetworkDefParseString(const char *xmlStr, - virNetworkXMLOption *xmlopt, - bool validate) -{ - return virNetworkDefParse(xmlStr, NULL, xmlopt, validate); -} - - -virNetworkDef * -virNetworkDefParseFile(const char *filename, - virNetworkXMLOption *xmlopt) -{ - return virNetworkDefParse(NULL, filename, xmlopt, false); -} - - static int virNetworkDNSDefFormat(virBuffer *buf, const virNetworkDNSDef *def) diff --git a/src/conf/network_conf.h b/src/conf/network_conf.h index 49d3ce6b30..2b2e9d15f0 100644 --- a/src/conf/network_conf.h +++ b/src/conf/network_conf.h @@ -325,13 +325,10 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt, virNetworkXMLOption *xmlopt); virNetworkDef * -virNetworkDefParseString(const char *xmlStr, - virNetworkXMLOption *xmlopt, - bool validate); - -virNetworkDef * -virNetworkDefParseFile(const char *filename, - virNetworkXMLOption *xmlopt); +virNetworkDefParse(const char *xmlStr, + const char *filename, + virNetworkXMLOption *xmlopt, + bool validate); char * virNetworkDefFormat(const virNetworkDef *def, diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index 7621fa3380..d23eb2f401 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -967,7 +967,7 @@ virNetworkLoadConfig(virNetworkObjList *nets, if ((autostart =3D virFileLinkPointsTo(autostartLink, configFile)) < 0) goto error; - if (!(def =3D virNetworkDefParseFile(configFile, xmlopt))) + if (!(def =3D virNetworkDefParse(NULL, configFile, xmlopt, false))) goto error; if (STRNEQ(name, def->name)) { diff --git a/src/esx/esx_network_driver.c b/src/esx/esx_network_driver.c index bf9630ce9d..1261b3f1fa 100644 --- a/src/esx/esx_network_driver.c +++ b/src/esx/esx_network_driver.c @@ -296,7 +296,7 @@ esxNetworkDefineXMLFlags(virConnectPtr conn, const char= *xml, return NULL; /* Parse network XML */ - def =3D virNetworkDefParseString(xml, NULL, !!(flags & VIR_NETWORK_DEF= INE_VALIDATE)); + def =3D virNetworkDefParse(xml, NULL, NULL, !!(flags & VIR_NETWORK_DEF= INE_VALIDATE)); if (!def) return NULL; diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 3ce2cc1a7e..5714e0c114 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -828,8 +828,7 @@ virNetworkDefForwardIf; virNetworkDefFree; virNetworkDefGetIPByIndex; virNetworkDefGetRouteByIndex; -virNetworkDefParseFile; -virNetworkDefParseString; +virNetworkDefParse; virNetworkDefParseXML; virNetworkDefUpdateSection; virNetworkDHCPLeaseTimeUnitTypeFromString; diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index e4f5e93779..a5973e26cd 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -3017,8 +3017,8 @@ networkCreateXMLFlags(virConnectPtr conn, virCheckFlags(VIR_NETWORK_CREATE_VALIDATE, NULL); - if (!(newDef =3D virNetworkDefParseString(xml, network_driver->xmlopt, - !!(flags & VIR_NETWORK_CREATE_= VALIDATE)))) + if (!(newDef =3D virNetworkDefParse(xml, NULL, network_driver->xmlopt, + !!(flags & VIR_NETWORK_CREATE_VALIDA= TE)))) goto cleanup; if (virNetworkCreateXMLFlagsEnsureACL(conn, newDef) < 0) @@ -3082,8 +3082,8 @@ networkDefineXMLFlags(virConnectPtr conn, virCheckFlags(VIR_NETWORK_DEFINE_VALIDATE, NULL); - if (!(def =3D virNetworkDefParseString(xml, network_driver->xmlopt, - !!(flags & VIR_NETWORK_DEFINE_VAL= IDATE)))) + if (!(def =3D virNetworkDefParse(xml, NULL, network_driver->xmlopt, + !!(flags & VIR_NETWORK_DEFINE_VALIDATE)= ))) goto cleanup; defAlias =3D def; /* so we can still ref the object after nullifying d= ef */ diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 998f4aa63c..d23857353a 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4852,7 +4852,7 @@ qemuProcessGetNetworkAddress(const char *netname, if (!xml) return -1; - netdef =3D virNetworkDefParseString(xml, NULL, false); + netdef =3D virNetworkDefParse(xml, NULL, NULL, false); if (!netdef) return -1; diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 4c4eabc9fc..9f0517e89e 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -5559,8 +5559,8 @@ testNetworkCreateXMLFlags(virConnectPtr conn, const c= har *xml, virCheckFlags(VIR_NETWORK_CREATE_VALIDATE, NULL); - if (!(newDef =3D virNetworkDefParseString(xml, NULL, - !!(flags & VIR_NETWORK_CREATE_= VALIDATE)))) + if (!(newDef =3D virNetworkDefParse(xml, NULL, NULL, + !!(flags & VIR_NETWORK_CREATE_VALIDA= TE)))) goto cleanup; if (!(obj =3D virNetworkObjAssignDef(privconn->networks, newDef, @@ -5605,8 +5605,8 @@ testNetworkDefineXMLFlags(virConnectPtr conn, virCheckFlags(VIR_NETWORK_DEFINE_VALIDATE, NULL); - if (!(newDef =3D virNetworkDefParseString(xml, NULL, - !!(flags & VIR_NETWORK_DEFINE_= VALIDATE)))) + if (!(newDef =3D virNetworkDefParse(xml, NULL, NULL, + !!(flags & VIR_NETWORK_DEFINE_VALIDA= TE)))) goto cleanup; if (!(obj =3D virNetworkObjAssignDef(privconn->networks, newDef, 0))) diff --git a/src/vbox/vbox_network.c b/src/vbox/vbox_network.c index 885fd48321..c3dea66102 100644 --- a/src/vbox/vbox_network.c +++ b/src/vbox/vbox_network.c @@ -402,7 +402,7 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const ch= ar *xml, bool start, VBOX_IID_INITIALIZE(&vboxnetiid); - if (!(def =3D virNetworkDefParseString(xml, NULL, validate)) || + if (!(def =3D virNetworkDefParse(xml, NULL, NULL, validate)) || (def->forward.type !=3D VIR_NETWORK_FORWARD_NONE) || (def->nips =3D=3D 0 || !def->ips)) goto cleanup; diff --git a/tests/networkxml2conftest.c b/tests/networkxml2conftest.c index bbeb849a39..726f073ddc 100644 --- a/tests/networkxml2conftest.c +++ b/tests/networkxml2conftest.c @@ -31,7 +31,7 @@ testCompareXMLToConfFiles(const char *inxml, const char *= outconf, if (!(xmlopt =3D networkDnsmasqCreateXMLConf())) goto fail; - if (!(def =3D virNetworkDefParseFile(inxml, xmlopt))) + if (!(def =3D virNetworkDefParse(NULL, inxml, xmlopt, false))) goto fail; if (!(obj =3D virNetworkObjNew())) diff --git a/tests/networkxml2firewalltest.c b/tests/networkxml2firewalltes= t.c index ca793fd4ea..cb66a26294 100644 --- a/tests/networkxml2firewalltest.c +++ b/tests/networkxml2firewalltest.c @@ -95,7 +95,7 @@ static int testCompareXMLToArgvFiles(const char *xml, virCommandSetDryRun(dryRunToken, &buf, true, true, testCommandDryRun, = NULL); - if (!(def =3D virNetworkDefParseFile(xml, NULL))) + if (!(def =3D virNetworkDefParse(NULL, xml, NULL, false))) return -1; if (networkAddFirewallRules(def) < 0) diff --git a/tests/networkxml2xmltest.c b/tests/networkxml2xmltest.c index 521f058acc..b0814c7529 100644 --- a/tests/networkxml2xmltest.c +++ b/tests/networkxml2xmltest.c @@ -33,7 +33,7 @@ testCompareXMLToXMLFiles(const char *inxml, const char *o= utxml, if (!(xmlopt =3D networkDnsmasqCreateXMLConf())) goto cleanup; - if (!(dev =3D virNetworkDefParseFile(inxml, xmlopt))) { + if (!(dev =3D virNetworkDefParse(NULL, inxml, xmlopt, false))) { result =3D TEST_COMPARE_NET_XML2XML_RESULT_FAIL_PARSE; goto cleanup; } diff --git a/tests/networkxml2xmlupdatetest.c b/tests/networkxml2xmlupdatet= est.c index 58b6f70c96..afe2b1f574 100644 --- a/tests/networkxml2xmlupdatetest.c +++ b/tests/networkxml2xmlupdatetest.c @@ -25,7 +25,7 @@ testCompareXMLToXMLFiles(const char *netxml, const char *= updatexml, if (virTestLoadFile(updatexml, &updateXmlData) < 0) return -1; - if (!(def =3D virNetworkDefParseFile(netxml, NULL))) + if (!(def =3D virNetworkDefParse(NULL, netxml, NULL, false))) goto fail; if (virNetworkDefUpdateSection(def, command, section, parentIndex, --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872507; cv=none; d=zohomail.com; s=zohoarc; b=Lin2GU+Ghu8cTrMOowffA6Q9lfFBwO8iDiMpiBGyGRQicO+QFP1e/pT612ZSHs2J6pc8VQ2nF1Yh3wg2NQo7PoDUQSc+tY+TTtIwW+gag7QpJ+OGZRjkj2fin8fd3sUJoomQ76rmAIV4Wcrg+uXoqGA2v2wwlDnicNLyk8u+XgM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872507; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=p03Psd2QHDlHUqme+jeUgb42i4C7HI7LbpP+vxVkGkE=; b=OdXL4xwhXjkG2LB23VQLb6aIUrW3iEb5ixt0XjhDW11CIaVK9PHxS3aQSBeloXgsPymMqdG7kSuPyba+Tw90CWhG/+roMb830PnQ98wUGGOQpoqg41Uf8a9EEy3ZBx8BbikESrTsbjVI+qM0HRdYyXrdlg0NWYg5XryyQWZgtsA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872507593613.1880545592936; Tue, 4 Oct 2022 01:35:07 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-74-xq8W15xIMLKjLGz8FYfLJA-1; Tue, 04 Oct 2022 04:33:52 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 83645185A7A8; Tue, 4 Oct 2022 08:33:50 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6C955C15BB1; Tue, 4 Oct 2022 08:33:50 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 81B481946A74; Tue, 4 Oct 2022 08:33:49 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 826111946A71 for ; Tue, 4 Oct 2022 08:33:48 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 7661740C6EC3; Tue, 4 Oct 2022 08:33:48 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id DD66540C6EC2 for ; Tue, 4 Oct 2022 08:33:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872506; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=p03Psd2QHDlHUqme+jeUgb42i4C7HI7LbpP+vxVkGkE=; b=P2RQRrrytd2yQ/QoUPXdiK3tbhNeUgd6B2BEOmmFzaHQgOiPXp95WqYG1yX6S7Wmhwadtp HaOo8sX43WSiipF2in+YCq2NyJySLhPDy+yh7HUvFonSnHE744pnGnUsj86A99taHaSspn Mu0W1I7L/Rb4+re2JLPgtzFruE5Wbz0= X-MC-Unique: xq8W15xIMLKjLGz8FYfLJA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 32/43] conf: domain: Remove virDomainObjParseNode Date: Tue, 4 Oct 2022 10:33:06 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872508032100001 Content-Type: text/plain; charset="utf-8" virDomainObjParseFile is the only caller of virDomainObjParseNode. The code can be merged into it, simplified by using virXMLParse and the function removed. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 36 ++++++------------------------------ src/conf/domain_conf.h | 4 ---- src/libvirt_private.syms | 1 - 3 files changed, 6 insertions(+), 35 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 5bb5cfa500..03f4b2fe33 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -19155,48 +19155,24 @@ virDomainDefParseNode(xmlDocPtr xml, virDomainObj * -virDomainObjParseNode(xmlDocPtr xml, - xmlNodePtr root, +virDomainObjParseFile(const char *filename, virDomainXMLOption *xmlopt, unsigned int flags) { + g_autoptr(xmlDoc) xml =3D NULL; g_autoptr(xmlXPathContext) ctxt =3D NULL; + int keepBlanksDefault =3D xmlKeepBlanksDefault(0); - if (!virXMLNodeNameEqual(root, "domstatus")) { - virReportError(VIR_ERR_XML_ERROR, - _("unexpected root element <%s>, " - "expecting "), - root->name); - return NULL; - } + xml =3D virXMLParse(filename, NULL, NULL, "domstatus", &ctxt, NULL, fa= lse); + xmlKeepBlanksDefault(keepBlanksDefault); - if (!(ctxt =3D virXMLXPathContextNew(xml))) + if (!xml) return NULL; - ctxt->node =3D root; return virDomainObjParseXML(ctxt, xmlopt, flags); } -virDomainObj * -virDomainObjParseFile(const char *filename, - virDomainXMLOption *xmlopt, - unsigned int flags) -{ - g_autoptr(xmlDoc) xml =3D NULL; - virDomainObj *obj =3D NULL; - int keepBlanksDefault =3D xmlKeepBlanksDefault(0); - - if ((xml =3D virXMLParseFile(filename))) { - obj =3D virDomainObjParseNode(xml, xmlDocGetRootElement(xml), - xmlopt, flags); - } - - xmlKeepBlanksDefault(keepBlanksDefault); - return obj; -} - - static bool virDomainTimerDefCheckABIStability(virDomainTimerDef *src, virDomainTimerDef *dst) diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 352b88eae5..6eab1056c1 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3617,10 +3617,6 @@ virDomainDef *virDomainDefParseNode(xmlDocPtr doc, virDomainXMLOption *xmlopt, void *parseOpaque, unsigned int flags); -virDomainObj *virDomainObjParseNode(xmlDocPtr xml, - xmlNodePtr root, - virDomainXMLOption *xmlopt, - unsigned int flags); virDomainObj *virDomainObjParseFile(const char *filename, virDomainXMLOption *xmlopt, unsigned int flags); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 5714e0c114..00cb07709d 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -582,7 +582,6 @@ virDomainObjIsFailedPostcopy; virDomainObjIsPostcopy; virDomainObjNew; virDomainObjParseFile; -virDomainObjParseNode; virDomainObjRemoveTransientDef; virDomainObjSave; virDomainObjSetDefTransient; --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872594; cv=none; d=zohomail.com; s=zohoarc; b=QxvpmMSTIUSllVFTGD2MbIQrqgSQfHTyxCmUP5k94IekUI10R+Agp0brlCkNR/bgu85eKExyt6ddNSOGoFrp2rFZ/t+T/OydydJr7xz8JdOC7DFvpYID4gss7CsnIChVKSyRMa5zgl7yJmhdqUut2aUkapv89ahIAI1kp6m8tjI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872594; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=L4nqlSeIf15mCp4lpai+fdbPbAZA32epVqyoBcWOjTI=; b=jkX09EGaRh84hqPCAwJ5rx2GFaLefMZxfcnPw1bBY2wZ6oM23NH7/KkgZDmbvYtKLauhEgqNtlteIsVZfmSd/g0ZnWOtjQWDX2yik9WozJRhVnX11R85Yps8Wq6+Ds4zvY6YGO1V91EIRwdNE6NbiRjURZSQhRMN/bTFUxGX7s8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872594079562.2112856477349; Tue, 4 Oct 2022 01:36:34 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-520-ISP2nCsUN4mW7oqoLHZzMg-1; Tue, 04 Oct 2022 04:33:54 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 67B2D299E753; Tue, 4 Oct 2022 08:33:52 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 51C2BC15BA8; Tue, 4 Oct 2022 08:33:52 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 7C33A194706F; Tue, 4 Oct 2022 08:33:51 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 89E5019451EC for ; Tue, 4 Oct 2022 08:33:49 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 60D3140C6EC4; Tue, 4 Oct 2022 08:33:49 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id CB6E040C6EC3 for ; Tue, 4 Oct 2022 08:33:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872593; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=L4nqlSeIf15mCp4lpai+fdbPbAZA32epVqyoBcWOjTI=; b=dNOJJNgWRBZk+5zeUxhTT9TU57uLwfHnbna+mJfJXCelhSwcg2K0/gpdOSVv5hlZSUyfhH UbST7qJj/Vrw2A2QKg6lY7EsMse69KdZDA0/vqoYkn2HKyp+vbcfi/doVnflZ7WYRzRqM7 lWlvCFp8xWDGKPnjZFI4Pl7CpEyx4hI= X-MC-Unique: ISP2nCsUN4mW7oqoLHZzMg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 33/43] conf: domain: Simplify validation in virDomainDefParse Date: Tue, 4 Oct 2022 10:33:07 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872594534100001 Content-Type: text/plain; charset="utf-8" Use virXMLParse's features to validate the top level element and fetch the XPath context. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 03f4b2fe33..bd882039e7 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -19080,29 +19080,19 @@ virDomainDefParse(const char *xmlStr, unsigned int flags) { g_autoptr(xmlDoc) xml =3D NULL; - virDomainDef *def =3D NULL; + g_autoptr(xmlXPathContext) ctxt =3D NULL; int keepBlanksDefault =3D xmlKeepBlanksDefault(0); - xmlNodePtr root; bool validate =3D flags & VIR_DOMAIN_DEF_PARSE_VALIDATE_SCHEMA; - if (!(xml =3D virXMLParse(filename, xmlStr, _("(domain_definition)"), - NULL, NULL, "domain.rng", validate))) - goto cleanup; + xml =3D virXMLParse(filename, xmlStr, _("(domain_definition)"), + "domain", &ctxt, "domain.rng", validate); - root =3D xmlDocGetRootElement(xml); - if (!virXMLNodeNameEqual(root, "domain")) { - virReportError(VIR_ERR_XML_ERROR, - _("unexpected root element <%s>, " - "expecting "), - root->name); - goto cleanup; - } + xmlKeepBlanksDefault(keepBlanksDefault); - def =3D virDomainDefParseNode(xml, root, xmlopt, parseOpaque, flags); + if (!xml) + return NULL; - cleanup: - xmlKeepBlanksDefault(keepBlanksDefault); - return def; + return virDomainDefParseNode(xml, ctxt->node, xmlopt, parseOpaque, fla= gs); } virDomainDef * --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872445; cv=none; d=zohomail.com; s=zohoarc; b=IWsZ+fTHmNTBG62lpQf2oyaF5G1uae0cTBGmPj2FPSksiTYTA1TaB20QPGBoKcuji4KAd0aeiX/RASbIjkGOc68qTcyjeiKFd1hq92cfbAAXl0tHdlfjDgx7FBdpPH+G6yfroTlqDV+BGR/cnBmm/3e2CSiV7GdGw+O+RKvF+F8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872445; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=sUMvgYuyeglu74CbFWtSBDUdS2aD2ikHIGoy6dUoYZI=; b=bJm+0lRa274Qx7CjHT2rS//668pB0Ay1A2+UHnaA5ImMIzNlsDaJLmkTgMoruDutlz2jPaVHWnQfPTHrJmbYheDds8GDcSkgg/YhK5Eyd9uMboaA7XzM7rWZVYT8JvNdM2wfte/aFMWx/JAlhmR2Un39YQi9LxE/2pBgYObsq4s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872445401574.4049696360631; Tue, 4 Oct 2022 01:34:05 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-115-Hl91h9s7PxKhf5mnNWawFQ-1; Tue, 04 Oct 2022 04:33:56 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 351AC3C0F43D; Tue, 4 Oct 2022 08:33:54 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1E8752027063; Tue, 4 Oct 2022 08:33:54 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E0D321946A74; Tue, 4 Oct 2022 08:33:53 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 79C7B19465A2 for ; Tue, 4 Oct 2022 08:33:50 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 4D04740C6EC3; Tue, 4 Oct 2022 08:33:50 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id B45C340C6EC2 for ; Tue, 4 Oct 2022 08:33:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872443; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=sUMvgYuyeglu74CbFWtSBDUdS2aD2ikHIGoy6dUoYZI=; b=F2bbxd0E3mdoLPzP5KbfFldwfbbKMbIrQMXgiehxvoev4xW9L4DgKhO+ZvWz/02vZdPAo6 y2sgZXmB/xCeefRxjjvMiE9iLbW5ReSoXEavA1NznJVPyrxjY8wBOrwEVB1B6QLnoQq+4Y hB7/jOB/I8BdylJLFk99UtPwrLdwRrI= X-MC-Unique: Hl91h9s7PxKhf5mnNWawFQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 34/43] virDomainDefParseNode: Pass only the XPath context as argument Date: Tue, 4 Oct 2022 10:33:08 +0200 Message-Id: <673b013c6a9b735557449145b16b6e305f5a8208.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872447328100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/checkpoint_conf.c | 6 ++++-- src/conf/domain_conf.c | 11 ++--------- src/conf/domain_conf.h | 3 +-- src/conf/snapshot_conf.c | 16 ++++++++++------ src/qemu/qemu_migration_cookie.c | 10 ++++++---- src/test/test_driver.c | 8 ++++---- tests/qemuxml2argvtest.c | 3 +-- 7 files changed, 28 insertions(+), 29 deletions(-) diff --git a/src/conf/checkpoint_conf.c b/src/conf/checkpoint_conf.c index ea20bfdd14..6656089457 100644 --- a/src/conf/checkpoint_conf.c +++ b/src/conf/checkpoint_conf.c @@ -153,11 +153,13 @@ virDomainCheckpointDefParse(xmlXPathContextPtr ctxt, def->parent.parent_name =3D virXPathString("string(./parent/name)"= , ctxt); if ((domainNode =3D virXPathNode("./domain", ctxt))) { + VIR_XPATH_NODE_AUTORESTORE(ctxt) unsigned int domainParseFlags =3D VIR_DOMAIN_DEF_PARSE_INACTIV= E | VIR_DOMAIN_DEF_PARSE_SKIP_VALI= DATE; - def->parent.dom =3D virDomainDefParseNode(ctxt->node->doc, dom= ainNode, - xmlopt, parseOpaque, + ctxt->node =3D domainNode; + + def->parent.dom =3D virDomainDefParseNode(ctxt, xmlopt, parseO= paque, domainParseFlags); if (!def->parent.dom) return NULL; diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index bd882039e7..bf165d0a64 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -19092,7 +19092,7 @@ virDomainDefParse(const char *xmlStr, if (!xml) return NULL; - return virDomainDefParseNode(xml, ctxt->node, xmlopt, parseOpaque, fla= gs); + return virDomainDefParseNode(ctxt, xmlopt, parseOpaque, flags); } virDomainDef * @@ -19115,20 +19115,13 @@ virDomainDefParseFile(const char *filename, virDomainDef * -virDomainDefParseNode(xmlDocPtr xml, - xmlNodePtr root, +virDomainDefParseNode(xmlXPathContext *ctxt, virDomainXMLOption *xmlopt, void *parseOpaque, unsigned int flags) { - g_autoptr(xmlXPathContext) ctxt =3D NULL; g_autoptr(virDomainDef) def =3D NULL; - if (!(ctxt =3D virXMLXPathContextNew(xml))) - return NULL; - - ctxt->node =3D root; - if (!(def =3D virDomainDefParseXML(ctxt, xmlopt, flags))) return NULL; diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 6eab1056c1..8f8a54bc41 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3612,8 +3612,7 @@ virDomainDef *virDomainDefParseFile(const char *filen= ame, virDomainXMLOption *xmlopt, void *parseOpaque, unsigned int flags); -virDomainDef *virDomainDefParseNode(xmlDocPtr doc, - xmlNodePtr root, +virDomainDef *virDomainDefParseNode(xmlXPathContext *ctxt, virDomainXMLOption *xmlopt, void *parseOpaque, unsigned int flags); diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c index afdc11876d..4b5b908d66 100644 --- a/src/conf/snapshot_conf.c +++ b/src/conf/snapshot_conf.c @@ -266,15 +266,15 @@ virDomainSnapshotDefParse(xmlXPathContextPtr ctxt, * clients will have to decide between best effort * initialization or outright failure. */ if ((domtype =3D virXPathString("string(./domain/@type)", ctxt))) { - xmlNodePtr domainNode =3D virXPathNode("./domain", ctxt); + VIR_XPATH_NODE_AUTORESTORE(ctxt) - if (!domainNode) { + if (!(ctxt->node =3D virXPathNode("./domain", ctxt))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing domain in snapshot")); return NULL; } - def->parent.dom =3D virDomainDefParseNode(ctxt->node->doc, dom= ainNode, - xmlopt, parseOpaque, + + def->parent.dom =3D virDomainDefParseNode(ctxt, xmlopt, parseO= paque, domainflags); if (!def->parent.dom) return NULL; @@ -286,8 +286,12 @@ virDomainSnapshotDefParse(xmlXPathContextPtr ctxt, * VM. In case of absent, leave parent.inactiveDom NULL and use * parent.dom for config and live XML. */ if ((inactiveDomNode =3D virXPathNode("./inactiveDomain", ctxt))) { - def->parent.inactiveDom =3D virDomainDefParseNode(ctxt->node->= doc, inactiveDomNode, - xmlopt, NULL, = domainflags); + VIR_XPATH_NODE_AUTORESTORE(ctxt) + + ctxt->node =3D inactiveDomNode; + + def->parent.inactiveDom =3D virDomainDefParseNode(ctxt, xmlopt= , NULL, + domainflags); if (!def->parent.inactiveDom) return NULL; } diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_coo= kie.c index a4e018e204..95e803b3e1 100644 --- a/src/qemu/qemu_migration_cookie.c +++ b/src/qemu/qemu_migration_cookie.c @@ -1261,7 +1261,6 @@ static int qemuMigrationCookieXMLParse(qemuMigrationCookie *mig, virQEMUDriver *driver, virQEMUCaps *qemuCaps, - xmlDocPtr doc, xmlXPathContextPtr ctxt, unsigned int flags) { @@ -1356,6 +1355,7 @@ qemuMigrationCookieXMLParse(qemuMigrationCookie *mig, if ((flags & QEMU_MIGRATION_COOKIE_PERSISTENT) && virXPathBoolean("count(./domain) > 0", ctxt)) { + VIR_XPATH_NODE_AUTORESTORE(ctxt) g_autofree xmlNodePtr *nodes =3D NULL; if ((virXPathNodeSet("./domain", ctxt, &nodes)) !=3D 1) { @@ -1363,8 +1363,10 @@ qemuMigrationCookieXMLParse(qemuMigrationCookie *mig, _("Too many domain elements in migration cookie= ")); return -1; } - mig->persistent =3D virDomainDefParseNode(doc, nodes[0], - driver->xmlopt, qemuCaps, + + ctxt->node =3D nodes[0]; + + mig->persistent =3D virDomainDefParseNode(ctxt, driver->xmlopt, qe= muCaps, VIR_DOMAIN_DEF_PARSE_INACT= IVE | VIR_DOMAIN_DEF_PARSE_ABI_U= PDATE_MIGRATION | VIR_DOMAIN_DEF_PARSE_SKIP_= VALIDATE); @@ -1420,7 +1422,7 @@ qemuMigrationCookieXMLParseStr(qemuMigrationCookie *m= ig, if (!(doc =3D virXMLParseStringCtxt(xml, _("(qemu_migration_cookie)"),= &ctxt))) return -1; - return qemuMigrationCookieXMLParse(mig, driver, qemuCaps, doc, ctxt, f= lags); + return qemuMigrationCookieXMLParse(mig, driver, qemuCaps, ctxt, flags); } diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 9f0517e89e..373e5f7846 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1019,14 +1019,14 @@ testParseDomains(testDriver *privconn, return -1; for (i =3D 0; i < num; i++) { + VIR_XPATH_NODE_AUTORESTORE(ctxt) g_autoptr(virDomainDef) def =3D NULL; testDomainNamespaceDef *nsdata; - xmlNodePtr node =3D testParseXMLDocFromFile(nodes[i], file); - if (!node) + + if (!(ctxt->node =3D testParseXMLDocFromFile(nodes[i], file))) goto error; - def =3D virDomainDefParseNode(ctxt->doc, node, - privconn->xmlopt, NULL, + def =3D virDomainDefParseNode(ctxt, privconn->xmlopt, NULL, VIR_DOMAIN_DEF_PARSE_INACTIVE); if (!def) goto error; diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 8785c96ce1..cad4c1abd5 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -709,8 +709,7 @@ testCompareXMLToArgv(const void *data) parseFlags |=3D VIR_DOMAIN_DEF_PARSE_INACTIVE; - if (!(vm->def =3D virDomainDefParseNode(xml, ctxt->node, driver.xmlopt= , NULL, - parseFlags))) { + if (!(vm->def =3D virDomainDefParseNode(ctxt, driver.xmlopt, NULL, par= seFlags))) { err =3D virGetLastError(); if (!err) { VIR_TEST_DEBUG("no error was reported for expected parse error= "); --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872518; cv=none; d=zohomail.com; s=zohoarc; b=Ele4R1AI1Si5jEHf453BbI6yLRA489s9GJqpxS3mJiLzEljsVAlfrbmoOH+f1PMGDXfHwsNaUY5oGkkjOSK58vqkNoQktgewnkthclBN4OpFPmzBuY2X5Lf8VsspigR23jjHl1RGwKF6QDVJWl/QSR/mTXo31h87hOY/Zpc0bvM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872518; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Krfe1apEjFnJomUA8cs+Zpdgdu69/kUiSs+7wZwNI4A=; b=iMewDoPsBoJqj1qucIAi+79yM2SpB2tzOLsws0oFH5bvf3uCvnexXkP5cDnDllvRUcMy5NqTwB/wgYv4CS01VDbXFmHyrUVF07HAwAkXkqzS2YNSsddvAiHO2ivMyNTcwf0yCPcqWhMfRidNYEoLA9nFmQbxjIYshDaWxSwcU/Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872518149823.0739422116114; Tue, 4 Oct 2022 01:35:18 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-625-NdkP-R8pNTyQTgKxWczW7A-1; Tue, 04 Oct 2022 04:33:55 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1567E101A52A; Tue, 4 Oct 2022 08:33:53 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id F2A60C15BB1; Tue, 4 Oct 2022 08:33:52 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E833319465B5; Tue, 4 Oct 2022 08:33:52 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 67CF1194705A for ; Tue, 4 Oct 2022 08:33:51 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 3E79240C6EC5; Tue, 4 Oct 2022 08:33:51 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id AC93C40C6EC2 for ; Tue, 4 Oct 2022 08:33:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872516; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Krfe1apEjFnJomUA8cs+Zpdgdu69/kUiSs+7wZwNI4A=; b=ZlKqxFfjafh2iTAVUGrZKmJ+0+tA6DlBePx7Oiy7sr6u23VEtzZHKmfGOzOk9E1CSyQ8Gc 6lILnl3RwKdHhxOPAOZ0ShLlx0X+A3ZQkYdCnaxrUj8hiSqg/xXDUNzMgExcQKG5Fiq6bW o4F+jCoNfBi62nDtYtsCwAZHikS4za8= X-MC-Unique: NdkP-R8pNTyQTgKxWczW7A-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 35/43] virsh: Use proper helper for parsing XML in virshDumpXML Date: Tue, 4 Oct 2022 10:33:09 +0200 Message-Id: <0bf0e3db1b200588561e355ec50accc896f002e5.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872519987100011 Content-Type: text/plain; charset="utf-8" Use virXMLParseStringCtxt instead of virXMLParseString since the code requires a XPath context anyways. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- tools/virsh-util.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tools/virsh-util.c b/tools/virsh-util.c index 8a20f627a1..3c4a084441 100644 --- a/tools/virsh-util.c +++ b/tools/virsh-util.c @@ -457,14 +457,11 @@ virshDumpXML(vshControl *ctl, } oldblanks =3D xmlKeepBlanksDefault(0); - doc =3D virXMLParseString(xml, url); + doc =3D virXMLParseStringCtxt(xml, url, &ctxt); xmlKeepBlanksDefault(oldblanks); if (!doc) return false; - if (!(ctxt =3D virXMLXPathContextNew(doc))) - return false; - if ((nnodes =3D virXPathNodeSet(xpath, ctxt, &nodes)) < 0) { return false; } --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872514; cv=none; d=zohomail.com; s=zohoarc; b=CCseRD6iqLi1HbRdIssFvoDjdDpNZZxz2zfVD/2A37eGIXgx+UU9cWoG7mBPds4TalxQ4jOWdWE7/hU2smkpkNMDwqT1DKlSlk7JafzJ7Crdl4oIn67YwXbe52VozIebCbOe5kLm33ESWF4TNiR6FExrs3WvlsSxUcY8oKxbJ2k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872514; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SwWvOgKlUbYY9qYPpuBu+z8848vqu9lrfUWxwePB074=; b=Tdczm61WHUHRuD9rRK+3UBK1kfAkk09XGgMrD8KJoZrD7NLQzatYIFMCodUY87yMDjDduSRlxPVaHjZeWpt+/2GkrRmaSZTqqlHC6lSNiDGS+dy5jR9UER1SCzBpdYFHBr3Dz4NVe0+bD/MPDZzBpveiYdkvMVBzjcH4JgMj/2I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872514538498.5843782349997; Tue, 4 Oct 2022 01:35:14 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-570-hB4A54TYNwuXCOg3PNdsew-1; Tue, 04 Oct 2022 04:33:55 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 920F886C056; Tue, 4 Oct 2022 08:33:53 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7DC5135429; Tue, 4 Oct 2022 08:33:53 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 3764E1947060; Tue, 4 Oct 2022 08:33:53 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 4D3FE1947055 for ; Tue, 4 Oct 2022 08:33:52 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 2CC9640C6EC3; Tue, 4 Oct 2022 08:33:52 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9C27740C6EC2 for ; Tue, 4 Oct 2022 08:33:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872513; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=SwWvOgKlUbYY9qYPpuBu+z8848vqu9lrfUWxwePB074=; b=eT3oHcRVIhvEcl6QkbAcL9bvF406NoGqBoBcE5E+VJ46yhHEt0kM+gOANhLK4Fl06mAFJW I01iikj4DB233FdokyMZfudV6Www9MT2ocx4Ux2w+yTAoGvMvsGPX3od4olxiqygPJQvah 0K6o0AEFfPI+VFgfbjj957c1dIWUHag= X-MC-Unique: hB4A54TYNwuXCOg3PNdsew-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 36/43] util: xml: Remove virXMLParseString Date: Tue, 4 Oct 2022 10:33:10 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872515992100007 Content-Type: text/plain; charset="utf-8" Most callers use virXMLParseStringCtxt. Convert the last use case and remove the helper. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 2 +- src/util/virxml.h | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index bf165d0a64..70501ca768 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -28851,7 +28851,7 @@ virDomainDefSetMetadata(virDomainDef *def, if (metadata) { /* parse and modify the xml from the user */ - if (!(doc =3D virXMLParseString(metadata, _("(metadata_xml)"))= )) + if (!(doc =3D virXMLParseStringCtxt(metadata, _("(metadata_xml= )"), NULL))) return -1; if (virXMLInjectNamespace(doc->children, uri, key) < 0) diff --git a/src/util/virxml.h b/src/util/virxml.h index a80e795f6b..72d45f8018 100644 --- a/src/util/virxml.h +++ b/src/util/virxml.h @@ -216,18 +216,6 @@ virXMLPickShellSafeComment(const char *str1, #define virXMLParse(filename, xmlStr, url, rootelement, ctxt, schemafile, = validate) \ virXMLParseHelper(VIR_FROM_THIS, filename, xmlStr, url, rootelement, c= txt, schemafile, validate) -/** - * virXMLParseString: - * @xmlStr: a string to parse - * @url: an optional filename to attribute the parse to - * - * Parse xml from a string. - * - * Return the parsed document object, or NULL on failure. - */ -#define virXMLParseString(xmlStr, url) \ - virXMLParseHelper(VIR_FROM_THIS, NULL, xmlStr, url, NULL, NULL, NULL, = false) - /** * virXMLParseFile: * @filename: file to parse --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872652; cv=none; d=zohomail.com; s=zohoarc; b=YBrryfg7ms19POY8bHt1L9phzqVV42Yl/7d53OwZ7Gcvza/0GLg6gpitQUy+n54fb/xf0gZRDdQqvhhDjr720BFwS3XIGCxTMjlWywECN2C0b+6H9d4T6m7Iz2Uzu9VnTehXS7SuSPC5JKamhE+Ow9kuV3/sQmd5/A37DXFp208= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872652; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=tF7Dj2wcBmD8Kq36tx9yQN7BbUjh6MiYgIis3Je1F4E=; b=OLZiklOhC/u0cZXZEI3xLlc3Pun55wTBKtMNMPk19IbfmgWBKV6C+QFPwC6oOAavPOufxOLHctNBnH0hwfThA1ndXCLzV3HH01WhCre4aTl3gDag6///ruST02Ne5oERDX6DUCFPVKij71Y1pbxRHGRea8jEL1Gl9FUVwUyGk2U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 166487265200880.93009760583925; Tue, 4 Oct 2022 01:37:32 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-215-NITKWIPyPrGm09WgE94Rzg-1; Tue, 04 Oct 2022 04:34:01 -0400 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DC69A80280D; Tue, 4 Oct 2022 08:33:57 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id C8F714A9254; Tue, 4 Oct 2022 08:33:57 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id AEF961947042; Tue, 4 Oct 2022 08:33:57 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 28096194705C for ; Tue, 4 Oct 2022 08:33:53 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 0D0CB40C6EC2; Tue, 4 Oct 2022 08:33:53 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7F7BF40C6EC3 for ; Tue, 4 Oct 2022 08:33:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872651; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=tF7Dj2wcBmD8Kq36tx9yQN7BbUjh6MiYgIis3Je1F4E=; b=cBXlyOTpnniqaugq0uAMD4VMAyZZ3A7HkwsMyE51zL3zOtNAYIjlr/tQcvcRSNaH1aqguR qN/iKZihQEO+8v/S5smCYoU6Nn9hIezZ4xs+NWdqUEXil8B1bgIdRUtiAXjx6QRmWun2oq ilC4LkUt0We25vDzQUGDlofLTV1Axps= X-MC-Unique: NITKWIPyPrGm09WgE94Rzg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 37/43] qemu: capabilities: Convert virQEMUCapsLoadCache to virXMLParse Date: Tue, 4 Oct 2022 10:33:11 +0200 Message-Id: <1536bc6e94dfe684dc7f27e1d1f9b17b79f2b414.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872652465100001 Content-Type: text/plain; charset="utf-8" Use virXMLParse so that the code doesn't have to explicitly allocate an XPath context and validate the root element. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_capabilities.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index e84310c79a..146c3daa39 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -4359,22 +4359,9 @@ virQEMUCapsLoadCache(virArch hostArch, long long int l; unsigned long lu; - if (!(doc =3D virXMLParseFile(filename))) + if (!(doc =3D virXMLParse(filename, NULL, NULL, "qemuCaps", &ctxt, NUL= L, false))) return -1; - if (!(ctxt =3D virXMLXPathContextNew(doc))) - return -1; - - ctxt->node =3D xmlDocGetRootElement(doc); - - if (STRNEQ((const char *)ctxt->node->name, "qemuCaps")) { - virReportError(VIR_ERR_XML_ERROR, - _("unexpected root element <%s>, " - "expecting "), - ctxt->node->name); - return -1; - } - if (virXPathLongLong("string(./selfctime)", ctxt, &l) < 0) { virReportError(VIR_ERR_XML_ERROR, "%s", _("missing selfctime in QEMU capabilities XML")); --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872584; cv=none; d=zohomail.com; s=zohoarc; b=belCCLej8yMQVZvJFHedZWHg2wiD2WFjsH03N3b1DgZpqfLfDQ9cCrqC5BAKCv9A2/nldg0Zf1E1I/yW/nh8PjjBaTbPrachz6SvH3VZuFdqtAcmtn+mZW4Cehn0qvm+YSM+q+6qmCNB706UEx2XbtQ7cGCWVRd3+lzocEp1Xw4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872584; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=lzyxwaFYVFs4qJSJdnKArrsYnP+8nrNBqu7sCi7rVaw=; b=OGzXXs3P3/LXq3iZ8pqaGmSNFUuVE+AwoqbZwn5HdFsHSouZQdGXBugEDEWgsO6BLXdZzfWHieBvf7wi3TjJtvTHYrBo9S1VGCbkyNqjnXu8dODVJQcazDh//bI4qZDdgtE3nR53Ry4ANNwvNVuO9vh2KH8eJjRYOAKHTXZgd8g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1664872584207834.684432620118; Tue, 4 Oct 2022 01:36:24 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-634-lDelUc6FOh2pos8m3OfjGA-1; Tue, 04 Oct 2022 04:33:57 -0400 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 843DC3C0F420; Tue, 4 Oct 2022 08:33:55 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7116149BB60; Tue, 4 Oct 2022 08:33:55 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 65C321946A71; Tue, 4 Oct 2022 08:33:55 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 02AA51947061 for ; Tue, 4 Oct 2022 08:33:54 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id EC41940C6EC3; Tue, 4 Oct 2022 08:33:53 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6548A40C6EC2 for ; Tue, 4 Oct 2022 08:33:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872583; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=lzyxwaFYVFs4qJSJdnKArrsYnP+8nrNBqu7sCi7rVaw=; b=EmMHnoh/7qdA3gy8710SwrgCCmqzemTJ/wbL4kqetLZcRGGPTSutWFWDX6Rkm859k+svzS JsLUmv14lYpMaNaQKd3+SGnm8f4NyYSx5mKbLM/KTGV6WHdApDnVpnRNoF4QzWvQwxzEq9 UdSr2wFQXfyN96ny0BL+LMeaSiAcyn8= X-MC-Unique: lDelUc6FOh2pos8m3OfjGA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 38/43] util: xml: Remove virXMLParseFile Date: Tue, 4 Oct 2022 10:33:12 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872584460100001 Content-Type: text/plain; charset="utf-8" Most callers prefer using the XPath context. Convert the last user to use virXMLParseFileCtxt and remove the helper macro. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/util/virxml.h | 11 ----------- tests/virschematest.c | 2 +- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/src/util/virxml.h b/src/util/virxml.h index 72d45f8018..d773716a8c 100644 --- a/src/util/virxml.h +++ b/src/util/virxml.h @@ -216,17 +216,6 @@ virXMLPickShellSafeComment(const char *str1, #define virXMLParse(filename, xmlStr, url, rootelement, ctxt, schemafile, = validate) \ virXMLParseHelper(VIR_FROM_THIS, filename, xmlStr, url, rootelement, c= txt, schemafile, validate) -/** - * virXMLParseFile: - * @filename: file to parse - * - * Parse xml from a file. - * - * Return the parsed document object, or NULL on failure. - */ -#define virXMLParseFile(filename) \ - virXMLParseHelper(VIR_FROM_THIS, filename, NULL, NULL, NULL, NULL, NUL= L, false) - /** * virXMLParseCtxt: * @filename: file to parse, or NULL for string parsing diff --git a/tests/virschematest.c b/tests/virschematest.c index dd13d82c62..cae502a338 100644 --- a/tests/virschematest.c +++ b/tests/virschematest.c @@ -51,7 +51,7 @@ testSchemaValidateXML(const void *args) bool shouldFail =3D virStringHasSuffix(data->xml_path, "-invalid.xml"); g_autoptr(xmlDoc) xml =3D NULL; - if (!(xml =3D virXMLParseFile(data->xml_path))) + if (!(xml =3D virXMLParseFileCtxt(data->xml_path, NULL))) return -1; if ((virXMLValidatorValidate(data->validator, xml) < 0) !=3D shouldFai= l) --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872505; cv=none; d=zohomail.com; s=zohoarc; b=HW/cjJfQjX5Eeam6pUAky+E7bKGO1h5g5mwcBd71LAv3u7ZBWTHAyA6wsiJTBLSsW6gpumhz0pQue+7Ant1+7adxySRSkJSO9TJCLJXrYio6ZkE5z9dRCI4SkkeZ4Fa0xg4bwpC4jzUZNgCpYmNQN0XdWVxsjwsqhNo6+TagzGg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872505; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=soP2gFRkryxoof+FGfcEEH3UZfDDXjLovZ5ivb3Mb08=; b=BAB0H9NwVP6Rrk6iqQdyXbMgPuETw6QMWeEuZTV8hhYyL8AzkzcSVK8oBFMTl9u5rzmS8TwR3U0PIFhLfFko1dfytdpok6C5rQa5HH38JJRwJ7LxJ8YRmAHdJc1NexTiu9CewaHCBN9+/OpVKD3ucJq9sN5Dboy069KLAsPXOv4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 166487250559589.18461375894003; Tue, 4 Oct 2022 01:35:05 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-550-24xwxe6eM42bpBzLofIkSw-1; Tue, 04 Oct 2022 04:33:59 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A53D480A0AE; Tue, 4 Oct 2022 08:33:56 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 91CA62024CB7; Tue, 4 Oct 2022 08:33:56 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 87FA619465B5; Tue, 4 Oct 2022 08:33:56 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id DC0FB19465B5 for ; Tue, 4 Oct 2022 08:33:54 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id D194B40C6EC2; Tue, 4 Oct 2022 08:33:54 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 50C6E40C6EC4 for ; Tue, 4 Oct 2022 08:33:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872504; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=soP2gFRkryxoof+FGfcEEH3UZfDDXjLovZ5ivb3Mb08=; b=HR3DgLZ1hAmib9pTytRy4bLJCfh5jBtmQRFPKf+el91msy+Age4i08E4cmvuXH4yKDB1bL KsfnqsL/BiVQNvjtAk+80t9+MwiZ+eymMl9aEB0VyyO5O4GAtMXTeuLFl2oX18h3L51s1k O8DbqJ2thJyCId4xi/RyGTh7X7L3TWo= X-MC-Unique: 24xwxe6eM42bpBzLofIkSw-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 39/43] util: xml: Remove virXMLParseCtxt Date: Tue, 4 Oct 2022 10:33:13 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872505913100002 Content-Type: text/plain; charset="utf-8" Convert the two outstanding uses to virXMLParseFileCtxt as they always pass a filename and remove the helper macro. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/virnetworkobj.c | 2 +- src/conf/virstorageobj.c | 2 +- src/util/virxml.h | 15 --------------- 3 files changed, 2 insertions(+), 17 deletions(-) diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index d23eb2f401..635d2ec0b0 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -858,7 +858,7 @@ virNetworkLoadState(virNetworkObjList *nets, if ((configFile =3D virNetworkConfigFile(stateDir, name)) =3D=3D NULL) return NULL; - if (!(xml =3D virXMLParseCtxt(configFile, NULL, _("(network status)"),= &ctxt))) + if (!(xml =3D virXMLParseFileCtxt(configFile, &ctxt))) return NULL; if (!(node =3D virXPathNode("//network", ctxt))) { diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c index 77128a4846..98d9e0b97e 100644 --- a/src/conf/virstorageobj.c +++ b/src/conf/virstorageobj.c @@ -1622,7 +1622,7 @@ virStoragePoolObjLoadState(virStoragePoolObjList *poo= ls, VIR_DEBUG("loading storage pool state XML '%s'", stateFile); - if (!(xml =3D virXMLParseCtxt(stateFile, NULL, _("(pool state)"), &ctx= t))) + if (!(xml =3D virXMLParseFileCtxt(stateFile, &ctxt))) return NULL; if (!(node =3D virXPathNode("//pool", ctxt))) { diff --git a/src/util/virxml.h b/src/util/virxml.h index d773716a8c..9ec4920807 100644 --- a/src/util/virxml.h +++ b/src/util/virxml.h @@ -216,21 +216,6 @@ virXMLPickShellSafeComment(const char *str1, #define virXMLParse(filename, xmlStr, url, rootelement, ctxt, schemafile, = validate) \ virXMLParseHelper(VIR_FROM_THIS, filename, xmlStr, url, rootelement, c= txt, schemafile, validate) -/** - * virXMLParseCtxt: - * @filename: file to parse, or NULL for string parsing - * @xmlStr: if @filename is NULL, a string to parse - * @url: if @filename is NULL, an optional filename to attribute the parse= to - * @pctxt: if non-NULL, populate with a new context object on success, - * with (*pctxt)->node pre-set to the root node - * - * Parse xml from either a file or a string. - * - * Return the parsed document object, or NULL on failure. - */ -#define virXMLParseCtxt(filename, xmlStr, url, pctxt) \ - virXMLParseHelper(VIR_FROM_THIS, filename, xmlStr, url, NULL, pctxt, N= ULL, false) - /** * virXMLParseStringCtxt: * @xmlStr: a string to parse --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872523; cv=none; d=zohomail.com; s=zohoarc; b=R7BeK2UA1AxeNTSQIecWr8OvcaDV3+qNDQoXT/tjgRCrXhEcJ0p1nxODeQ3Kt4MFKlZVFFoA/5FDTTNVViWShWPX+JrZUCnW09UEaPz+ZtK9Ll5BVK2r3RngzumXxtH7i5y4zEp2hNT58rZhpcvPCP7G0MEW5vJyiyylQTp5Wyw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872523; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=jiJgnPD4GuR8bcHAKsHigxLmVs/p+52jxobuwH78exM=; b=MLNmNHZYmPAM3yexJpjRR06AKtsXYHmIh3PX/h0ud1ky5lwRvW1loTlXXR/YrUorRjbRafAokPkH3MmECx/G59y9r+NSDP6q7EP9qN/U0+yHLDUql7BWSnrgOkmO2Cr9QMQPUd67ED8tOtlE86zhsr4vcAS3VbUptnHZ0DfX+iE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872523828124.93439093620009; Tue, 4 Oct 2022 01:35:23 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-421-rSvaygitPMKPt-7OsJqjWA-1; Tue, 04 Oct 2022 04:34:01 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id F36D985A5A6; Tue, 4 Oct 2022 08:33:57 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id E1B452027061; Tue, 4 Oct 2022 08:33:57 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id CC9C71947054; Tue, 4 Oct 2022 08:33:57 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id C88E81947042 for ; Tue, 4 Oct 2022 08:33:55 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id BEE1240C6EC3; Tue, 4 Oct 2022 08:33:55 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3B34C40C6EC2 for ; Tue, 4 Oct 2022 08:33:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872522; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=jiJgnPD4GuR8bcHAKsHigxLmVs/p+52jxobuwH78exM=; b=RK0Jr3sDNJUDsyKcRTz66YVDEVor/tRWakMx7YFzFlxVp1TQRnRPz1qguberxqct+O4i+o iqc0OkbvIUlgSKSolKWhWBEHOv5uves/SW5hprLO3EexwrBkSGjHA69acbUBJYvSmdOFD/ KZHX5zUpa7lqNHEL8juwYIqHBD5LkiU= X-MC-Unique: rSvaygitPMKPt-7OsJqjWA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 40/43] conf: savecookie: Remove virSaveCookieParseNode Date: Tue, 4 Oct 2022 10:33:14 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872526045100001 Content-Type: text/plain; charset="utf-8" The function provided just checking of the root XML node name which can be easily moved into the caller wich doesn't do that already and checking of the pointers which is trivial. Remove the helper. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/virsavecookie.c | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/src/conf/virsavecookie.c b/src/conf/virsavecookie.c index 5fc9ca06e1..3a6361e745 100644 --- a/src/conf/virsavecookie.c +++ b/src/conf/virsavecookie.c @@ -32,26 +32,6 @@ VIR_LOG_INIT("conf.savecookie"); -static int -virSaveCookieParseNode(xmlXPathContextPtr ctxt, - virObject **obj, - virSaveCookieCallbacks *saveCookie) -{ - *obj =3D NULL; - - if (!virXMLNodeNameEqual(ctxt->node, "cookie")) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("XML does not contain expected 'cookie' element")= ); - return -1; - } - - if (!saveCookie || !saveCookie->parse) - return 0; - - return saveCookie->parse(ctxt, obj); -} - - int virSaveCookieParse(xmlXPathContextPtr ctxt, virObject **obj, @@ -64,7 +44,10 @@ virSaveCookieParse(xmlXPathContextPtr ctxt, if (!(ctxt->node =3D virXPathNode("./cookie", ctxt))) return 0; - return virSaveCookieParseNode(ctxt, obj, saveCookie); + if (!saveCookie || !saveCookie->parse) + return 0; + + return saveCookie->parse(ctxt, obj); } @@ -78,13 +61,13 @@ virSaveCookieParseString(const char *xml, *obj =3D NULL; - if (!xml) + if (!xml || !saveCookie || !saveCookie->parse) return 0; - if (!(doc =3D virXMLParseStringCtxt(xml, _("(save cookie)"), &ctxt))) + if (!(doc =3D virXMLParse(NULL, xml, _("(save cookie)"), "cookie", &ct= xt, NULL, false))) return -1; - return virSaveCookieParseNode(ctxt, obj, saveCookie); + return saveCookie->parse(ctxt, obj); } --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872532; cv=none; d=zohomail.com; s=zohoarc; b=guUaFFYctGWacdvG1tVAcIaRK7g5zTlA52bfmpngs/vtbdEjwhRn6i4LDXWrBiB1ORtgb0963lMbOtAXAucmEtE2Yad8F21JxoAThIz0+prFQwoll5PvBbJ8rOVrixw6LSykneZ6tKU1HuwBZZRlrpz9F+8syaE/FJmOxTX/DUU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872532; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Kfm2bYZPN0WYp2k8jt+0PylxU/VKtUNuWG6JaLQYI0I=; b=ibcrpGMcdLKme8cpPQoVPbODecV141VsdXATvwH4OGPTGJw/PapTXPgVzlEVDBU3UE16MaV1aa2rS52Ln5V0C+mzfywJfAPyxKOzcXxJSqSqZZ09cZ6vcj1eJO9CUtjcB/TLpmPhx6bgjGcik+xfvFYk4pU0dEXr62FMEfowhE4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872532078254.37434991827342; Tue, 4 Oct 2022 01:35:32 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-564-aYkbDWRqMTqkl5n4QNBErQ-1; Tue, 04 Oct 2022 04:34:01 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 31661101A528; Tue, 4 Oct 2022 08:33:59 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1CB55C15BA4; Tue, 4 Oct 2022 08:33:59 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 52133194705A; Tue, 4 Oct 2022 08:33:58 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id AF2191947060 for ; Tue, 4 Oct 2022 08:33:56 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id A2A1E40C6EC3; Tue, 4 Oct 2022 08:33:56 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1ED2240C6EC2 for ; Tue, 4 Oct 2022 08:33:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872530; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Kfm2bYZPN0WYp2k8jt+0PylxU/VKtUNuWG6JaLQYI0I=; b=VL6QXejIPqpDFwXlgW/D0OdvB15cyzbAw94yySBFd58VAxk1knL0N3gUgZNdHXtWdzOOKE SES6gLS+VJzisIDNbR/6MPfbChFhcOMU811BrG0eWJe3r4O9RCL0nnlbxq75QNW1imRhbG 3LwMWQ2KpwpxvDcSpLgtzM2ZWgbQVY4= X-MC-Unique: aYkbDWRqMTqkl5n4QNBErQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 41/43] security: aa-helper: Use virXMLParse instead of virXMLParseString Date: Tue, 4 Oct 2022 10:33:15 +0200 Message-Id: <63b6709d081785eda5aedf8fa5ee5eaadb8d6422.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872534220100001 Content-Type: text/plain; charset="utf-8" Use the helper with more features to validate the root XML element name instead of open-coding it. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/security/virt-aa-helper.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c index f338488da3..33d600c00b 100644 --- a/src/security/virt-aa-helper.c +++ b/src/security/virt-aa-helper.c @@ -571,13 +571,8 @@ caps_mockup(vahControl * ctl, const char *xmlStr) g_autoptr(xmlXPathContext) ctxt =3D NULL; char *arch; - if (!(xml =3D virXMLParseStringCtxt(xmlStr, _("(domain_definition)"), - &ctxt))) { - return -1; - } - - if (!virXMLNodeNameEqual(ctxt->node, "domain")) { - vah_error(NULL, 0, _("unexpected root element, expecting "= )); + if (!(xml =3D virXMLParse(NULL, xmlStr, _("(domain_definition)"), + "domain", &ctxt, NULL, false))) { return -1; } --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872447; cv=none; d=zohomail.com; s=zohoarc; b=EGk9YI2VPl8lYOvPqwPXG5kVLSCYV08zO0VL0tX7dHBA+tLkFrwH1kP/wX46EA9EDu7YBxQrZ9Oom+y8XXTBZAZbdEbUvBD9+Gq3unjX4CexBgXy2QT/2DlaZntrSXfHTOHhqjkZIITRWRi+wQJl4Me/91R/YFf03GKl2uAjBik= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872447; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hj2Cj8Bq9/HHpVTxL9N9mWi8za6R7wYun0yVOnal0gE=; b=Lw8X/RydZYxi8CeVX9SORqtZj1ErIu+suY8xDamKrdkAbaevGhqgTTPvEs+tJc7O+0vyNqCaDuQtQ+3OrS0C00pF1dhHqqDxJ+fCD59XLZOHB42fo4PmV/31pvf4XyvYHyeVnIxaXS3H1Uw7crJZbKE+16xnNjZD5NMdA3YUq0k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872447959717.0255261717717; Tue, 4 Oct 2022 01:34:07 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-411-T6eNkWkOOqqvOEoTLeixoA-1; Tue, 04 Oct 2022 04:34:02 -0400 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E320A2999B29; Tue, 4 Oct 2022 08:33:59 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id CC79249BB65; Tue, 4 Oct 2022 08:33:59 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 8E1E61946A71; Tue, 4 Oct 2022 08:33:59 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id A186119465A2 for ; Tue, 4 Oct 2022 08:33:57 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 92E8040C6EC3; Tue, 4 Oct 2022 08:33:57 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0EB3040C6EC2 for ; Tue, 4 Oct 2022 08:33:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872446; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=hj2Cj8Bq9/HHpVTxL9N9mWi8za6R7wYun0yVOnal0gE=; b=e883LegWoSkBnWgLjBwtUTYP7mjucPZ/o93h4hS4Un3qCnXfDtSltn/IZ2SAG5e3PiXDfD FTp/0zXiwyX6b36/r3GhE2fNrcsOJni09qOLXfvL5oQR0EQlzFDvck0vCUGrAwLpu36Gmk us++ilQDV5JkgyiRO+y1zqay6g7R+xc= X-MC-Unique: T6eNkWkOOqqvOEoTLeixoA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 42/43] test_driver: Make callers of testOpenParse ensure the root element name Date: Tue, 4 Oct 2022 10:33:16 +0200 Message-Id: <9acdf9265559d23bb5d06f832fb435ea7db2bf93.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872449336100003 Content-Type: text/plain; charset="utf-8" Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/test/test_driver.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 373e5f7846..8675f8ad07 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1306,12 +1306,6 @@ testOpenParse(testDriver *privconn, const char *file, xmlXPathContextPtr ctxt) { - if (!virXMLNodeNameEqual(ctxt->node, "node")) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("Root element is not 'node'")); - return -1; - } - if (testParseNodeInfo(&privconn->nodeInfo, ctxt) < 0) return -1; if (testParseDomains(privconn, file, ctxt) < 0) @@ -1348,7 +1342,7 @@ testOpenFromFile(virConnectPtr conn, const char *file) if (!(privconn->caps =3D testBuildCapabilities(conn))) goto error; - if (!(doc =3D virXMLParseFileCtxt(file, &ctxt))) + if (!(doc =3D virXMLParse(file, NULL, NULL, "node", &ctxt, NULL, false= ))) goto error; privconn->numCells =3D 0; @@ -1411,8 +1405,8 @@ testOpenDefault(virConnectPtr conn) if (!(privconn->caps =3D testBuildCapabilities(conn))) goto error; - if (!(doc =3D virXMLParseStringCtxt(defaultConnXML, - _("(test driver)"), &ctxt))) + if (!(doc =3D virXMLParse(NULL, defaultConnXML, _("(test driver)"), + "node", &ctxt, NULL, false))) goto error; if (testOpenParse(privconn, NULL, ctxt) < 0) --=20 2.37.3 From nobody Wed May 1 11:05:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1664872635; cv=none; d=zohomail.com; s=zohoarc; b=HLUftqjOMcUSMMoHb1pxsGdQGZ4bs8OHn9pLoHMY8E/qAKb4Uv7YWCv8nyHqPJ7AGxrKsdXvYvcfU63aRGBCB2G6TjO4nywGBx/QtMBwSBs1kOX7H8tf+GQEw4Vw4lZ6VTbEFCghY+lSqZl6ZqYpROAUcTdDSjxxqWeeVWcinqI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1664872635; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=kBgA3JhX04aQfxQ3HiGeg8a+VNCA/Oe7bcrsQSaaTwI=; b=hG4Fp4ILs8mD8pEChIeopQqceNDT3WF9q8SK1+RBMsqL+YQekgMGKA0xP8oIohnNrZJTT8+RX3iLHPuhco1XaLx8QtQ0SsjxUBHOIO/8daDvGpf3eLFFMJqUOrKgyxwIL8zTL6b2SquX8UpLR+3eX1pPCUak2LmHqBVzfHbVgkA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1664872635392901.8065339574817; Tue, 4 Oct 2022 01:37:15 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-457-1Z85KHmeOxiYiQ4X0wPWXw-1; Tue, 04 Oct 2022 04:34:03 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A6A1486C049; Tue, 4 Oct 2022 08:34:00 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 94D62492B06; Tue, 4 Oct 2022 08:34:00 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E062D194707E; Tue, 4 Oct 2022 08:33:59 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 8C65A1947042 for ; Tue, 4 Oct 2022 08:33:58 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 7E2FA40C6EC3; Tue, 4 Oct 2022 08:33:58 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id EB7D140C6EC2 for ; Tue, 4 Oct 2022 08:33:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664872634; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=kBgA3JhX04aQfxQ3HiGeg8a+VNCA/Oe7bcrsQSaaTwI=; b=h8D6fRPrNjBTx1Z0HGbdjWKORLeqUAvCWCC7uBzm0JEfUuoKZCzSTaIkBZTjtD1AnuFkI4 nm7qKtYPuLcFj9WyqoRPmp4UihFwN8Pwk+ytXrQxat4Z6YMF9Jo7kMx8/cLJztpRt9im8r 3OHO/AcSJ2fxPBowOCJKTx4iQeeHzu0= X-MC-Unique: 1Z85KHmeOxiYiQ4X0wPWXw-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 43/43] util: xml: Remove virXMLParseStringCtxtRoot Date: Tue, 4 Oct 2022 10:33:17 +0200 Message-Id: <356ab4483570dde7abc96e275bc8414cc78309a6.1664870258.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1664872636275100001 Content-Type: text/plain; charset="utf-8" Remove the seldom used helper in favor of full virXMLParse. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 6 ++++-- src/conf/storage_conf.c | 6 ++---- src/util/virxml.h | 4 ---- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 70501ca768..7dba65cfeb 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -13655,7 +13655,8 @@ virDomainDiskDefParse(const char *xmlStr, g_autoptr(xmlDoc) xml =3D NULL; g_autoptr(xmlXPathContext) ctxt =3D NULL; - if (!(xml =3D virXMLParseStringCtxtRoot(xmlStr, _("(disk_definition)")= , "disk", &ctxt))) + if (!(xml =3D virXMLParse(NULL, xmlStr, _("(disk_definition)"), + "disk", &ctxt, NULL, false))) return NULL; return virDomainDiskDefParseXML(xmlopt, ctxt->node, ctxt, flags); @@ -13672,7 +13673,8 @@ virDomainDiskDefParseSource(const char *xmlStr, g_autoptr(virStorageSource) src =3D NULL; xmlNodePtr driverNode; - if (!(xml =3D virXMLParseStringCtxtRoot(xmlStr, _("(disk_definition)")= , "disk", &ctxt))) + if (!(xml =3D virXMLParse(NULL, xmlStr, _("(disk_definition)"), + "disk", &ctxt, NULL, false))) return NULL; if (!(src =3D virDomainDiskDefParseSourceXML(xmlopt, ctxt->node, ctxt,= flags))) diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index 4f2f9e7fb1..0f4fe1451e 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -667,10 +667,8 @@ virStoragePoolDefParseSourceString(const char *srcSpec, g_autoptr(xmlXPathContext) xpath_ctxt =3D NULL; g_autoptr(virStoragePoolSource) def =3D NULL; - if (!(doc =3D virXMLParseStringCtxtRoot(srcSpec, - _("(storage_source_specification= )"), - "source", - &xpath_ctxt))) + if (!(doc =3D virXMLParse(NULL, srcSpec, _("(storage_source_specificat= ion)"), + "source", &xpath_ctxt, NULL, false))) return NULL; def =3D g_new0(virStoragePoolSource, 1); diff --git a/src/util/virxml.h b/src/util/virxml.h index 9ec4920807..2b442d60fe 100644 --- a/src/util/virxml.h +++ b/src/util/virxml.h @@ -230,10 +230,6 @@ virXMLPickShellSafeComment(const char *str1, #define virXMLParseStringCtxt(xmlStr, url, pctxt) \ virXMLParseHelper(VIR_FROM_THIS, NULL, xmlStr, url, NULL, pctxt, NULL,= false) -/* virXMLParseStringCtxtRoot is same as above, except it also validates ro= ot node name */ -#define virXMLParseStringCtxtRoot(xmlStr, url, rootnode, pctxt) \ - virXMLParseHelper(VIR_FROM_THIS, NULL, xmlStr, url, rootnode, pctxt, N= ULL, false) - /** * virXMLParseFileCtxt: * @filename: file to parse --=20 2.37.3