summaryrefslogtreecommitdiffstats
path: root/src/mxml.c
diff options
context:
space:
mode:
authorAna Rey <anarey@gmail.com>2014-04-09 11:16:19 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2014-04-14 10:46:06 +0200
commit1a0abb3036452852757d13fe394c6c72dff877bd (patch)
treea9d8902e2725659d274d4830cf8809ed34c4b160 /src/mxml.c
parent5d20b27ac4365ab153afe476895926ede9b74528 (diff)
xml, json: Delete a cmpdata label in xml and json file
It delete the cmpdata label in the structure of json and xml file. Example of xmlfile: The old structure of xml file: [...] <expr type="cmp"> <sreg>1</sreg> <op>eq</op> <cmpdata> <data_reg type="value"> <len>4</len> <data0>0x0100a8c0</data0> </data_reg> </cmpdata> </expr> The new structure of json file: [...] <expr type="cmp"> <sreg>1</sreg> <op>eq</op> <data_reg type="value"> <len>4</len> <data0>0x0100a8c0</data0> </data_reg> </expr> [...] To generate the new testfiles, It use the option -u of nft-parsing-test script. Signed-off-by: Ana Rey <anarey@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/mxml.c')
-rw-r--r--src/mxml.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/mxml.c b/src/mxml.c
index b2cb95e..5e4f022 100644
--- a/src/mxml.c
+++ b/src/mxml.c
@@ -140,15 +140,10 @@ int nft_mxml_data_reg_parse(mxml_node_t *tree, const char *node_name,
node = mxmlFindElement(tree, tree, node_name, NULL, NULL,
MXML_DESCEND_FIRST);
- if (node == NULL || node->child == NULL) {
- if (!(flags & NFT_XML_OPT)) {
- err->error = NFT_PARSE_EMISSINGNODE;
- err->node_name = node_name;
- errno = EINVAL;
- }
- return DATA_NONE;
- }
+ /* It is necessary for the compatibility with cmpdata label. */
+ if (node == NULL || node->child == NULL)
+ node = tree;
return nft_data_reg_xml_parse(data_reg, node, err);
}