All of lore.kernel.org
 help / color / mirror / Atom feed
* [libnftnl PATCH 0/4] expr: target: Do not print unset values in xml and json files
@ 2014-06-23  9:38 Ana Rey
  2014-06-23  9:38 ` [libnftnl PATCH 1/4] expr: target: get a nft_rule_expr type in nft_rule_expr_target_snprintf_* functions Ana Rey
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Ana Rey @ 2014-06-23  9:38 UTC (permalink / raw)
  To: netfilter-devel; +Cc: Ana Rey

This patchset does tasks about does not print unset values in xml and json file
and about refactoring code:
* "expr: target: get a nft_rule_expr type in
    nft_rule_expr_target_snprintf_* functions"
* "expr: target: Use nft_rule_expr_set_* in the xml parsing code"

Ana Rey (4):
  expr: target: get a nft_rule_expr type in
    nft_rule_expr_target_snprintf_* functions
  expr: target: Use nft_rule_expr_set_* in the xml parsing code
  expr: target: Do not print unset values in xml file
  expr: target: Do not print unset values in json file

 src/expr/target.c | 41 +++++++++++++++++++----------------------
 1 file changed, 19 insertions(+), 22 deletions(-)

-- 
2.0.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [libnftnl PATCH 1/4] expr: target: get a nft_rule_expr type in nft_rule_expr_target_snprintf_* functions
  2014-06-23  9:38 [libnftnl PATCH 0/4] expr: target: Do not print unset values in xml and json files Ana Rey
@ 2014-06-23  9:38 ` Ana Rey
  2014-06-23  9:38 ` [libnftnl PATCH 2/4] expr: target: Use nft_rule_expr_set_* in the xml parsing code Ana Rey
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Ana Rey @ 2014-06-23  9:38 UTC (permalink / raw)
  To: netfilter-devel; +Cc: Ana Rey

Code refactoring in nft_rule_expr_target_snprintf_* functions to get a
nft_rule_expr type instead of nft_expr_target type. The nft_rule_expr is
needed to check information into flags variables.

Moreover, It remanes some variables like 'tg' to 'target' for code
readability reasons.

Signed-off-by: Ana Rey <anarey@gmail.com>
---
 src/expr/target.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/expr/target.c b/src/expr/target.c
index ff0e56f..8a9f8b0 100644
--- a/src/expr/target.c
+++ b/src/expr/target.c
@@ -218,25 +218,25 @@ nft_rule_expr_target_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree,
 
 static
 int nft_rule_exp_target_snprintf_json(char *buf, size_t len,
-				struct nft_expr_target *tg)
+				struct nft_rule_expr *e)
 {
+	struct nft_expr_target *target = nft_expr_data(e);
 	int ret, size = len, offset = 0;
 
-	ret = snprintf(buf, len, "\"name\":\"%s\"",
-			tg->name);
+	ret = snprintf(buf, len, "\"name\":\"%s\"", target->name);
 	SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
 
 	return offset;
 }
 
-static
-int nft_rule_exp_target_snprintf_xml(char *buf, size_t len,
-				struct nft_expr_target *tg)
+static int nft_rule_exp_target_snprintf_xml(char *buf, size_t len,
+					    struct nft_rule_expr *e)
 {
+	struct nft_expr_target *target = nft_expr_data(e);
 	int ret, size=len;
 	int offset = 0;
 
-	ret = snprintf(buf, len, "<name>%s</name>", tg->name);
+	ret = snprintf(buf, len, "<name>%s</name>", target->name);
 	SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
 
 	return offset;
@@ -253,9 +253,9 @@ nft_rule_expr_target_snprintf(char *buf, size_t len, uint32_t type,
 		return snprintf(buf, len, "name %s rev %u ",
 				target->name, target->rev);
 	case NFT_OUTPUT_XML:
-		return nft_rule_exp_target_snprintf_xml(buf, len, target);
+		return nft_rule_exp_target_snprintf_xml(buf, len, e);
 	case NFT_OUTPUT_JSON:
-		return nft_rule_exp_target_snprintf_json(buf, len, target);
+		return nft_rule_exp_target_snprintf_json(buf, len, e);
 	default:
 		break;
 	}
-- 
2.0.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [libnftnl PATCH 2/4] expr: target: Use nft_rule_expr_set_* in the xml parsing code
  2014-06-23  9:38 [libnftnl PATCH 0/4] expr: target: Do not print unset values in xml and json files Ana Rey
  2014-06-23  9:38 ` [libnftnl PATCH 1/4] expr: target: get a nft_rule_expr type in nft_rule_expr_target_snprintf_* functions Ana Rey
