diff options
author | Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com> | 2013-06-26 13:37:14 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-06-27 19:42:33 +0200 |
commit | adf8c43fe9cf032a1499beca26e548e3a82f8d1c (patch) | |
tree | 2177657e0c54041876e7bb52c786528e8d2d56a4 | |
parent | a8b06b57a624e70aafff4115a6ab06b9ac047788 (diff) |
target&match: xml: don't print rev number
The <rev> node is not printed/parsed anymore. It should not be exported,
this is negotiated with the kernel.
Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | src/expr/match.c | 18 | ||||
-rw-r--r-- | src/expr/target.c | 20 | ||||
-rwxr-xr-x | test/nft-rule-xml-add.sh | 6 |
3 files changed, 2 insertions, 42 deletions
diff --git a/src/expr/match.c b/src/expr/match.c index 165d24d..7b4377f 100644 --- a/src/expr/match.c +++ b/src/expr/match.c @@ -190,8 +190,6 @@ static int nft_rule_expr_match_xml_parse(struct nft_rule_expr *e, char *xml) struct nft_expr_match *mt = (struct nft_expr_match *)e->data; mxml_node_t *tree = NULL; mxml_node_t *node = NULL; - uint64_t tmp; - char *endptr; /* load the tree */ tree = mxmlLoadString(NULL, xml, MXML_OPAQUE_CALLBACK); @@ -218,19 +216,6 @@ static int nft_rule_expr_match_xml_parse(struct nft_rule_expr *e, char *xml) e->flags |= (1 << NFT_EXPR_MT_NAME); } - /* get and set <rev>. Not mandatory */ - node = mxmlFindElement(tree, tree, "rev", NULL, NULL, MXML_DESCEND); - if (node != NULL) { - tmp = strtoull(node->child->value.opaque, &endptr, 10); - if (tmp > UINT32_MAX || tmp < 0 || *endptr) { - mxmlDelete(tree); - return -1; - } - - mt->rev = (uint32_t)tmp; - e->flags |= (1 << NFT_EXPR_MT_REV); - } - /* mt->info is ignored until other solution is reached */ mxmlDelete(tree); @@ -247,8 +232,7 @@ static int nft_rule_expr_match_snprintf_xml(char *buf, size_t len, int ret, size=len; int offset = 0; - ret = snprintf(buf, len, "<name>%s</name><rev>%u</rev>", - mt->name, mt->rev); + ret = snprintf(buf, len, "<name>%s</name>", mt->name); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); return offset; diff --git a/src/expr/target.c b/src/expr/target.c index 8c454a9..ed29f6d 100644 --- a/src/expr/target.c +++ b/src/expr/target.c @@ -191,8 +191,6 @@ nft_rule_expr_target_xml_parse(struct nft_rule_expr *e, char *xml) struct nft_expr_target *tg = (struct nft_expr_target *)e->data; mxml_node_t *tree = NULL; mxml_node_t *node = NULL; - uint64_t tmp; - char *endptr; /* load the tree */ tree = mxmlLoadString(NULL, xml, MXML_OPAQUE_CALLBACK); @@ -219,21 +217,6 @@ nft_rule_expr_target_xml_parse(struct nft_rule_expr *e, char *xml) e->flags |= (1 << NFT_EXPR_TG_NAME); } - /* Get and set <rev>. Optional */ - node = mxmlFindElement(tree, tree, "rev", NULL, NULL, - MXML_DESCEND); - if (node == NULL) { - errno = 0; - tmp = strtoull(node->child->value.opaque, &endptr, 10); - if (tmp > UINT32_MAX || tmp < 0 || *endptr) { - mxmlDelete(tree); - return -1; - } - - tg->rev = (uint32_t)tmp; - e->flags |= (1 << NFT_EXPR_TG_REV); - } - /* tg->info is ignored until other solution is reached */ mxmlDelete(tree); @@ -251,8 +234,7 @@ int nft_rule_exp_target_snprintf_xml(char *buf, size_t len, int ret, size=len; int offset = 0; - ret = snprintf(buf, len, "<name>%s</name><rev>%u</rev>", - tg->name, tg->rev); + ret = snprintf(buf, len, "<name>%s</name>", tg->name); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); return offset; diff --git a/test/nft-rule-xml-add.sh b/test/nft-rule-xml-add.sh index 0bd08ff..322e70c 100755 --- a/test/nft-rule-xml-add.sh +++ b/test/nft-rule-xml-add.sh @@ -101,9 +101,6 @@ XML="<rule family=\"ip\" table=\"filter\" chain=\"INPUT\" handle=\"100\" version </expr> <expr type=\"match\"> <name>state</name> - <rev>0</rev> - <info> - </info> </expr> <expr type=\"counter\"> <pkts>123123</pkts> @@ -111,9 +108,6 @@ XML="<rule family=\"ip\" table=\"filter\" chain=\"INPUT\" handle=\"100\" version </expr> <expr type=\"target\"> <name>LOG</name> - <rev>0</rev> - <info> - </info> </expr> </rule>" |