]> git.ipfire.org Git - thirdparty/libnftnl.git/commitdiff
target&match: xml: don't print rev number
authorArturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Wed, 26 Jun 2013 11:37:14 +0000 (13:37 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 27 Jun 2013 17:42:33 +0000 (19:42 +0200)
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>
src/expr/match.c
src/expr/target.c
test/nft-rule-xml-add.sh

index 165d24d73834006b8299b8363dac853d8700e282..7b4377fcda6efa8c8965a5c0e839dce772f98bf1 100644 (file)
@@ -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;
index 8c454a9ac36a0d02b26c3ff240d62dc7f7202c39..ed29f6d240850ee1bda2e79c3741a29c567e22ea 100644 (file)
@@ -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;
index 0bd08ff61d7e42daa9001071f02de1eacf1773a3..322e70c8d78059194f9827d807be86fb2528993b 100755 (executable)
@@ -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>"