diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index dbb8846e05..7027dc636c 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -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) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 26ff2cc759..4f3fd0197e 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -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, diff --git a/src/vbox/vbox_network.c b/src/vbox/vbox_network.c index 1c23b880e8..9c27ccda56 100644 --- a/src/vbox/vbox_network.c +++ b/src/vbox/vbox_network.c @@ -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;