@ 2014-06-23  9:38 ` Ana Rey
  2014-06-23  9:38 ` [libnftnl PATCH 3/4] expr: target: Do not print unset values in xml file Ana Rey
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Ana Rey @ 2014-06-23  9:38 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/target.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/expr/target.c b/src/expr/target.c
index 8a9f8b0..da25e68 100644
--- a/src/expr/target.c
+++ b/src/expr/target.c
@@ -195,7 +195,6 @@ nft_rule_expr_target_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree,
 			       struct nft_parse_err *err)
 {
 #ifdef XML_PARSING
-	struct nft_expr_target *tg = nft_expr_data(e);
 	const char *name;
 
 	name = nft_mxml_str_parse(tree, "name", MXML_DESCEND_FIRST,
@@ -203,9 +202,7 @@ nft_rule_expr_target_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree,
 	if (name == NULL)
 		return -1;
 
-	strncpy(tg->name, name, XT_EXTENSION_MAXNAMELEN);
-	tg->name[XT_EXTENSION_MAXNAMELEN-1] = '\0';
-	e->flags |= (1 << NFT_EXPR_TG_NAME);
+	nft_rule_expr_set_str(e, NFT_EXPR_TG_NAME, name);
 
 	/* tg->info is ignored until other solution is reached */
 
-- 
2.0.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [libnftnl PATCH 3/4] expr: target: Do not print unset values in xml file
  2014-06-23  9:38 [libnftnl PATCH 0/4] expr: target: Do not print unset values in xml and json files Ana Rey
  2014-06-23  9:38 ` [libnftnl PATCH 1/4] expr: target: get a nft_rule_expr type in nft_rule_expr_target_snprintf_* functions Ana Rey
  2014-06-23  9:38 ` [libnftnl PATCH 2/4] expr: target: Use nft_rule_expr_set_* in the xml parsing code Ana Rey
@ 2014-06-23  9:38 ` Ana Rey
  2014-06-23  9:38 ` [libnftnl PATCH 4/4] expr: target: Do not print unset values in json file Ana Rey
  2014-06-23 18:06 ` [libnftnl PATCH 0/4] expr: target: Do not print unset values in xml and json files Pablo Neira Ayuso
  4 siblings, 0 replies; 6+ messages in thread
From: Ana Rey @ 2014-06-23  9:38 UTC (permalink / raw)
  To: netfilter-devel; +Cc: Ana Rey

It changes the parse and snprintf functions to omit unset values.

Signed-off-by: Ana Rey <anarey@gmail.com>
---
 src/expr/target.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/expr/target.c b/src/expr/target.c
index da25e68..01bf69d 100644
--- a/src/expr/target.c
+++ b/src/expr/target.c
@@ -199,10 +199,8 @@ nft_rule_expr_target_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree,
 
 	name = nft_mxml_str_parse(tree, "name", MXML_DESCEND_FIRST,
 				  NFT_XML_MAND, err);
-	if (name == NULL)
-		return -1;
-
-	nft_rule_expr_set_str(e, NFT_EXPR_TG_NAME, name);
+	if (name != NULL)
+		nft_rule_expr_set_str(e, NFT_EXPR_TG_NAME, name);
 
 	/* tg->info is ignored until other solution is reached */
 
@@ -233,8 +231,10 @@ static 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>", target->name);
-	SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
+	if (e->flags & (1 << NFT_EXPR_TG_NAME)) {
+		ret = snprintf(buf, len, "<name>%s</name>", target->name);
+		SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
+	}
 
 	return offset;
 }
-- 
2.0.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [libnftnl PATCH 4/4] expr: target: Do not print unset values in json file
  2014-06-23  9:38 [libnftnl PATCH 0/4] expr: target: Do not print unset values in xml and json files Ana Rey
                   ` (2 preceding siblings ...)
  2014-06-23  9:38 ` [libnftnl PATCH 3/4] expr: target: Do not print unset values in xml file Ana Rey
@ 2014-06-23  9:38 ` Ana Rey
  2014-06-23 18:06 ` [libnftnl PATCH 0/4] expr: target: Do not print unset values in xml and json files Pablo Neira Ayuso
  4 siblings, 0 replies; 6+ messages in thread
From: Ana Rey @ 2014-06-23  9:38 UTC (permalink / raw)
  To: netfilter-devel; +Cc: Ana Rey

It changes the parse and snrintf functions to omit unset values.

Signed-off-by: Ana Rey <anarey@gmail.com>
---
 src/expr/target.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/expr/target.c b/src/expr/target.c
index 01bf69d..c4201cb 100644
--- a/src/expr/target.c
+++ b/src/expr/target.c
@@ -178,10 +178,8 @@ nft_rule_expr_target_json_parse(struct nft_rule_expr *e, json_t *root,
 	const char *name;
 
 	name = nft_jansson_parse_str(root, "name", err);
-	if (name == NULL)
-		return -1;
-
-	nft_rule_expr_set_str(e, NFT_EXPR_TG_NAME, name);
+	if (name != NULL)
+		nft_rule_expr_set_str(e, NFT_EXPR_TG_NAME, name);
 
 	return 0;
 #else
@@ -218,8 +216,10 @@ int nft_rule_exp_target_snprintf_json(char *buf, size_t len,
 	struct nft_expr_target *target = nft_expr_data(e);
 	int ret, size = len, offset = 0;
 
-	ret = snprintf(buf, len, "\"name\":\"%s\"", target->name);
-	SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
+	if (e->flags & (1 << NFT_EXPR_TG_NAME)) {
+		ret = snprintf(buf, len, "\"name\":\"%s\"", target->name);
+		SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
+	}
 
 	return offset;
 }
-- 
2.0.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [libnftnl PATCH 0/4] expr: target: Do not print unset values in xml and json files
  2014-06-23  9:38 [libnftnl PATCH 0/4] expr: target: Do not print unset values in xml and json files Ana Rey
                   ` (3 preceding siblings ...)
  2014-06-23  9:38 ` [libnftnl PATCH 4/4] expr: target: Do not print unset values in json file Ana Rey
@ 2014-06-23 18:06 ` Pablo Neira Ayuso
  4 siblings, 0 replies; 6+ messages in thread
From: Pablo Neira Ayuso @ 2014-06-23 18:06 UTC (permalink / raw)
  To: Ana Rey; +Cc: netfilter-devel

Ana, I have pushed all the remaining patches regarding json/xml that
were upon the table to master.

Thanks.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-06-23 18:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-23  9:38 [libnftnl PATCH 0/4] expr: target: Do not print unset values in xml and json files Ana Rey
2014-06-23  9:38 ` [libnftnl PATCH 1/4] expr: target: get a nft_rule_expr type in nft_rule_expr_target_snprintf_* functions Ana Rey
2014-06-23  9:38 ` [libnftnl PATCH 2/4] expr: target: Use nft_rule_expr_set_* in the xml parsing code Ana Rey
2014-06-23  9:38 ` [libnftnl PATCH 3/4] expr: target: Do not print unset values in xml file Ana Rey
2014-06-23  9:38 ` [libnftnl PATCH 4/4] expr: target: Do not print unset values in json file Ana Rey
2014-06-23 18:06 ` [libnftnl PATCH 0/4] expr: target: Do not print unset values in xml and json files Pablo Neira Ayuso

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.