From f4befc129827632209779c71d804f6139ac03541 Mon Sep 17 00:00:00 2001 From: Arturo Borrero Gonzalez Date: Fri, 13 Sep 2013 14:05:51 +0200 Subject: src: xml: add parsing optional/mandatory flag Add an optional/mandatory flag to XML parsing. In some elements (ie regs), no flag is used because is always mandatory. DATA_NONE is created to indicate a non-parsed data_reg. Signed-off-by: Arturo Borrero Gonzalez Signed-off-by: Pablo Neira Ayuso --- src/expr/exthdr.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/expr/exthdr.c') diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c index af9d6bf..9ca66e5 100644 --- a/src/expr/exthdr.c +++ b/src/expr/exthdr.c @@ -249,7 +249,7 @@ nft_rule_expr_exthdr_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree) e->flags |= (1 << NFT_EXPR_EXTHDR_DREG); exthdr_type = nft_mxml_str_parse(tree, "exthdr_type", - MXML_DESCEND_FIRST); + MXML_DESCEND_FIRST, NFT_XML_MAND); if (exthdr_type == NULL) return -1; @@ -262,14 +262,15 @@ nft_rule_expr_exthdr_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree) /* Get and set */ if (nft_mxml_num_parse(tree, "offset", MXML_DESCEND_FIRST, BASE_DEC, - &exthdr->offset, NFT_TYPE_U32) != 0) + &exthdr->offset, NFT_TYPE_U32, + NFT_XML_MAND) != 0) return -1; e->flags |= (1 << NFT_EXPR_EXTHDR_OFFSET); /* Get and set */ if (nft_mxml_num_parse(tree, "len", MXML_DESCEND_FIRST, BASE_DEC, - &exthdr->len, NFT_TYPE_U32) != 0) + &exthdr->len, NFT_TYPE_U32, NFT_XML_MAND) != 0) return -1; e->flags |= (1 << NFT_EXPR_EXTHDR_LEN); -- cgit v1.2.3