From nobody Mon May 6 16:19:13 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=1629982341; cv=none; d=zohomail.com; s=zohoarc; b=ferksFIhzg48WZPoQW/5rqRzvI8iyVvD23HO0GwOOBrwoB0CyfjJelPuA2XNFiiPKFsmzXaKUAQHubxFKZ6NvZ/LtAk+Ah/4AMD+glWzO2MFZA44J7PUtMhK7MJ0TZABs6RvLmVXb8WbSTDD3TeePHhTGGptv0ExGIKR2uCl/xI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629982341; 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=heU9NKxtOYCBgLC7ssASknh+JovYMJljeoYsE1eyNrU=; b=aFut3+oZTo0+dQHnZNgB+fv0o7z4nqkp5ozsmnz8tmNdd0smTsDubHSVtDjwfjnS+Ck29JvE241znoelk+jUB2m1+3JzThZAzqkkIzjLj8B6ymW6sUulw5RPj5QM/1rILaEHwoXWSysFO1WSHptmiDMPb+GvXEv1k4rJIpzNh18= 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 1629982341609766.345374641039; Thu, 26 Aug 2021 05:52:21 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-486-944sNmx_PCSh2m-HuLR9yw-1; Thu, 26 Aug 2021 08:52:19 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 20495760C8; Thu, 26 Aug 2021 12:52:13 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 017B567899; Thu, 26 Aug 2021 12:52:13 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id C35274A700; Thu, 26 Aug 2021 12:52:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17QCOCTT015101 for ; Thu, 26 Aug 2021 08:24:12 -0400 Received: by smtp.corp.redhat.com (Postfix) id 4BF3A6788B; Thu, 26 Aug 2021 12:24:12 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id C9FFF5FC25 for ; Thu, 26 Aug 2021 12:24:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629982340; 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=heU9NKxtOYCBgLC7ssASknh+JovYMJljeoYsE1eyNrU=; b=TbRyoet3Y/EMz3NJdMWmhJalUK+NM7tMP1iWKUYqC6felWcCM5xkbRMsO67DjVExClGfwH 6aB8ialPZH+/6gxkaiK1oj6kHJjWOQfLF7Tfy3YvtpotIlowXSdD8oLISYfyVIsFWed5Nd RwXG/3xwYinU4coaABhMIywvRHrBYuY= X-MC-Unique: 944sNmx_PCSh2m-HuLR9yw-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 1/4] api: add VIR_NETWORK_PORT_CREATE_VALIDATE flag Date: Thu, 26 Aug 2021 14:23:54 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com 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: 1629982342381100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kristina Hanicova Reviewed-by: J=C3=A1n Tomko --- include/libvirt/libvirt-network.h | 1 + src/libvirt-network.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/libvirt/libvirt-network.h b/include/libvirt/libvirt-ne= twork.h index 0a49c1888e..e8c008cfc8 100644 --- a/include/libvirt/libvirt-network.h +++ b/include/libvirt/libvirt-network.h @@ -367,6 +367,7 @@ virNetworkPortLookupByUUIDString(virNetworkPtr net, =20 typedef enum { VIR_NETWORK_PORT_CREATE_RECLAIM =3D (1 << 0), /* reclaim existing used= resources */ + VIR_NETWORK_PORT_CREATE_VALIDATE =3D 1 << 1, /* Validate the XML docum= ent against schema */ } virNetworkPortCreateFlags; =20 virNetworkPortPtr diff --git a/src/libvirt-network.c b/src/libvirt-network.c index 5829996301..cf32912063 100644 --- a/src/libvirt-network.c +++ b/src/libvirt-network.c @@ -1485,7 +1485,7 @@ virNetworkPortGetParameters(virNetworkPortPtr port, * virNetworkPortCreateXML: * @net: pointer to the network object * @xmldesc: an XML description of the port - * @flags: currently unused, pass 0 + * @flags: bitwise-OR of virNetworkPortCreateFlags * * Create a new network port, based on an XML description * similar to the one returned by virNetworkPortGetXMLDesc() --=20 2.31.1 From nobody Mon May 6 16:19:13 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=1629982335; cv=none; d=zohomail.com; s=zohoarc; b=GTE4pvwCbwUcTT0vigQv6BFpfahOdb/r0M81Q2SoM5iKiJUG7fu4pxE7aq91TRI1rSZBQqqsSAQmb5ZPHjFlErdk5dony5MR9SUw4KS7GcTvNx6V4Ekopeu/6ow0/F2VGF3UyEZMhqOmw7T+ORf/HUTujy5AXl9Zs7QHbMKV4po= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629982335; 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=p8eScdcSsqgtOLQ/yUnPPY0YKpILEIDkunNWYVZzOdI=; b=h7ft7VhnTc1CDlsx9U4Gk8yfLL7oSxMnsJs+ENGVCld0RlYC60icMZJHsuipO53uHbVncaSY3/ZcEDBwjc1OhBAyEeVRRP835UN73d9JyQoDCbnOHVIMAdFmicHVAs81mIGxycYzWBPBvLMjozuTU11CUetLhSixjynHKKvzEXo= 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 1629982335659566.341651743514; Thu, 26 Aug 2021 05:52:15 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-272-0_f4rRK7M7-JrS7EttdL-A-1; Thu, 26 Aug 2021 08:52:12 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 10BD3800493; Thu, 26 Aug 2021 12:52:08 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DEA8FE2CD; Thu, 26 Aug 2021 12:52:07 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A8EC6181A3F3; Thu, 26 Aug 2021 12:52:07 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17QCODvf015106 for ; Thu, 26 Aug 2021 08:24:13 -0400 Received: by smtp.corp.redhat.com (Postfix) id 1B11A6788B; Thu, 26 Aug 2021 12:24:13 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 98E4B5FC25 for ; Thu, 26 Aug 2021 12:24:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629982334; 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=p8eScdcSsqgtOLQ/yUnPPY0YKpILEIDkunNWYVZzOdI=; b=Q1Jt424SMITJqp2/9K8z39hVEu2j19kc3ie02zDCsZMAxpkC0x2MTuUav+xwDHCtmTJHIo BA97OMhN/qvGGFOSACO9gN7E8N1nGm9Qyg6l0Wv6mnTbA5L4JOv5oUleE1soPQoUx7QPYl TW1PK4jqyeyRV2tBtU5Kn+FWByv5Lj8= X-MC-Unique: 0_f4rRK7M7-JrS7EttdL-A-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 2/4] conf: virnetworkportdef: add validation against schema in network port create Date: Thu, 26 Aug 2021 14:23:55 +0200 Message-Id: <8b764cf5c9c12809ac9d316f37121412ca279de8.1629980447.git.khanicov@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com 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: 1629982337592100001 Content-Type: text/plain; charset="utf-8" We need to validate the XML against schema if option '--validate' was passed to the virsh command. This patch also includes propagation of flags into the virNetworkPortDefParse(). Signed-off-by: Kristina Hanicova Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 2 +- src/conf/virnetworkportdef.c | 14 +++++++++----- src/conf/virnetworkportdef.h | 3 ++- src/network/bridge_driver.c | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6127513117..dbefc98ee8 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -30330,7 +30330,7 @@ virDomainNetCreatePort(virConnectPtr conn, VIR_FREE(portxml); =20 if (!(portxml =3D virNetworkPortGetXMLDesc(port, 0)) || - !(portdef =3D virNetworkPortDefParseString(portxml)) || + !(portdef =3D virNetworkPortDefParseString(portxml, 0)) || virDomainNetDefActualFromNetworkPort(iface, portdef) < 0) { virErrorPreserveLast(&save_err); virNetworkPortDelete(port, 0); diff --git a/src/conf/virnetworkportdef.c b/src/conf/virnetworkportdef.c index c1749eebe0..1ca1eddb5a 100644 --- a/src/conf/virnetworkportdef.c +++ b/src/conf/virnetworkportdef.c @@ -287,12 +287,15 @@ virNetworkPortDefParseNode(xmlDocPtr xml, =20 static virNetworkPortDef * virNetworkPortDefParse(const char *xmlStr, - const char *filename) + const char *filename, + unsigned int flags) { virNetworkPortDef *def =3D NULL; g_autoptr(xmlDoc) xml =3D NULL; =20 - if ((xml =3D virXMLParse(filename, xmlStr, _("(networkport_definition)= "), NULL, false))) { + if ((xml =3D virXMLParse(filename, xmlStr, _("(networkport_definition)= "), + "networkport.rng", + flags & VIR_NETWORK_PORT_CREATE_VALIDATE))) { def =3D virNetworkPortDefParseNode(xml, xmlDocGetRootElement(xml)); } =20 @@ -301,16 +304,17 @@ virNetworkPortDefParse(const char *xmlStr, =20 =20 virNetworkPortDef * -virNetworkPortDefParseString(const char *xmlStr) +virNetworkPortDefParseString(const char *xmlStr, + unsigned int flags) { - return virNetworkPortDefParse(xmlStr, NULL); + return virNetworkPortDefParse(xmlStr, NULL, flags); } =20 =20 virNetworkPortDef * virNetworkPortDefParseFile(const char *filename) { - return virNetworkPortDefParse(NULL, filename); + return virNetworkPortDefParse(NULL, filename, 0); } =20 =20 diff --git a/src/conf/virnetworkportdef.h b/src/conf/virnetworkportdef.h index 0ac232d16a..5c7cd2953e 100644 --- a/src/conf/virnetworkportdef.h +++ b/src/conf/virnetworkportdef.h @@ -86,7 +86,8 @@ virNetworkPortDefParseNode(xmlDocPtr xml, xmlNodePtr root); =20 virNetworkPortDef * -virNetworkPortDefParseString(const char *xml); +virNetworkPortDefParseString(const char *xml, + unsigned int flags); =20 virNetworkPortDef * virNetworkPortDefParseFile(const char *filename); diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index e8b9ffa1fc..7513ddad48 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -5287,7 +5287,7 @@ networkPortCreateXML(virNetworkPtr net, =20 def =3D virNetworkObjGetDef(obj); =20 - if (!(portdef =3D virNetworkPortDefParseString(xmldesc))) + if (!(portdef =3D virNetworkPortDefParseString(xmldesc, 0))) goto cleanup; =20 if (virNetworkPortCreateXMLEnsureACL(net->conn, def, portdef) < 0) --=20 2.31.1 From nobody Mon May 6 16:19:13 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=1629982343; cv=none; d=zohomail.com; s=zohoarc; b=iVE27ogiD8jrj7xri7bzofrS0wIsli0hLP4qONRYVClEk+oneFtnew3gbfe8wwNvzhJc1ZEYpMxk/Y2YspXwOYpqG8GmbzgnaRdYfTkiFXwNO5gnTi13SA5Bex9paF8u2LCyU8ONMy2KyJ4DIvxE/eRkwDL3o1rQW3D7oQcnEkk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629982343; 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=yCmNh0a1chGM+TPiOT/IBepdOkf+ArfvmOE4Pvh0IT0=; b=hSJq/jBDZL8BDTMR4nCQ+8xFjsF0RPlRJ91uZHzFleSXO4GNXPMKlhAkCEyRzYHBVhwJB6doKqZlqQMhwLij3BpfDTlZRbJ1s0DxMVSHYGTwJOW4FBHkbHO44+nWZeRjAVnpx6oa9Q7WzmbN7HGJ1XT8MJ01KWLSzro3xEFmBMs= 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 162998234312128.860614959919758; Thu, 26 Aug 2021 05:52:23 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-250-Kuv_yQY-NmKFMVqI2Hc3yQ-1; Thu, 26 Aug 2021 08:52:20 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8035E760D0; Thu, 26 Aug 2021 12:52:15 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6328F68D99; Thu, 26 Aug 2021 12:52:15 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 06682181A3F6; Thu, 26 Aug 2021 12:52:15 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17QCODUE015111 for ; Thu, 26 Aug 2021 08:24:13 -0400 Received: by smtp.corp.redhat.com (Postfix) id DCB856789A; Thu, 26 Aug 2021 12:24:13 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 673925FC25 for ; Thu, 26 Aug 2021 12:24:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629982342; 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=yCmNh0a1chGM+TPiOT/IBepdOkf+ArfvmOE4Pvh0IT0=; b=dICdaw/f26jfFo+QNaTqEma3XOlReF5l2aXzN8NaYy+Lw2hYE0GyRh1204QjO8AUCLgFu8 sUZlALuNn727kSq7/asYtFLvGP1GG2kZOCQuBwhyf0faLo2o9ssVwGDfyjaJpr1/TVKHFV cLmkygcYuAc4jauSMEWkhgqruoCjynA= X-MC-Unique: Kuv_yQY-NmKFMVqI2Hc3yQ-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 3/4] bridge_driver: allow VIR_NETWORK_PORT_CREATE_VALIDATE flag Date: Thu, 26 Aug 2021 14:23:56 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com 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: 1629982344498100003 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kristina Hanicova Reviewed-by: J=C3=A1n Tomko --- src/network/bridge_driver.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 7513ddad48..06822fb3a0 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -5280,14 +5280,15 @@ networkPortCreateXML(virNetworkPtr net, virNetworkPortPtr ret =3D NULL; int rc; =20 - virCheckFlags(VIR_NETWORK_PORT_CREATE_RECLAIM, NULL); + virCheckFlags(VIR_NETWORK_PORT_CREATE_RECLAIM | + VIR_NETWORK_PORT_CREATE_VALIDATE, NULL); =20 if (!(obj =3D networkObjFromNetwork(net))) return ret; =20 def =3D virNetworkObjGetDef(obj); =20 - if (!(portdef =3D virNetworkPortDefParseString(xmldesc, 0))) + if (!(portdef =3D virNetworkPortDefParseString(xmldesc, flags))) goto cleanup; =20 if (virNetworkPortCreateXMLEnsureACL(net->conn, def, portdef) < 0) --=20 2.31.1 From nobody Mon May 6 16:19:13 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=1629982387; cv=none; d=zohomail.com; s=zohoarc; b=fl5DS1qTyJ3R5lSUUE9T8v3xi6nuk0wOaTZnPCsdfjPOUmpW5vOTt6XsHwV7AtPx5N8TjzRAXY2mjN3IWVDCs6pCYkmKLayHtVe/R2B5CKIXHPh0YEjQHqhaLRdei/8++Hg6LOVhP5RpxT1vhzamMg+vMp2l0NAahOIDU4jCpuE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629982387; 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=qZDd4CdF0oGPLIXFcQzajf3vsMFxeP01PLzZToz8nAM=; b=lrkpvDURHVIkfqCJiKnXc7w1Pg65NBwOesssI7WRJ0XY8NA1EZFiV7HP0qezrsX2PvBZZCpntEo0sGxf7wggMJAU1u78vS4aPkDejzUrZ3bO3hESqTtsh/oEG7wJ6k5wJGsMkXrzlvDSQuWzkZmdFWM9tj/IEfGkVVT89TCDg/8= 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 1629982387285250.24748519784646; Thu, 26 Aug 2021 05:53:07 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-105-R4X913nTNL-v2WvD8xz64A-1; Thu, 26 Aug 2021 08:52:22 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1A2AF800493; Thu, 26 Aug 2021 12:52:18 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EE4F460CC9; Thu, 26 Aug 2021 12:52:17 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id BE0A3181A601; Thu, 26 Aug 2021 12:52:17 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17QCOEBS015116 for ; Thu, 26 Aug 2021 08:24:14 -0400 Received: by smtp.corp.redhat.com (Postfix) id C4B795C22B; Thu, 26 Aug 2021 12:24:14 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 350BF5C25A for ; Thu, 26 Aug 2021 12:24:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629982386; 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=qZDd4CdF0oGPLIXFcQzajf3vsMFxeP01PLzZToz8nAM=; b=PifanHADiN2658j7YELY7hh3VHrFW9/RCTrPrHgtMuOX3JkR8c2zdFJF+WFVvQj4Zkblh5 NiaAP7JQ4LU3WS5aMZG6csCo/ADQ1BIFPoUalIBEO8Ef0yOBdUGwPJRXCA9rL1PVEinK84 2j/BGw3V3Tf4MsQtkK+ccIDRudGLbV4= X-MC-Unique: R4X913nTNL-v2WvD8xz64A-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 4/4] virsh: add support for '--validate' option in create network port Date: Thu, 26 Aug 2021 14:23:57 +0200 Message-Id: <12e3e156b35b730cce41ace72a2c6157770e5fa6.1629980447.git.khanicov@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com 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: 1629982387622100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kristina Hanicova Reviewed-by: J=C3=A1n Tomko --- docs/manpages/virsh.rst | 4 +++- tools/virsh-network.c | 10 +++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst index 2204bed3bb..c699b198fb 100644 --- a/docs/manpages/virsh.rst +++ b/docs/manpages/virsh.rst @@ -5452,10 +5452,12 @@ net-port-create =20 :: =20 - net-port-create network file + net-port-create network file [--validate] =20 Allocate a new network port reserving resources based on the port description. +Optionally, the format of the input XML file can be validated against an +internal RNG schema with *--validate*. =20 =20 net-port-dumpxml diff --git a/tools/virsh-network.c b/tools/virsh-network.c index badbcd0a92..a8f7f46905 100644 --- a/tools/virsh-network.c +++ b/tools/virsh-network.c @@ -1492,6 +1492,10 @@ static const vshCmdInfo info_network_port_create[] = =3D { static const vshCmdOptDef opts_network_port_create[] =3D { VIRSH_COMMON_OPT_NETWORK_FULL(VIR_CONNECT_LIST_NETWORKS_ACTIVE), VIRSH_COMMON_OPT_FILE(N_("file containing an XML network port descript= ion")), + {.name =3D "validate", + .type =3D VSH_OT_BOOL, + .help =3D N_("validate the XML against the schema") + }, {.name =3D NULL} }; =20 @@ -1503,6 +1507,7 @@ cmdNetworkPortCreate(vshControl *ctl, const vshCmd *c= md) bool ret =3D false; char *buffer =3D NULL; virNetworkPtr network =3D NULL; + unsigned int flags =3D 0; =20 network =3D virshCommandOptNetwork(ctl, cmd, NULL); if (network =3D=3D NULL) @@ -1511,12 +1516,15 @@ cmdNetworkPortCreate(vshControl *ctl, const vshCmd = *cmd) if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0) goto cleanup; =20 + if (vshCommandOptBool(cmd, "validate")) + flags |=3D VIR_NETWORK_PORT_CREATE_VALIDATE; + if (virFileReadAll(from, VSH_MAX_XML_FILE, &buffer) < 0) { vshSaveLibvirtError(); goto cleanup; } =20 - port =3D virNetworkPortCreateXML(network, buffer, 0); + port =3D virNetworkPortCreateXML(network, buffer, flags); =20 if (port !=3D NULL) { char uuidstr[VIR_UUID_STRING_BUFLEN]; --=20 2.31.1