diff options
author | Ana Rey <anarey@gmail.com> | 2014-04-09 11:16:19 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-04-14 10:46:06 +0200 |
commit | 1a0abb3036452852757d13fe394c6c72dff877bd (patch) | |
tree | a9d8902e2725659d274d4830cf8809ed34c4b160 /src/mxml.c | |
parent | 5d20b27ac4365ab153afe476895926ede9b74528 (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.c | 11 |
1 files changed, 3 insertions, 8 deletions
@@ -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); } |