mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
nwfilter_conf: add validation against schema in define
This patch also includes propagation of flags into the virNWFilterDefParse(). Signed-off-by: Kristina Hanicova <khanicov@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
499c0e4ecf
commit
1b0caedb72
@ -2739,12 +2739,14 @@ virNWFilterDefParseNode(xmlDocPtr xml,
|
||||
|
||||
static virNWFilterDef *
|
||||
virNWFilterDefParse(const char *xmlStr,
|
||||
const char *filename)
|
||||
const char *filename,
|
||||
unsigned int flags)
|
||||
{
|
||||
virNWFilterDef *def = NULL;
|
||||
g_autoptr(xmlDoc) xml = NULL;
|
||||
|
||||
if ((xml = virXMLParse(filename, xmlStr, _("(nwfilter_definition)"), NULL, false))) {
|
||||
if ((xml = virXMLParse(filename, xmlStr, _("(nwfilter_definition)"), "nwfilter.rng",
|
||||
flags & VIR_NWFILTER_DEFINE_VALIDATE))) {
|
||||
def = virNWFilterDefParseNode(xml, xmlDocGetRootElement(xml));
|
||||
}
|
||||
|
||||
@ -2753,16 +2755,17 @@ virNWFilterDefParse(const char *xmlStr,
|
||||
|
||||
|
||||
virNWFilterDef *
|
||||
virNWFilterDefParseString(const char *xmlStr)
|
||||
virNWFilterDefParseString(const char *xmlStr,
|
||||
unsigned int flags)
|
||||
{
|
||||
return virNWFilterDefParse(xmlStr, NULL);
|
||||
return virNWFilterDefParse(xmlStr, NULL, flags);
|
||||
}
|
||||
|
||||
|
||||
virNWFilterDef *
|
||||
virNWFilterDefParseFile(const char *filename)
|
||||
{
|
||||
return virNWFilterDefParse(NULL, filename);
|
||||
return virNWFilterDefParse(NULL, filename, 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -546,7 +546,8 @@ virNWFilterSaveConfig(const char *configDir,
|
||||
virNWFilterDef *def);
|
||||
|
||||
virNWFilterDef *
|
||||
virNWFilterDefParseString(const char *xml);
|
||||
virNWFilterDefParseString(const char *xml,
|
||||
unsigned int flags);
|
||||
|
||||
virNWFilterDef *
|
||||
virNWFilterDefParseFile(const char *filename);
|
||||
|
@ -547,7 +547,7 @@ nwfilterDefineXMLFlags(virConnectPtr conn,
|
||||
nwfilterDriverLock();
|
||||
virNWFilterWriteLockFilterUpdates();
|
||||
|
||||
if (!(def = virNWFilterDefParseString(xml)))
|
||||
if (!(def = virNWFilterDefParseString(xml, 0)))
|
||||
goto cleanup;
|
||||
|
||||
if (virNWFilterDefineXMLFlagsEnsureACL(conn, def) < 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user