diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/expr/cmp.c | 4 | ||||
-rw-r--r-- | src/expr/data_reg.c | 27 | ||||
-rw-r--r-- | src/expr/immediate.c | 4 | ||||
-rw-r--r-- | src/jansson.c | 4 |
4 files changed, 14 insertions, 25 deletions
diff --git a/src/expr/cmp.c b/src/expr/cmp.c index b186df0..3ca4b08 100644 --- a/src/expr/cmp.c +++ b/src/expr/cmp.c @@ -201,7 +201,7 @@ static int nft_rule_expr_cmp_json_parse(struct nft_rule_expr *e, json_t *root, nft_rule_expr_set_u32(e, NFT_EXPR_CMP_OP, base); } - if (nft_jansson_data_reg_parse(root, "cmpdata", + if (nft_jansson_data_reg_parse(root, "data", &cmp->data, err) == DATA_VALUE) e->flags |= (1 << NFT_EXPR_CMP_DATA); @@ -235,7 +235,7 @@ static int nft_rule_expr_cmp_xml_parse(struct nft_rule_expr *e, mxml_node_t *tre nft_rule_expr_set_u32(e, NFT_EXPR_CMP_OP, op_value); } - if (nft_mxml_data_reg_parse(tree, "cmpdata", + if (nft_mxml_data_reg_parse(tree, "data", &cmp->data, NFT_XML_MAND, err) == DATA_VALUE) e->flags |= (1 << NFT_EXPR_CMP_DATA); diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c index 28ad164..33b3346 100644 --- a/src/expr/data_reg.c +++ b/src/expr/data_reg.c @@ -145,21 +145,10 @@ static int nft_data_reg_value_xml_parse(union nft_data_reg *reg, int i; char node_name[6]; - /* - * <data_reg type="value"> - * <len>16</len> - * <data0>0xc09a002a</data0> - * <data1>0x2700cac1</data1> - * <data2>0x00000000</data2> - * <data3>0x08000000</data3> - * </data_reg> - */ - if (nft_mxml_num_parse(tree, "len", MXML_DESCEND_FIRST, BASE_DEC, ®->len, NFT_TYPE_U8, NFT_XML_MAND, err) != 0) return DATA_NONE; - /* Get and set <dataN> */ for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) { sprintf(node_name, "data%d", i); @@ -180,7 +169,7 @@ int nft_data_reg_xml_parse(union nft_data_reg *reg, mxml_node_t *tree, const char *type; mxml_node_t *node; - node = mxmlFindElement(tree, tree, "data_reg", "type", NULL, + node = mxmlFindElement(tree, tree, "reg", "type", NULL, MXML_DESCEND_FIRST); if (node == NULL) goto err; @@ -198,7 +187,7 @@ int nft_data_reg_xml_parse(union nft_data_reg *reg, mxml_node_t *tree, return DATA_NONE; err: errno = EINVAL; - err->node_name = "data_reg"; + err->node_name = "reg"; err->error = NFT_PARSE_EMISSINGNODE; return DATA_NONE; #else @@ -216,7 +205,7 @@ nft_data_reg_value_snprintf_json(char *buf, size_t size, uint32_t utemp; uint8_t *tmp; - ret = snprintf(buf, len, "\"data_reg\":{\"type\":\"value\","); + ret = snprintf(buf, len, "\"reg\":{\"type\":\"value\","); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); ret = snprintf(buf+offset, len, "\"len\":%u,", reg->len); @@ -252,7 +241,7 @@ int nft_data_reg_value_snprintf_xml(char *buf, size_t size, uint32_t be; uint8_t *tmp; - ret = snprintf(buf, len, "<data_reg type=\"value\">"); + ret = snprintf(buf, len, "<reg type=\"value\">"); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); ret = snprintf(buf+offset, len, "<len>%u</len>", reg->len); @@ -274,7 +263,7 @@ int nft_data_reg_value_snprintf_xml(char *buf, size_t size, SNPRINTF_BUFFER_SIZE(ret, size, len, offset); } - ret = snprintf(buf+offset, len, "</data_reg>"); + ret = snprintf(buf+offset, len, "</reg>"); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); return offset; @@ -317,7 +306,7 @@ nft_data_reg_verdict_snprintf_xml(char *buf, size_t size, { int len = size, offset = 0, ret = 0; - ret = snprintf(buf, size, "<data_reg type=\"verdict\">" + ret = snprintf(buf, size, "<reg type=\"verdict\">" "<verdict>%s</verdict>", nft_verdict2str(reg->verdict)); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); @@ -327,7 +316,7 @@ nft_data_reg_verdict_snprintf_xml(char *buf, size_t size, SNPRINTF_BUFFER_SIZE(ret, size, len, offset); } - ret = snprintf(buf+offset, len, "</data_reg>"); + ret = snprintf(buf+offset, len, "</reg>"); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); return offset; @@ -339,7 +328,7 @@ nft_data_reg_verdict_snprintf_json(char *buf, size_t size, { int len = size, offset = 0, ret = 0; - ret = snprintf(buf, size, "\"data_reg\":{\"type\":\"verdict\"," + ret = snprintf(buf, size, "\"reg\":{\"type\":\"verdict\"," "\"verdict\":\"%s\"", nft_verdict2str(reg->verdict)); SNPRINTF_BUFFER_SIZE(ret, size, len, offset); diff --git a/src/expr/immediate.c b/src/expr/immediate.c index be70445..3d4e48c 100644 --- a/src/expr/immediate.c +++ b/src/expr/immediate.c @@ -186,7 +186,7 @@ nft_rule_expr_immediate_json_parse(struct nft_rule_expr *e, json_t *root, 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", + datareg_type = nft_jansson_data_reg_parse(root, "data", &imm->data, err); if (datareg_type >= 0) { switch (datareg_type) { @@ -223,7 +223,7 @@ nft_rule_expr_immediate_xml_parse(struct nft_rule_expr *e, mxml_node_t *tree, 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", + datareg_type = nft_mxml_data_reg_parse(tree, "data", &imm->data, NFT_XML_MAND, err); if (datareg_type >= 0) { switch (datareg_type) { diff --git a/src/jansson.c b/src/jansson.c index 4c7968a..b17d8a9 100644 --- a/src/jansson.c +++ b/src/jansson.c @@ -227,10 +227,10 @@ int nft_jansson_data_reg_parse(json_t *root, const char *node_name, if (data == NULL) data = root; - data = json_object_get(data, "data_reg"); + data = json_object_get(data, "reg"); if (data == NULL) { err->error = NFT_PARSE_EMISSINGNODE; - err->node_name = "data_reg"; + err->node_name = "reg"; errno = EINVAL; return -1; } |