* [libnftnl PATCH 0/3] expr: immediate: Do not print unset values in xml and json
@ 2014-06-21 15:53 Ana Rey
2014-06-21 15:53 ` [libnftnl PATCH 1/3] expr: immediate: Use nft_rule_expr_set_* in the xml parsing code Ana Rey
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Ana Rey @ 2014-06-21 15:53 UTC (permalink / raw)
To: netfilter-devel; +Cc: Ana Rey
This patchset does tasks about does not print unset value in xml and json file
and about refactoring code:
* "expr: immediate: Use nft_rule_expr_set_* in the xml parsing code"
Ana Rey (3):
expr: immediate: Use nft_rule_expr_set_* in the xml parsing code
expr: immediate: Do not print unset values in json file
expr: immediate: Do not print unset values in xml file
src/expr/immediate.c | 95 +++++++++++++++++++++++++---------------------------
1 file changed, 46 insertions(+), 49 deletions(-)
--
2.0.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [libnftnl PATCH 1/3] expr: immediate: Use nft_rule_expr_set_* in the xml parsing code
2014-06-21 15:53 [libnftnl PATCH 0/3] expr: immediate: Do not print unset values in xml and json Ana Rey
@ 2014-06-21 15:53 ` Ana Rey
2014-06-21 15:53 ` [libnftnl PATCH 2/3] expr: immediate: Do not print unset values in json file Ana Rey
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Ana Rey @ 2014-06-21 15:53 UTC (permalink / raw)
To: netfilter-devel; +Cc: Ana Rey
Code refactoring to use nft_rule_expr_set_* in parse functions.
Signed-off-by: Ana Rey <anarey@gmail.com>
---
src/expr/immediate.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/expr/immediate.c b/src/expr/immediate.c
index 2ea4636..eab1497 100644
--- a/src/expr/immediate.c
+++ b/src/expr/immediate.c
@@ -229,9 +229,7 @@ nft_rule_expr_immediate_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree,
if (nft_mxml_reg_parse(tree, "dreg", ®, MXML_DESCEND_FIRST,
NFT_XML_MAND, err) != 0)
return -1;
-
- imm->dreg = reg;
- e->flags |= (1 << NFT_EXPR_IMM_DREG);
+ nft_rule_expr_set_u32(e, NFT_EXPR_IMM_DREG, reg);
datareg_type = nft_mxml_data_reg_parse(tree, "immediatedata",
&imm->data, NFT_XML_MAND, err);
--
2.0.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [libnftnl PATCH 2/3] expr: immediate: Do not print unset values in json file
2014-06-21 15:53 [libnftnl PATCH 0/3] expr: immediate: Do not print unset values in xml and json Ana Rey
2014-06-21 15:53 ` [libnftnl PATCH 1/3] expr: immediate: Use nft_rule_expr_set_* in the xml parsing code Ana Rey
@ 2014-06-21 15:53 ` Ana Rey
2014-06-21 15:53 ` [libnftnl PATCH 3/3] expr: immediate: Do not print unset values in xml file Ana Rey
2014-06-23 9:02 ` [libnftnl PATCH 0/3] expr: immediate: Do not print unset values in xml and json Arturo Borrero Gonzalez
3 siblings, 0 replies; 5+ messages in thread
From: Ana Rey @ 2014-06-21 15:53 UTC (permalink / raw)
To: netfilter-devel; +Cc: Ana Rey
It changes the parse functions to omit unset values.
Signed-off-by: Ana Rey <anarey@gmail.com>
---
src/expr/immediate.c | 49 +++++++++++++++++++++++--------------------------
1 file changed, 23 insertions(+), 26 deletions(-)
diff --git a/src/expr/immediate.c b/src/expr/immediate.c
index eab1497..b52bd23 100644
--- a/src/expr/immediate.c
+++ b/src/expr/immediate.c
@@ -186,30 +186,26 @@ nft_rule_expr_immediate_json_parse(struct nft_rule_expr *e, json_t *root,
int datareg_type;
uint32_t reg;
- if (nft_jansson_parse_reg(root, "dreg", NFT_TYPE_U32, ®, err) < 0)
- return -1;
-
- nft_rule_expr_set_u32(e, NFT_EXPR_IMM_DREG, reg);
+ if (nft_jansson_parse_reg(root, "dreg", NFT_TYPE_U32, ®, err) == 0)
+ nft_rule_expr_set_u32(e, NFT_EXPR_IMM_DREG, reg);
datareg_type = nft_jansson_data_reg_parse(root, "immediatedata",
&imm->data, err);
- if (datareg_type < 0)
- return -1;
-
- switch (datareg_type) {
- case DATA_VALUE:
- e->flags |= (1 << NFT_EXPR_IMM_DATA);
- break;
- case DATA_VERDICT:
- e->flags |= (1 << NFT_EXPR_IMM_VERDICT);
- break;
- case DATA_CHAIN:
- e->flags |= (1 << NFT_EXPR_IMM_CHAIN);
- break;
- default:
- return -1;
+ if (datareg_type >= 0) {
+ switch (datareg_type) {
+ case DATA_VALUE:
+ e->flags |= (1 << NFT_EXPR_IMM_DATA);
+ break;
+ case DATA_VERDICT:
+ e->flags |= (1 << NFT_EXPR_IMM_VERDICT);
+ break;
+ case DATA_CHAIN:
+ e->flags |= (1 << NFT_EXPR_IMM_CHAIN);
+ break;
+ default:
+ return -1;
+ }
}
-
return 0;
#else
errno = EOPNOTSUPP;
@@ -261,22 +257,23 @@ nft_rule_expr_immediate_snprintf_json(char *buf, size_t len,
int size = len, offset = 0, ret;
struct nft_expr_immediate *imm = nft_expr_data(e);
- ret = snprintf(buf, len, "\"dreg\":%u,", imm->dreg);
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
-
+ if (e->flags & (1 << NFT_EXPR_IMM_DREG)) {
+ ret = snprintf(buf, len, "\"dreg\":%u,", imm->dreg);
+ SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
+ }
if (e->flags & (1 << NFT_EXPR_IMM_DATA)) {
- ret = nft_data_reg_snprintf(buf+offset, len, &imm->data,
+ ret = nft_data_reg_snprintf(buf + offset, len, &imm->data,
NFT_OUTPUT_JSON, flags, DATA_VALUE);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
} else if (e->flags & (1 << NFT_EXPR_IMM_VERDICT)) {
- ret = nft_data_reg_snprintf(buf+offset, len, &imm->data,
+ ret = nft_data_reg_snprintf(buf + offset, len, &imm->data,
NFT_OUTPUT_JSON, flags, DATA_VERDICT);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
} else if (e->flags & (1 << NFT_EXPR_IMM_CHAIN)) {
- ret = nft_data_reg_snprintf(buf+offset, len, &imm->data,
+ ret = nft_data_reg_snprintf(buf + offset, len, &imm->data,
NFT_OUTPUT_JSON, flags, DATA_CHAIN);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
--
2.0.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [libnftnl PATCH 3/3] expr: immediate: Do not print unset values in xml file
2014-06-21 15:53 [libnftnl PATCH 0/3] expr: immediate: Do not print unset values in xml and json Ana Rey
2014-06-21 15:53 ` [libnftnl PATCH 1/3] expr: immediate: Use nft_rule_expr_set_* in the xml parsing code Ana Rey
2014-06-21 15:53 ` [libnftnl PATCH 2/3] expr: immediate: Do not print unset values in json file Ana Rey
@ 2014-06-21 15:53 ` Ana Rey
2014-06-23 9:02 ` [libnftnl PATCH 0/3] expr: immediate: Do not print unset values in xml and json Arturo Borrero Gonzalez
3 siblings, 0 replies; 5+ messages in thread
From: Ana Rey @ 2014-06-21 15:53 UTC (permalink / raw)
To: netfilter-devel; +Cc: Ana Rey
It changes the parse functions to omit unset values.
Signed-off-by: Ana Rey <anarey@gmail.com>
---
src/expr/immediate.c | 44 +++++++++++++++++++++++---------------------
1 file changed, 23 insertions(+), 21 deletions(-)
diff --git a/src/expr/immediate.c b/src/expr/immediate.c
index b52bd23..af3324b 100644
--- a/src/expr/immediate.c
+++ b/src/expr/immediate.c
@@ -223,24 +223,25 @@ nft_rule_expr_immediate_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree,
uint32_t reg;
if (nft_mxml_reg_parse(tree, "dreg", ®, MXML_DESCEND_FIRST,
- NFT_XML_MAND, err) != 0)
- return -1;
- nft_rule_expr_set_u32(e, NFT_EXPR_IMM_DREG, reg);
+ NFT_XML_MAND, err) == 0)
+ nft_rule_expr_set_u32(e, NFT_EXPR_IMM_DREG, reg);
datareg_type = nft_mxml_data_reg_parse(tree, "immediatedata",
&imm->data, NFT_XML_MAND, err);
- switch (datareg_type) {
- case DATA_VALUE:
- e->flags |= (1 << NFT_EXPR_IMM_DATA);
- break;
- case DATA_VERDICT:
- e->flags |= (1 << NFT_EXPR_IMM_VERDICT);
- break;
- case DATA_CHAIN:
- e->flags |= (1 << NFT_EXPR_IMM_CHAIN);
- break;
- default:
- return -1;
+ if (datareg_type >= 0) {
+ switch (datareg_type) {
+ case DATA_VALUE:
+ e->flags |= (1 << NFT_EXPR_IMM_DATA);
+ break;
+ case DATA_VERDICT:
+ e->flags |= (1 << NFT_EXPR_IMM_VERDICT);
+ break;
+ case DATA_CHAIN:
+ e->flags |= (1 << NFT_EXPR_IMM_CHAIN);
+ break;
+ default:
+ return -1;
+ }
}
return 0;
@@ -288,22 +289,23 @@ nft_rule_expr_immediate_snprintf_xml(char *buf, size_t len,
int size = len, offset = 0, ret;
struct nft_expr_immediate *imm = nft_expr_data(e);
- ret = snprintf(buf, len, "<dreg>%u</dreg>", imm->dreg);
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
-
+ if (e->flags & (1 << NFT_EXPR_IMM_DREG)) {
+ ret = snprintf(buf, len, "<dreg>%u</dreg>", imm->dreg);
+ SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
+ }
if (e->flags & (1 << NFT_EXPR_IMM_DATA)) {
- ret = nft_data_reg_snprintf(buf+offset, len, &imm->data,
+ ret = nft_data_reg_snprintf(buf + offset, len, &imm->data,
NFT_OUTPUT_XML, flags, DATA_VALUE);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
} else if (e->flags & (1 << NFT_EXPR_IMM_VERDICT)) {
- ret = nft_data_reg_snprintf(buf+offset, len, &imm->data,
+ ret = nft_data_reg_snprintf(buf + offset, len, &imm->data,
NFT_OUTPUT_XML, flags, DATA_VERDICT);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
} else if (e->flags & (1 << NFT_EXPR_IMM_CHAIN)) {
- ret = nft_data_reg_snprintf(buf+offset, len, &imm->data,
+ ret = nft_data_reg_snprintf(buf + offset, len, &imm->data,
NFT_OUTPUT_XML, flags, DATA_CHAIN);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
--
2.0.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [libnftnl PATCH 0/3] expr: immediate: Do not print unset values in xml and json
2014-06-21 15:53 [libnftnl PATCH 0/3] expr: immediate: Do not print unset values in xml and json Ana Rey
` (2 preceding siblings ...)
2014-06-21 15:53 ` [libnftnl PATCH 3/3] expr: immediate: Do not print unset values in xml file Ana Rey
@ 2014-06-23 9:02 ` Arturo Borrero Gonzalez
3 siblings, 0 replies; 5+ messages in thread
From: Arturo Borrero Gonzalez @ 2014-06-23 9:02 UTC (permalink / raw)
To: Ana Rey; +Cc: Netfilter Development Mailing list
On 21 June 2014 17:53, Ana Rey <anarey@gmail.com> wrote:
> This patchset does tasks about does not print unset value in xml and json file
> and about refactoring code:
> * "expr: immediate: Use nft_rule_expr_set_* in the xml parsing code"
>
> Ana Rey (3):
> expr: immediate: Use nft_rule_expr_set_* in the xml parsing code
> expr: immediate: Do not print unset values in json file
> expr: immediate: Do not print unset values in xml file
>
> src/expr/immediate.c | 95 +++++++++++++++++++++++++---------------------------
> 1 file changed, 46 insertions(+), 49 deletions(-)
Hi Ana, I reviewed the series and seems fine to me.
regards.
--
Arturo Borrero González
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-06-23 9:03 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-21 15:53 [libnftnl PATCH 0/3] expr: immediate: Do not print unset values in xml and json Ana Rey
2014-06-21 15:53 ` [libnftnl PATCH 1/3] expr: immediate: Use nft_rule_expr_set_* in the xml parsing code Ana Rey
2014-06-21 15:53 ` [libnftnl PATCH 2/3] expr: immediate: Do not print unset values in json file Ana Rey
2014-06-21 15:53 ` [libnftnl PATCH 3/3] expr: immediate: Do not print unset values in xml file Ana Rey
2014-06-23 9:02 ` [libnftnl PATCH 0/3] expr: immediate: Do not print unset values in xml and json Arturo Borrero Gonzalez
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.