diff options
author | Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com> | 2013-08-06 12:52:45 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-08-07 11:54:50 +0200 |
commit | fc7d496788b8abb3f009b73898508032eced0c6c (patch) | |
tree | 3943735856ca037e483843f93e4cf595ad68800c /src | |
parent | 7d3c279c62de52f7736d284f6ae0b08e2be09236 (diff) |
src: xml: delete unneeded XML prefixes
This patch changes some XML nodes with prefixes, as the example below
ilustrates.
Before:
<rule>
<rule_flags/>
<rule_family/>
<rule>
After:
<rule>
<flags>
<family>
</rule>
Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/rule.c | 10 | ||||
-rw-r--r-- | src/set.c | 14 | ||||
-rw-r--r-- | src/set_elem.c | 27 | ||||
-rw-r--r-- | src/table.c | 4 |
4 files changed, 24 insertions, 31 deletions
@@ -533,7 +533,7 @@ static int nft_rule_xml_parse(struct nft_rule *r, char *xml) r->flags |= (1 << NFT_RULE_ATTR_HANDLE); /* get and set <rule_flags> */ - if (nft_mxml_num_parse(tree, "rule_flags", MXML_DESCEND_FIRST, + if (nft_mxml_num_parse(tree, "flags", MXML_DESCEND_FIRST, BASE_DEC, &r->rule_flags, NFT_TYPE_U32) != 0) { mxmlDelete(tree); return -1; @@ -669,13 +669,9 @@ static int nft_rule_snprintf_xml(char *buf, size_t size, struct nft_rule *r, ret = snprintf(buf, size, "<rule><family>%s</family>" "<table>%s</table><chain>%s</chain>" - "<handle>%llu</handle>", + "<handle>%llu</handle><flags>%u</flags>", nft_family2str(r->family), r->table, r->chain, - (unsigned long long)r->handle); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); - - ret = snprintf(buf+offset, len, "<rule_flags>%u</rule_flags>", - r->rule_flags); + (unsigned long long)r->handle, r->rule_flags); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); if (r->compat.flags != 0 || r->compat.proto != 0) { @@ -321,7 +321,7 @@ static int nft_set_xml_parse(struct nft_set *s, char *xml) if (strcmp(tree->value.opaque, "set") != 0) goto err; - name = nft_mxml_str_parse(tree, "set_name", MXML_DESCEND_FIRST); + name = nft_mxml_str_parse(tree, "name", MXML_DESCEND_FIRST); if (name == NULL) goto err; @@ -331,14 +331,14 @@ static int nft_set_xml_parse(struct nft_set *s, char *xml) s->name = name; s->flags |= (1 << NFT_SET_ATTR_NAME); - table = nft_mxml_str_parse(tree, "set_table", MXML_DESCEND_FIRST); + table = nft_mxml_str_parse(tree, "table", MXML_DESCEND_FIRST); if (table == NULL) goto err; if (s->table) xfree(s->table); - s->table = strdup(table); + s->table = table; s->flags |= (1 << NFT_SET_ATTR_TABLE); family = nft_mxml_family_parse(tree, "family", MXML_DESCEND_FIRST); @@ -349,7 +349,7 @@ static int nft_set_xml_parse(struct nft_set *s, char *xml) s->flags |= (1 << NFT_SET_ATTR_FAMILY); - if (nft_mxml_num_parse(tree, "set_flags", MXML_DESCEND_FIRST, + if (nft_mxml_num_parse(tree, "flags", MXML_DESCEND_FIRST, BASE_DEC, &s->set_flags, NFT_TYPE_U32) != 0) goto err; @@ -509,9 +509,9 @@ static int nft_set_snprintf_xml(char *buf, size_t size, struct nft_set *s, struct nft_set_elem *elem; ret = snprintf(buf, size, "<set><family>%s</family>" - "<set_table>%s</set_table>" - "<set_name>%s</set_name>" - "<set_flags>%u</set_flags>" + "<table>%s</table>" + "<name>%s</name>" + "<flags>%u</flags>" "<key_type>%u</key_type>" "<key_len>%u</key_len>" "<data_type>%u</data_type>" diff --git a/src/set_elem.c b/src/set_elem.c index c9c9bd4..d99b65e 100644 --- a/src/set_elem.c +++ b/src/set_elem.c @@ -393,24 +393,24 @@ static int nft_set_elem_xml_parse(struct nft_set_elem *e, char *xml) goto err; } - if (nft_mxml_num_parse(tree, "set_elem_flags", MXML_DESCEND_FIRST, + if (nft_mxml_num_parse(tree, "flags", MXML_DESCEND_FIRST, BASE_DEC, &e->set_elem_flags, NFT_TYPE_U32) != 0) goto err; e->flags |= (1 << NFT_SET_ELEM_ATTR_FLAGS); - if (nft_mxml_data_reg_parse(tree, "set_elem_key", + if (nft_mxml_data_reg_parse(tree, "key", &e->key) != DATA_VALUE) goto err; e->flags |= (1 << NFT_SET_ELEM_ATTR_KEY); /* <set_elem_data> is not mandatory */ - node = mxmlFindElement(tree, tree, "set_elem_data", NULL, NULL, + node = mxmlFindElement(tree, tree, "data", NULL, NULL, MXML_DESCEND_FIRST); if (node != NULL && node->child != NULL) { - set_elem_data = nft_mxml_data_reg_parse(tree, "set_elem_data", + set_elem_data = nft_mxml_data_reg_parse(tree, "data", &e->data); switch (set_elem_data) { case DATA_VALUE: @@ -530,32 +530,29 @@ static int nft_set_elem_snprintf_xml(char *buf, size_t size, int ret, len = size, offset = 0; ret = snprintf(buf, size, "<set_elem>" - "<set_elem_flags>%u</set_elem_flags>", + "<flags>%u</flags><key>", e->set_elem_flags); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); - ret = snprintf(buf+offset, size, "<set_elem_key>"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); - ret = nft_data_reg_snprintf(buf+offset, len, &e->key, NFT_RULE_O_XML, flags, DATA_VALUE); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); - ret = snprintf(buf+offset, size, "</set_elem_key>"); + ret = snprintf(buf+offset, size, "</key>"); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); if (e->flags & (1 << NFT_SET_ELEM_ATTR_DATA)) { - ret = snprintf(buf+offset, size, "<set_elem_data>"); + ret = snprintf(buf+offset, size, "<data>"); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); ret = nft_data_reg_snprintf(buf+offset, len, &e->data, NFT_RULE_O_XML, flags, DATA_VALUE); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); - ret = snprintf(buf+offset, size, "</set_elem_data>"); + ret = snprintf(buf+offset, size, "</data>"); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); } else if (e->flags & (1 << NFT_SET_ELEM_ATTR_VERDICT)) { - ret = snprintf(buf+offset, size, "<set_elem_data>"); + ret = snprintf(buf+offset, size, "<data>"); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); ret = nft_data_reg_snprintf(buf+offset, len, &e->data, @@ -563,17 +560,17 @@ static int nft_set_elem_snprintf_xml(char *buf, size_t size, DATA_VERDICT); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); - ret = snprintf(buf+offset, size, "</set_elem_data>"); + ret = snprintf(buf+offset, size, "</data>"); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); } else if (e->flags & (1 << NFT_SET_ELEM_ATTR_CHAIN)) { - ret = snprintf(buf+offset, size, "<set_elem_data>"); + ret = snprintf(buf+offset, size, "<data>"); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); ret = nft_data_reg_snprintf(buf+offset, len, &e->data, NFT_RULE_O_XML, flags, DATA_CHAIN); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); - ret = snprintf(buf+offset, size, "</set_elem_data>"); + ret = snprintf(buf+offset, size, "</data>"); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); } diff --git a/src/table.c b/src/table.c index baad801..85993eb 100644 --- a/src/table.c +++ b/src/table.c @@ -249,7 +249,7 @@ static int nft_table_xml_parse(struct nft_table *t, char *xml) t->family = family; t->flags |= (1 << NFT_TABLE_ATTR_FAMILY); - if (nft_mxml_num_parse(tree, "table_flags", MXML_DESCEND, BASE_DEC, + if (nft_mxml_num_parse(tree, "flags", MXML_DESCEND, BASE_DEC, &t->table_flags, NFT_TYPE_U32) != 0) goto err; @@ -349,7 +349,7 @@ static int nft_table_snprintf_json(char *buf, size_t size, struct nft_table *t) static int nft_table_snprintf_xml(char *buf, size_t size, struct nft_table *t) { return snprintf(buf, size, "<table><name>%s</name><family>%s</family>" - "<table_flags>%d</table_flags></table>", + "<flags>%d</flags></table>", t->name, nft_family2str(t->family), t->table_flags); } |