]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
network: allow VIR_NETWORK_CREATE_VALIDATE flag
authorKristina Hanicova <khanicov@redhat.com>
Wed, 15 Sep 2021 11:07:30 +0000 (13:07 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 16 Sep 2021 14:26:18 +0000 (16:26 +0200)
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/network/bridge_driver.c
src/test/test_driver.c
src/vbox/vbox_network.c

index dbb8846e0564654fcbae5759a719fc41b7fc1e0c..7027dc636c64fb05bd77d6322c7054c77b7b5ca7 100644 (file)
@@ -3475,9 +3475,10 @@ networkCreateXMLFlags(virConnectPtr conn,
     virNetworkPtr net = NULL;
     virObjectEvent *event = NULL;
 
-    virCheckFlags(0, NULL);
+    virCheckFlags(VIR_NETWORK_CREATE_VALIDATE, NULL);
 
-    if (!(newDef = virNetworkDefParseString(xml, network_driver->xmlopt, false)))
+    if (!(newDef = virNetworkDefParseString(xml, network_driver->xmlopt,
+                                            !!(flags & VIR_NETWORK_CREATE_VALIDATE))))
         goto cleanup;
 
     if (virNetworkCreateXMLFlagsEnsureACL(conn, newDef) < 0)
index 26ff2cc7597a71009b800cc2f3b1934eabe5267f..4f3fd0197e8d89f9316ece446c255b563b3c9d69 100644 (file)
@@ -5582,9 +5582,10 @@ testNetworkCreateXMLFlags(virConnectPtr conn, const char *xml,
     virNetworkPtr net = NULL;
     virObjectEvent *event = NULL;
 
-    virCheckFlags(0, NULL);
+    virCheckFlags(VIR_NETWORK_CREATE_VALIDATE, NULL);
 
-    if ((newDef = virNetworkDefParseString(xml, NULL, false)) == NULL)
+    if (!(newDef = virNetworkDefParseString(xml, NULL,
+                                            !!(flags & VIR_NETWORK_CREATE_VALIDATE))))
         goto cleanup;
 
     if (!(obj = virNetworkObjAssignDef(privconn->networks, newDef,
index 1c23b880e8cf16890e00e74ed90c77488e7233ad..9c27ccda56d8aee3dff9bd65822f12bd24255423 100644 (file)
@@ -385,8 +385,15 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const char *xml, bool start,
     IHost *host = NULL;
     virNetworkPtr ret = NULL;
     nsresult rc;
+    bool validate;
 
-    virCheckFlags(VIR_NETWORK_DEFINE_VALIDATE, NULL);
+    if (start) {
+        virCheckFlags(VIR_NETWORK_CREATE_VALIDATE, NULL);
+        validate = flags & VIR_NETWORK_CREATE_VALIDATE;
+    } else {
+        virCheckFlags(VIR_NETWORK_DEFINE_VALIDATE, NULL);
+        validate = flags & VIR_NETWORK_DEFINE_VALIDATE;
+    }
 
     if (!data->vboxObj)
         return ret;
@@ -397,8 +404,7 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const char *xml, bool start,
 
     VBOX_IID_INITIALIZE(&vboxnetiid);
 
-    if (!(def = virNetworkDefParseString(xml, NULL,
-                                         !!(flags & VIR_NETWORK_DEFINE_VALIDATE))) ||
+    if (!(def = virNetworkDefParseString(xml, NULL, validate)) ||
         (def->forward.type != VIR_NETWORK_FORWARD_NONE) ||
         (def->nips == 0 || !def->ips))
         goto cleanup;