summaryrefslogtreecommitdiffstats
path: root/src/expr
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr')
-rw-r--r--src/expr/bitwise.c42
-rw-r--r--src/expr/byteorder.c43
-rw-r--r--src/expr/cmp.c36
-rw-r--r--src/expr/counter.c23
-rw-r--r--src/expr/ct.c48
-rw-r--r--src/expr/data_reg.c156
-rw-r--r--src/expr/dup.c21
-rw-r--r--src/expr/dynset.c38
-rw-r--r--src/expr/exthdr.c40
-rw-r--r--src/expr/fwd.c18
-rw-r--r--src/expr/hash.c44
-rw-r--r--src/expr/immediate.c39
-rw-r--r--src/expr/limit.c33
-rw-r--r--src/expr/log.c45
-rw-r--r--src/expr/lookup.c34
-rw-r--r--src/expr/masq.c27
-rw-r--r--src/expr/match.c21
-rw-r--r--src/expr/meta.c33
-rw-r--r--src/expr/nat.c55
-rw-r--r--src/expr/numgen.c35
-rw-r--r--src/expr/payload.c40
-rw-r--r--src/expr/queue.c36
-rw-r--r--src/expr/quota.c22
-rw-r--r--src/expr/redir.c27
-rw-r--r--src/expr/reject.c24
-rw-r--r--src/expr/target.c22
26 files changed, 2 insertions, 1000 deletions
diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c
index 9cc9347..0febc9d 100644
--- a/src/expr/bitwise.c
+++ b/src/expr/bitwise.c
@@ -209,47 +209,6 @@ nftnl_expr_bitwise_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int
-nftnl_expr_bitwise_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- struct nftnl_expr_bitwise *bitwise = nftnl_expr_data(e);
- uint32_t sreg, dreg, len;
-
- if (nftnl_mxml_reg_parse(tree, "sreg", &sreg, MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_BITWISE_SREG, sreg);
-
- if (nftnl_mxml_reg_parse(tree, "dreg", &dreg, MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_BITWISE_DREG, dreg);
-
- if (nftnl_mxml_num_parse(tree, "len", MXML_DESCEND_FIRST, BASE_DEC,
- &len, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_BITWISE_LEN, len);
-
- if (nftnl_mxml_data_reg_parse(tree, "mask", &bitwise->mask, NFTNL_XML_MAND,
- err) == DATA_VALUE)
- e->flags |= (1 << NFTNL_EXPR_BITWISE_MASK);
-
- if (nftnl_mxml_data_reg_parse(tree, "xor", &bitwise->xor, NFTNL_XML_MAND,
- err) == DATA_VALUE)
- e->flags |= (1 << NFTNL_EXPR_BITWISE_XOR);
-
- /* Additional validation: mask and xor must use the same number of
- * data registers.
- */
- if (bitwise->mask.len != bitwise->xor.len)
- return -1;
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_bitwise_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -341,6 +300,5 @@ struct expr_ops expr_ops_bitwise = {
.parse = nftnl_expr_bitwise_parse,
.build = nftnl_expr_bitwise_build,
.snprintf = nftnl_expr_bitwise_snprintf,
- .xml_parse = nftnl_expr_bitwise_xml_parse,
.json_parse = nftnl_expr_bitwise_json_parse,
};
diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c
index a7914ef..5f8e585 100644
--- a/src/expr/byteorder.c
+++ b/src/expr/byteorder.c
@@ -234,48 +234,6 @@ nftnl_expr_byteorder_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int
-nftnl_expr_byteorder_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- const char *op;
- int32_t ntoh;
- uint32_t sreg, dreg, len, size;
-
- if (nftnl_mxml_reg_parse(tree, "sreg", &sreg, MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_BYTEORDER_SREG, sreg);
-
- if (nftnl_mxml_reg_parse(tree, "dreg", &dreg, MXML_DESCEND, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_BYTEORDER_DREG, dreg);
-
- op = nftnl_mxml_str_parse(tree, "op", MXML_DESCEND_FIRST, NFTNL_XML_MAND,
- err);
- if (op != NULL) {
- ntoh = nftnl_str2ntoh(op);
- if (ntoh < 0)
- return -1;
-
- nftnl_expr_set_u32(e, NFTNL_EXPR_BYTEORDER_OP, ntoh);
- }
-
- if (nftnl_mxml_num_parse(tree, "len", MXML_DESCEND_FIRST, BASE_DEC,
- &len, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_BYTEORDER_LEN, len);
-
- if (nftnl_mxml_num_parse(tree, "size", MXML_DESCEND_FIRST, BASE_DEC,
- &size, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_BYTEORDER_SIZE, size);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_byteorder_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -357,6 +315,5 @@ struct expr_ops expr_ops_byteorder = {
.parse = nftnl_expr_byteorder_parse,
.build = nftnl_expr_byteorder_build,
.snprintf = nftnl_expr_byteorder_snprintf,
- .xml_parse = nftnl_expr_byteorder_xml_parse,
.json_parse = nftnl_expr_byteorder_json_parse,
};
diff --git a/src/expr/cmp.c b/src/expr/cmp.c
index a46c15a..e7ed0db 100644
--- a/src/expr/cmp.c
+++ b/src/expr/cmp.c
@@ -209,41 +209,6 @@ static int nftnl_expr_cmp_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int nftnl_expr_cmp_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- struct nftnl_expr_cmp *cmp = nftnl_expr_data(e);
- const char *op;
- int32_t op_value;
- uint32_t sreg;
-
- if (nftnl_mxml_reg_parse(tree, "sreg", &sreg, MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_CMP_SREG, sreg);
-
- op = nftnl_mxml_str_parse(tree, "op", MXML_DESCEND_FIRST, NFTNL_XML_MAND,
- err);
- if (op != NULL) {
- op_value = nftnl_str2cmp(op);
- if (op_value < 0)
- return -1;
-
- nftnl_expr_set_u32(e, NFTNL_EXPR_CMP_OP, op_value);
- }
-
- if (nftnl_mxml_data_reg_parse(tree, "data",
- &cmp->data, NFTNL_XML_MAND,
- err) == DATA_VALUE)
- e->flags |= (1 << NFTNL_EXPR_CMP_DATA);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_cmp_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -320,6 +285,5 @@ struct expr_ops expr_ops_cmp = {
.parse = nftnl_expr_cmp_parse,
.build = nftnl_expr_cmp_build,
.snprintf = nftnl_expr_cmp_snprintf,
- .xml_parse = nftnl_expr_cmp_xml_parse,
.json_parse = nftnl_expr_cmp_json_parse,
};
diff --git a/src/expr/counter.c b/src/expr/counter.c
index 4488afc..21901e8 100644
--- a/src/expr/counter.c
+++ b/src/expr/counter.c
@@ -137,28 +137,6 @@ nftnl_expr_counter_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int
-nftnl_expr_counter_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- uint64_t pkts, bytes;
-
- if (nftnl_mxml_num_parse(tree, "pkts", MXML_DESCEND_FIRST, BASE_DEC,
- &pkts, NFTNL_TYPE_U64, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u64(e, NFTNL_EXPR_CTR_PACKETS, pkts);
-
- if (nftnl_mxml_num_parse(tree, "bytes", MXML_DESCEND_FIRST, BASE_DEC,
- &bytes, NFTNL_TYPE_U64, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u64(e, NFTNL_EXPR_CTR_BYTES, bytes);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_counter_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -223,6 +201,5 @@ struct expr_ops expr_ops_counter = {
.parse = nftnl_expr_counter_parse,
.build = nftnl_expr_counter_build,
.snprintf = nftnl_expr_counter_snprintf,
- .xml_parse = nftnl_expr_counter_xml_parse,
.json_parse = nftnl_expr_counter_json_parse,
};
diff --git a/src/expr/ct.c b/src/expr/ct.c
index 0137891..e680738 100644
--- a/src/expr/ct.c
+++ b/src/expr/ct.c
@@ -263,53 +263,6 @@ err:
}
-static int nftnl_expr_ct_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- const char *key_str, *dir_str;
- int key;
- uint8_t dir;
- uint32_t dreg, sreg;
-
- if (nftnl_mxml_reg_parse(tree, "dreg", &dreg, MXML_DESCEND_FIRST,
- NFTNL_XML_OPT, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_CT_DREG, dreg);
-
- if (nftnl_mxml_reg_parse(tree, "sreg", &sreg, MXML_DESCEND_FIRST,
- NFTNL_XML_OPT, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_CT_SREG, sreg);
-
- key_str = nftnl_mxml_str_parse(tree, "key", MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err);
- if (key_str != NULL) {
- key = str2ctkey(key_str);
- if (key < 0)
- return -1;
-
- nftnl_expr_set_u32(e, NFTNL_EXPR_CT_KEY, key);
- }
- dir_str = nftnl_mxml_str_parse(tree, "dir", MXML_DESCEND_FIRST,
- NFTNL_XML_OPT, err);
- if (dir_str != NULL) {
- if (str2ctdir(dir_str, &dir) != 0) {
- err->node_name = "dir";
- err->error = NFTNL_PARSE_EBADTYPE;
- goto err;
- }
- nftnl_expr_set_u8(e, NFTNL_EXPR_CT_DIR, dir);
- }
-
- return 0;
-err:
- errno = EINVAL;
- return -1;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int
nftnl_expr_ct_export(char *buf, size_t size, const struct nftnl_expr *e,
int type)
@@ -402,6 +355,5 @@ struct expr_ops expr_ops_ct = {
.parse = nftnl_expr_ct_parse,
.build = nftnl_expr_ct_build,
.snprintf = nftnl_expr_ct_snprintf,
- .xml_parse = nftnl_expr_ct_xml_parse,
.json_parse = nftnl_expr_ct_json_parse,
};
diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c
index 395e9f6..0249258 100644
--- a/src/expr/data_reg.c
+++ b/src/expr/data_reg.c
@@ -96,94 +96,6 @@ int nftnl_data_reg_json_parse(union nftnl_data_reg *reg, json_t *data,
}
#endif
-#ifdef XML_PARSING
-static int nftnl_data_reg_verdict_xml_parse(union nftnl_data_reg *reg,
- mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
- int verdict;
- const char *verdict_str;
- const char *chain;
-
- verdict_str = nftnl_mxml_str_parse(tree, "verdict", MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err);
- if (verdict_str == NULL)
- return DATA_NONE;
-
- if (nftnl_str2verdict(verdict_str, &verdict) != 0) {
- err->node_name = "verdict";
- err->error = NFTNL_PARSE_EBADTYPE;
- errno = EINVAL;
- return DATA_NONE;
- }
-
- reg->verdict = (uint32_t)verdict;
-
- chain = nftnl_mxml_str_parse(tree, "chain", MXML_DESCEND_FIRST,
- NFTNL_XML_OPT, err);
- if (chain != NULL) {
- if (reg->chain)
- xfree(reg->chain);
-
- reg->chain = strdup(chain);
- }
-
- return DATA_VERDICT;
-}
-
-static int nftnl_data_reg_value_xml_parse(union nftnl_data_reg *reg,
- mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
- int i;
- char node_name[6];
-
- if (nftnl_mxml_num_parse(tree, "len", MXML_DESCEND_FIRST, BASE_DEC,
- &reg->len, NFTNL_TYPE_U8, NFTNL_XML_MAND, err) != 0)
- return DATA_NONE;
-
- for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) {
- sprintf(node_name, "data%d", i);
-
- if (nftnl_mxml_num_parse(tree, node_name, MXML_DESCEND_FIRST,
- BASE_HEX, &reg->val[i], NFTNL_TYPE_U32,
- NFTNL_XML_MAND, err) != 0)
- return DATA_NONE;
- }
-
- return DATA_VALUE;
-}
-
-int nftnl_data_reg_xml_parse(union nftnl_data_reg *reg, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
- const char *type;
- mxml_node_t *node;
-
- node = mxmlFindElement(tree, tree, "reg", "type", NULL,
- MXML_DESCEND_FIRST);
- if (node == NULL)
- goto err;
-
- type = mxmlElementGetAttr(node, "type");
-
- if (type == NULL)
- goto err;
-
- if (strcmp(type, "value") == 0)
- return nftnl_data_reg_value_xml_parse(reg, node, err);
- else if (strcmp(type, "verdict") == 0)
- return nftnl_data_reg_verdict_xml_parse(reg, node, err);
-
- return DATA_NONE;
-err:
- errno = EINVAL;
- err->node_name = "reg";
- err->error = NFTNL_PARSE_EMISSINGNODE;
- return DATA_NONE;
-}
-#endif
-
static int
nftnl_data_reg_value_snprintf_json(char *buf, size_t size,
const union nftnl_data_reg *reg,
@@ -221,43 +133,6 @@ nftnl_data_reg_value_snprintf_json(char *buf, size_t size,
return offset;
}
-static
-int nftnl_data_reg_value_snprintf_xml(char *buf, size_t size,
- const union nftnl_data_reg *reg,
- uint32_t flags)
-{
- int len = size, offset = 0, ret, i, j;
- uint32_t be;
- uint8_t *tmp;
-
- ret = snprintf(buf, len, "<reg type=\"value\">");
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
-
- ret = snprintf(buf+offset, len, "<len>%u</len>", reg->len);
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
-
- for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) {
- ret = snprintf(buf+offset, len, "<data%d>0x", i);
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
-
- be = htonl(reg->val[i]);
- tmp = (uint8_t *)&be;
-
- for (j = 0; j < sizeof(uint32_t); j++) {
- ret = snprintf(buf+offset, len, "%.02x", tmp[j]);
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- }
-
- ret = snprintf(buf+offset, len, "</data%d>", i);
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- }
-
- ret = snprintf(buf+offset, len, "</reg>");
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
-
- return offset;
-}
-
static int
nftnl_data_reg_value_snprintf_default(char *buf, size_t size,
const union nftnl_data_reg *reg,
@@ -292,29 +167,6 @@ nftnl_data_reg_verdict_snprintf_def(char *buf, size_t size,
}
static int
-nftnl_data_reg_verdict_snprintf_xml(char *buf, size_t size,
- const union nftnl_data_reg *reg,
- uint32_t flags)
-{
- int len = size, offset = 0, ret = 0;
-
- ret = snprintf(buf, size, "<reg type=\"verdict\">"
- "<verdict>%s</verdict>", nftnl_verdict2str(reg->verdict));
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
-
- if (reg->chain != NULL) {
- ret = snprintf(buf+offset, len, "<chain>%s</chain>",
- reg->chain);
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- }
-
- ret = snprintf(buf+offset, len, "</reg>");
- SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
-
- return offset;
-}
-
-static int
nftnl_data_reg_verdict_snprintf_json(char *buf, size_t size,
const union nftnl_data_reg *reg,
uint32_t flags)
@@ -348,12 +200,10 @@ int nftnl_data_reg_snprintf(char *buf, size_t size,
case NFTNL_OUTPUT_DEFAULT:
return nftnl_data_reg_value_snprintf_default(buf, size,
reg, flags);
- case NFTNL_OUTPUT_XML:
- return nftnl_data_reg_value_snprintf_xml(buf, size,
- reg, flags);
case NFTNL_OUTPUT_JSON:
return nftnl_data_reg_value_snprintf_json(buf, size,
reg, flags);
+ case NFTNL_OUTPUT_XML:
default:
break;
}
@@ -363,12 +213,10 @@ int nftnl_data_reg_snprintf(char *buf, size_t size,
case NFTNL_OUTPUT_DEFAULT:
return nftnl_data_reg_verdict_snprintf_def(buf, size,
reg, flags);
- case NFTNL_OUTPUT_XML:
- return nftnl_data_reg_verdict_snprintf_xml(buf, size,
- reg, flags);
case NFTNL_OUTPUT_JSON:
return nftnl_data_reg_verdict_snprintf_json(buf, size,
reg, flags);
+ case NFTNL_OUTPUT_XML:
default:
break;
}
diff --git a/src/expr/dup.c b/src/expr/dup.c
index ac1923c..9aa332b 100644
--- a/src/expr/dup.c
+++ b/src/expr/dup.c
@@ -133,26 +133,6 @@ static int nftnl_expr_dup_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int nftnl_expr_dup_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- uint32_t sreg_addr, sreg_dev;
-
- if (nftnl_mxml_reg_parse(tree, "sreg_addr", &sreg_addr, MXML_DESCEND_FIRST,
- NFTNL_XML_OPT, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_DUP_SREG_ADDR, sreg_addr);
- if (nftnl_mxml_reg_parse(tree, "sreg_dev", &sreg_dev, MXML_DESCEND_FIRST,
- NFTNL_XML_OPT, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_DUP_SREG_DEV, sreg_dev);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_dup_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -227,6 +207,5 @@ struct expr_ops expr_ops_dup = {
.parse = nftnl_expr_dup_parse,
.build = nftnl_expr_dup_build,
.snprintf = nftnl_expr_dup_snprintf,
- .xml_parse = nftnl_expr_dup_xml_parse,
.json_parse = nftnl_expr_dup_json_parse,
};
diff --git a/src/expr/dynset.c b/src/expr/dynset.c
index ea59145..20a5004 100644
--- a/src/expr/dynset.c
+++ b/src/expr/dynset.c
@@ -242,43 +242,6 @@ nftnl_expr_dynset_json_parse(struct nftnl_expr *e, json_t *root,
}
static int
-nftnl_expr_dynset_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- const char *set_name;
- uint32_t uval32;
- uint64_t uval64;
-
- set_name = nftnl_mxml_str_parse(tree, "set", MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err);
- if (set_name != NULL)
- nftnl_expr_set_str(e, NFTNL_EXPR_DYNSET_SET_NAME, set_name);
-
- if (nftnl_mxml_reg_parse(tree, "sreg_key", &uval32, MXML_DESCEND,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_DYNSET_SREG_KEY, uval32);
-
- if (nftnl_mxml_reg_parse(tree, "sreg_data", &uval32, MXML_DESCEND,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_DYNSET_SREG_DATA, uval32);
-
- if (nftnl_mxml_num_parse(tree, "op", MXML_DESCEND_FIRST, BASE_DEC,
- &uval32, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_DYNSET_OP, uval32);
-
- if (nftnl_mxml_num_parse(tree, "timeout", MXML_DESCEND_FIRST, BASE_DEC,
- &uval64, NFTNL_TYPE_U64, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u64(e, NFTNL_EXPR_DYNSET_TIMEOUT, uval64);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
-static int
nftnl_expr_dynset_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -406,6 +369,5 @@ struct expr_ops expr_ops_dynset = {
.parse = nftnl_expr_dynset_parse,
.build = nftnl_expr_dynset_build,
.snprintf = nftnl_expr_dynset_snprintf,
- .xml_parse = nftnl_expr_dynset_xml_parse,
.json_parse = nftnl_expr_dynset_json_parse,
};
diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c
index deb0d7c..b164e3f 100644
--- a/src/expr/exthdr.c
+++ b/src/expr/exthdr.c
@@ -221,45 +221,6 @@ nftnl_expr_exthdr_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int
-nftnl_expr_exthdr_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- const char *exthdr_type;
- int type;
- uint32_t dreg, len, offset;
-
- if (nftnl_mxml_reg_parse(tree, "dreg", &dreg, MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_EXTHDR_DREG, dreg);
-
- exthdr_type = nftnl_mxml_str_parse(tree, "exthdr_type",
- MXML_DESCEND_FIRST, NFTNL_XML_MAND, err);
- if (exthdr_type != NULL) {
- type = str2exthdr_type(exthdr_type);
- if (type < 0)
- return -1;
- nftnl_expr_set_u8(e, NFTNL_EXPR_EXTHDR_TYPE, type);
- }
-
- /* Get and set <offset> */
- if (nftnl_mxml_num_parse(tree, "offset", MXML_DESCEND_FIRST, BASE_DEC,
- &offset, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_EXTHDR_OFFSET, offset);
-
- /* Get and set <len> */
- if (nftnl_mxml_num_parse(tree, "len", MXML_DESCEND_FIRST, BASE_DEC,
- &len, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_EXTHDR_LEN, len);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_exthdr_export(char *buf, size_t len,
const struct nftnl_expr *e, int type)
{
@@ -333,6 +294,5 @@ struct expr_ops expr_ops_exthdr = {
.parse = nftnl_expr_exthdr_parse,
.build = nftnl_expr_exthdr_build,
.snprintf = nftnl_expr_exthdr_snprintf,
- .xml_parse = nftnl_expr_exthdr_xml_parse,
.json_parse = nftnl_expr_exthdr_json_parse,
};
diff --git a/src/expr/fwd.c b/src/expr/fwd.c
index 9c5520c..c30d494 100644
--- a/src/expr/fwd.c
+++ b/src/expr/fwd.c
@@ -116,23 +116,6 @@ static int nftnl_expr_fwd_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int nftnl_expr_fwd_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- uint32_t sreg_dev;
-
- if (nftnl_mxml_reg_parse(tree, "sreg_dev", &sreg_dev, MXML_DESCEND_FIRST,
- NFTNL_XML_OPT, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_FWD_SREG_DEV, sreg_dev);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_fwd_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -198,6 +181,5 @@ struct expr_ops expr_ops_fwd = {
.parse = nftnl_expr_fwd_parse,
.build = nftnl_expr_fwd_build,
.snprintf = nftnl_expr_fwd_snprintf,
- .xml_parse = nftnl_expr_fwd_xml_parse,
.json_parse = nftnl_expr_fwd_json_parse,
};
diff --git a/src/expr/hash.c b/src/expr/hash.c
index 371e766..08f09f5 100644
--- a/src/expr/hash.c
+++ b/src/expr/hash.c
@@ -207,49 +207,6 @@ static int nftnl_expr_hash_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-
-static int nftnl_expr_hash_xml_parse(struct nftnl_expr *e,
- mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- uint32_t sreg, dreg, len, modulus, seed, offset;
-
- if (nftnl_mxml_reg_parse(tree, "sreg", &sreg, MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_HASH_SREG, sreg);
-
- if (nftnl_mxml_reg_parse(tree, "dreg", &dreg, MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_HASH_DREG, dreg);
-
- if (nftnl_mxml_num_parse(tree, "len", MXML_DESCEND_FIRST, BASE_DEC,
- &len, NFTNL_TYPE_U32, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_HASH_LEN, len);
-
- if (nftnl_mxml_num_parse(tree, "modulus", MXML_DESCEND_FIRST, BASE_DEC,
- &modulus, NFTNL_TYPE_U32, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_HASH_MODULUS, modulus);
-
- if (nftnl_mxml_num_parse(tree, "seed", MXML_DESCEND_FIRST, BASE_DEC,
- &seed, NFTNL_TYPE_U32, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_HASH_SEED, seed);
-
- if (nftnl_mxml_num_parse(tree, "offset", MXML_DESCEND_FIRST, BASE_DEC,
- &offset, NFTNL_TYPE_U32, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_HASH_OFFSET, offset);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int
nftnl_expr_hash_snprintf_default(char *buf, size_t size,
const struct nftnl_expr *e)
@@ -338,6 +295,5 @@ struct expr_ops expr_ops_hash = {
.parse = nftnl_expr_hash_parse,
.build = nftnl_expr_hash_build,
.snprintf = nftnl_expr_hash_snprintf,
- .xml_parse = nftnl_expr_hash_xml_parse,
.json_parse = nftnl_expr_hash_json_parse,
};
diff --git a/src/expr/immediate.c b/src/expr/immediate.c
index 2fdae9c..0b188cc 100644
--- a/src/expr/immediate.c
+++ b/src/expr/immediate.c
@@ -210,44 +210,6 @@ nftnl_expr_immediate_json_parse(struct nftnl_expr *e, json_t *root,
}
static int
-nftnl_expr_immediate_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- struct nftnl_expr_immediate *imm = nftnl_expr_data(e);
- int datareg_type;
- uint32_t reg;
-
- if (nftnl_mxml_reg_parse(tree, "dreg", &reg, MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_IMM_DREG, reg);
-
- datareg_type = nftnl_mxml_data_reg_parse(tree, "data",
- &imm->data, NFTNL_XML_MAND, err);
- if (datareg_type >= 0) {
- switch (datareg_type) {
- case DATA_VALUE:
- e->flags |= (1 << NFTNL_EXPR_IMM_DATA);
- break;
- case DATA_VERDICT:
- e->flags |= (1 << NFTNL_EXPR_IMM_VERDICT);
- break;
- case DATA_CHAIN:
- e->flags |= (1 << NFTNL_EXPR_IMM_CHAIN);
- break;
- default:
- return -1;
- }
- }
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
-static int
nftnl_expr_immediate_export(char *buf, size_t size, const struct nftnl_expr *e,
int type)
{
@@ -355,6 +317,5 @@ struct expr_ops expr_ops_immediate = {
.parse = nftnl_expr_immediate_parse,
.build = nftnl_expr_immediate_build,
.snprintf = nftnl_expr_immediate_snprintf,
- .xml_parse = nftnl_expr_immediate_xml_parse,
.json_parse = nftnl_expr_immediate_json_parse,
};
diff --git a/src/expr/limit.c b/src/expr/limit.c
index 9f19d53..856ab18 100644
--- a/src/expr/limit.c
+++ b/src/expr/limit.c
@@ -186,38 +186,6 @@ static int nftnl_expr_limit_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int nftnl_expr_limit_xml_parse(struct nftnl_expr *e,
- mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- uint64_t rate, unit;
- uint32_t burst, type, flags;
-
- if (nftnl_mxml_num_parse(tree, "rate", MXML_DESCEND_FIRST, BASE_DEC,
- &rate, NFTNL_TYPE_U64, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u64(e, NFTNL_EXPR_LIMIT_RATE, rate);
-
- if (nftnl_mxml_num_parse(tree, "unit", MXML_DESCEND_FIRST, BASE_DEC,
- &unit, NFTNL_TYPE_U64, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u64(e, NFTNL_EXPR_LIMIT_UNIT, unit);
- if (nftnl_mxml_num_parse(tree, "burst", MXML_DESCEND_FIRST, BASE_DEC,
- &burst, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_LIMIT_BURST, burst);
- if (nftnl_mxml_num_parse(tree, "type", MXML_DESCEND_FIRST, BASE_DEC,
- &type, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_LIMIT_TYPE, type);
- if (nftnl_mxml_num_parse(tree, "flags", MXML_DESCEND_FIRST, BASE_DEC,
- &flags, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_LIMIT_FLAGS, flags);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static const char *get_unit(uint64_t u)
{
switch (u) {
@@ -318,6 +286,5 @@ struct expr_ops expr_ops_limit = {
.parse = nftnl_expr_limit_parse,
.build = nftnl_expr_limit_build,
.snprintf = nftnl_expr_limit_snprintf,
- .xml_parse = nftnl_expr_limit_xml_parse,
.json_parse = nftnl_expr_limit_json_parse,
};
diff --git a/src/expr/log.c b/src/expr/log.c
index d1e7b8d..57490d9 100644
--- a/src/expr/log.c
+++ b/src/expr/log.c
@@ -224,50 +224,6 @@ static int nftnl_expr_log_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int nftnl_expr_log_xml_parse(struct nftnl_expr *e,
- mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- const char *prefix;
- uint32_t snaplen, level, flags;
- uint16_t group, qthreshold;
-
- prefix = nftnl_mxml_str_parse(tree, "prefix", MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err);
- if (prefix != NULL)
- nftnl_expr_set_str(e, NFTNL_EXPR_LOG_PREFIX, prefix);
-
- if (nftnl_mxml_num_parse(tree, "group", MXML_DESCEND_FIRST, BASE_DEC,
- &group, NFTNL_TYPE_U16, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u16(e, NFTNL_EXPR_LOG_GROUP, group);
-
- if (nftnl_mxml_num_parse(tree, "snaplen", MXML_DESCEND_FIRST, BASE_DEC,
- &snaplen, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_LOG_SNAPLEN, snaplen);
-
- if (nftnl_mxml_num_parse(tree, "qthreshold", MXML_DESCEND_FIRST, BASE_DEC,
- &qthreshold, NFTNL_TYPE_U16, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u16(e, NFTNL_EXPR_LOG_QTHRESHOLD, qthreshold);
-
- if (nftnl_mxml_num_parse(tree, "level", MXML_DESCEND_FIRST, BASE_DEC,
- &level, NFTNL_TYPE_U16, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_LOG_LEVEL, level);
-
- if (nftnl_mxml_num_parse(tree, "flags", MXML_DESCEND_FIRST, BASE_DEC,
- &flags, NFTNL_TYPE_U16, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_LOG_FLAGS, flags);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_log_snprintf_default(char *buf, size_t size,
const struct nftnl_expr *e)
{
@@ -370,6 +326,5 @@ struct expr_ops expr_ops_log = {
.parse = nftnl_expr_log_parse,
.build = nftnl_expr_log_build,
.snprintf = nftnl_expr_log_snprintf,
- .xml_parse = nftnl_expr_log_xml_parse,
.json_parse = nftnl_expr_log_json_parse,
};
diff --git a/src/expr/lookup.c b/src/expr/lookup.c
index 1377c0c..861815f 100644
--- a/src/expr/lookup.c
+++ b/src/expr/lookup.c
@@ -197,39 +197,6 @@ nftnl_expr_lookup_json_parse(struct nftnl_expr *e, json_t *root,
}
static int
-nftnl_expr_lookup_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- const char *set_name;
- uint32_t sreg, dreg, flags;
-
- set_name = nftnl_mxml_str_parse(tree, "set", MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err);
- if (set_name != NULL)
- nftnl_expr_set_str(e, NFTNL_EXPR_LOOKUP_SET, set_name);
-
- if (nftnl_mxml_reg_parse(tree, "sreg", &sreg, MXML_DESCEND, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_LOOKUP_SREG, sreg);
-
- if (nftnl_mxml_reg_parse(tree, "dreg", &dreg, MXML_DESCEND, NFTNL_XML_OPT,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_LOOKUP_DREG, dreg);
-
- if (nftnl_mxml_num_parse(tree, "flags", MXML_DESCEND_FIRST, BASE_DEC,
- &flags, NFTNL_TYPE_U32,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_LOOKUP_FLAGS, flags);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
-static int
nftnl_expr_lookup_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -327,6 +294,5 @@ struct expr_ops expr_ops_lookup = {
.parse = nftnl_expr_lookup_parse,
.build = nftnl_expr_lookup_build,
.snprintf = nftnl_expr_lookup_snprintf,
- .xml_parse = nftnl_expr_lookup_xml_parse,
.json_parse = nftnl_expr_lookup_json_parse,
};
diff --git a/src/expr/masq.c b/src/expr/masq.c
index 77506fe..32b5ad9 100644
--- a/src/expr/masq.c
+++ b/src/expr/masq.c
@@ -155,32 +155,6 @@ nftnl_expr_masq_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int
-nftnl_expr_masq_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- uint32_t flags;
- uint32_t reg_proto_min, reg_proto_max;
-
- if (nftnl_mxml_num_parse(tree, "flags", MXML_DESCEND_FIRST, BASE_DEC,
- &flags, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_MASQ_FLAGS, flags);
- if (nftnl_mxml_reg_parse(tree, "sreg_proto_min", &reg_proto_min,
- MXML_DESCEND, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_MASQ_REG_PROTO_MIN,
- reg_proto_min);
- if (nftnl_mxml_reg_parse(tree, "sreg_proto_max", &reg_proto_max,
- MXML_DESCEND, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_MASQ_REG_PROTO_MAX,
- reg_proto_max);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
static int nftnl_expr_masq_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -255,6 +229,5 @@ struct expr_ops expr_ops_masq = {
.parse = nftnl_expr_masq_parse,
.build = nftnl_expr_masq_build,
.snprintf = nftnl_expr_masq_snprintf,
- .xml_parse = nftnl_expr_masq_xml_parse,
.json_parse = nftnl_expr_masq_json_parse,
};
diff --git a/src/expr/match.c b/src/expr/match.c
index c48518e..dd09e1e 100644
--- a/src/expr/match.c
+++ b/src/expr/match.c
@@ -182,26 +182,6 @@ static int nftnl_expr_match_json_parse(struct nftnl_expr *e, json_t *root,
}
-static int nftnl_expr_match_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- const char *name;
-
- name = nftnl_mxml_str_parse(tree, "name", MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err);
- if (name != NULL)
- nftnl_expr_set_str(e, NFTNL_EXPR_MT_NAME, name);
-
- /* mt->info is ignored until other solution is reached */
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_match_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -270,6 +250,5 @@ struct expr_ops expr_ops_match = {
.parse = nftnl_expr_match_parse,
.build = nftnl_expr_match_build,
.snprintf = nftnl_expr_match_snprintf,
- .xml_parse = nftnl_expr_match_xml_parse,
.json_parse = nftnl_expr_match_json_parse,
};
diff --git a/src/expr/meta.c b/src/expr/meta.c
index 6abf6c4..2c75841 100644
--- a/src/expr/meta.c
+++ b/src/expr/meta.c
@@ -215,38 +215,6 @@ static int nftnl_expr_meta_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-
-static int nftnl_expr_meta_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- const char *key_str;
- int key;
- uint32_t dreg, sreg;
-
- key_str = nftnl_mxml_str_parse(tree, "key", MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err);
- if (key_str != NULL) {
- key = str2meta_key(key_str);
- if (key >= 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_META_KEY, key);
- }
-
- if (nftnl_mxml_reg_parse(tree, "dreg", &dreg, MXML_DESCEND_FIRST,
- NFTNL_XML_OPT, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_META_DREG, dreg);
-
- if (nftnl_mxml_reg_parse(tree, "sreg", &sreg, MXML_DESCEND_FIRST,
- NFTNL_XML_OPT, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_META_SREG, sreg);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int
nftnl_expr_meta_snprintf_default(char *buf, size_t len,
const struct nftnl_expr *e)
@@ -323,6 +291,5 @@ struct expr_ops expr_ops_meta = {
.parse = nftnl_expr_meta_parse,
.build = nftnl_expr_meta_build,
.snprintf = nftnl_expr_meta_snprintf,
- .xml_parse = nftnl_expr_meta_xml_parse,
.json_parse = nftnl_expr_meta_json_parse,
};
diff --git a/src/expr/nat.c b/src/expr/nat.c
index 485a623..29bc3a2 100644
--- a/src/expr/nat.c
+++ b/src/expr/nat.c
@@ -275,60 +275,6 @@ static int nftnl_expr_nat_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int nftnl_expr_nat_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- const char *nat_type;
- uint32_t family, nat_type_value, flags;
- uint32_t reg_addr_min, reg_addr_max;
- uint32_t reg_proto_min, reg_proto_max;
-
- nat_type = nftnl_mxml_str_parse(tree, "nat_type", MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err);
- if (nat_type == NULL)
- return -1;
-
- nat_type_value = nftnl_str2nat(nat_type);
- if (nat_type_value < 0)
- return -1;
- nftnl_expr_set_u32(e, NFTNL_EXPR_NAT_TYPE, nat_type_value);
-
- family = nftnl_mxml_family_parse(tree, "family", MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err);
- if (family < 0) {
- mxmlDelete(tree);
- return -1;
- }
- nftnl_expr_set_u32(e, NFTNL_EXPR_NAT_FAMILY, family);
-
- if (nftnl_mxml_reg_parse(tree, "sreg_addr_min", &reg_addr_min,
- MXML_DESCEND, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_NAT_REG_ADDR_MIN, reg_addr_min);
-
- if (nftnl_mxml_reg_parse(tree, "sreg_addr_max", &reg_addr_max,
- MXML_DESCEND, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_NAT_REG_ADDR_MAX, reg_addr_max);
-
- if (nftnl_mxml_reg_parse(tree, "sreg_proto_min", &reg_proto_min,
- MXML_DESCEND, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_NAT_REG_PROTO_MIN, reg_proto_min);
-
- if (nftnl_mxml_reg_parse(tree, "sreg_proto_max", &reg_proto_max,
- MXML_DESCEND, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_NAT_REG_PROTO_MAX, reg_proto_max);
-
- if (nftnl_mxml_num_parse(tree, "flags", MXML_DESCEND, BASE_DEC, &flags,
- NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_NAT_FLAGS, flags);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_nat_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -438,6 +384,5 @@ struct expr_ops expr_ops_nat = {
.parse = nftnl_expr_nat_parse,
.build = nftnl_expr_nat_build,
.snprintf = nftnl_expr_nat_snprintf,
- .xml_parse = nftnl_expr_nat_xml_parse,
.json_parse = nftnl_expr_nat_json_parse,
};
diff --git a/src/expr/numgen.c b/src/expr/numgen.c
index 8b667c2..f5ca3fd 100644
--- a/src/expr/numgen.c
+++ b/src/expr/numgen.c
@@ -171,40 +171,6 @@ static int nftnl_expr_ng_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-
-static int nftnl_expr_ng_xml_parse(struct nftnl_expr *e,
- mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- uint32_t dreg, modulus, type, offset;
-
- if (nftnl_mxml_reg_parse(tree, "dreg", &dreg, MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_NG_DREG, dreg);
-
- if (nftnl_mxml_num_parse(tree, "modulus", MXML_DESCEND_FIRST, BASE_DEC,
- &modulus, NFTNL_TYPE_U32, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_NG_MODULUS, modulus);
-
- if (nftnl_mxml_num_parse(tree, "type", MXML_DESCEND_FIRST, BASE_DEC,
- &type, NFTNL_TYPE_U32, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_NG_TYPE, type);
-
- if (nftnl_mxml_num_parse(tree, "offset", MXML_DESCEND_FIRST, BASE_DEC,
- &offset, NFTNL_TYPE_U32, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_NG_OFFSET, offset);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int
nftnl_expr_ng_snprintf_default(char *buf, size_t size,
const struct nftnl_expr *e)
@@ -294,6 +260,5 @@ struct expr_ops expr_ops_ng = {
.parse = nftnl_expr_ng_parse,
.build = nftnl_expr_ng_build,
.snprintf = nftnl_expr_ng_snprintf,
- .xml_parse = nftnl_expr_ng_xml_parse,
.json_parse = nftnl_expr_ng_json_parse,
};
diff --git a/src/expr/payload.c b/src/expr/payload.c
index c9ab5d4..17dd4cd 100644
--- a/src/expr/payload.c
+++ b/src/expr/payload.c
@@ -251,45 +251,6 @@ nftnl_expr_payload_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int
-nftnl_expr_payload_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- const char *base_str;
- int32_t base;
- uint32_t dreg, offset, len;
-
- if (nftnl_mxml_reg_parse(tree, "dreg", &dreg, MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_PAYLOAD_DREG, dreg);
-
- base_str = nftnl_mxml_str_parse(tree, "base", MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err);
- if (base_str != NULL) {
- base = nftnl_str2base(base_str);
- if (base < 0)
- return -1;
-
- nftnl_expr_set_u32(e, NFTNL_EXPR_PAYLOAD_BASE, base);
- }
-
- if (nftnl_mxml_num_parse(tree, "offset", MXML_DESCEND_FIRST, BASE_DEC,
- &offset, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_PAYLOAD_OFFSET, offset);
-
-
- if (nftnl_mxml_num_parse(tree, "len", MXML_DESCEND_FIRST, BASE_DEC,
- &len, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_PAYLOAD_LEN, len);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_payload_export(char *buf, size_t size, uint32_t flags,
const struct nftnl_expr *e, int type)
{
@@ -370,6 +331,5 @@ struct expr_ops expr_ops_payload = {
.parse = nftnl_expr_payload_parse,
.build = nftnl_expr_payload_build,
.snprintf = nftnl_expr_payload_snprintf,
- .xml_parse = nftnl_expr_payload_xml_parse,
.json_parse = nftnl_expr_payload_json_parse,
};
diff --git a/src/expr/queue.c b/src/expr/queue.c
index 316a9ed..8a9deda 100644
--- a/src/expr/queue.c
+++ b/src/expr/queue.c
@@ -172,41 +172,6 @@ nftnl_expr_queue_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int
-nftnl_expr_queue_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- uint16_t queue_num, queue_total, flags;
- uint32_t sreg_qnum;
-
- if (nftnl_mxml_num_parse(tree, "num", MXML_DESCEND_FIRST, BASE_DEC,
- &queue_num, NFTNL_TYPE_U16, NFTNL_XML_MAND,
- err) == 0)
- nftnl_expr_set_u16(e, NFTNL_EXPR_QUEUE_NUM, queue_num);
-
- if (nftnl_mxml_num_parse(tree, "total", MXML_DESCEND_FIRST, BASE_DEC,
- &queue_total, NFTNL_TYPE_U16,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u16(e, NFTNL_EXPR_QUEUE_TOTAL, queue_total);
-
- if (nftnl_mxml_num_parse(tree, "flags", MXML_DESCEND_FIRST, BASE_DEC,
- &flags, NFTNL_TYPE_U16,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u16(e, NFTNL_EXPR_QUEUE_FLAGS, flags);
-
- if (nftnl_mxml_num_parse(tree, "sreg_qnum", MXML_DESCEND_FIRST, BASE_DEC,
- &sreg_qnum, NFTNL_TYPE_U32,
- NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_QUEUE_SREG_QNUM, sreg_qnum);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_queue_snprintf_default(char *buf, size_t len,
const struct nftnl_expr *e)
{
@@ -312,6 +277,5 @@ struct expr_ops expr_ops_queue = {
.parse = nftnl_expr_queue_parse,
.build = nftnl_expr_queue_build,
.snprintf = nftnl_expr_queue_snprintf,
- .xml_parse = nftnl_expr_queue_xml_parse,
.json_parse = nftnl_expr_queue_json_parse,
};
diff --git a/src/expr/quota.c b/src/expr/quota.c
index 47db62f..7740b24 100644
--- a/src/expr/quota.c
+++ b/src/expr/quota.c
@@ -136,27 +136,6 @@ nftnl_expr_quota_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int nftnl_expr_quota_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- uint64_t bytes;
- uint32_t flags;
-
- if (nftnl_mxml_num_parse(tree, "bytes", MXML_DESCEND_FIRST, BASE_DEC,
- &bytes, NFTNL_TYPE_U64, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u64(e, NFTNL_EXPR_QUOTA_BYTES, bytes);
- if (nftnl_mxml_num_parse(tree, "flags", MXML_DESCEND_FIRST, BASE_DEC,
- &flags, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_QUOTA_FLAGS, flags);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_quota_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -205,6 +184,5 @@ struct expr_ops expr_ops_quota = {
.parse = nftnl_expr_quota_parse,
.build = nftnl_expr_quota_build,
.snprintf = nftnl_expr_quota_snprintf,
- .xml_parse = nftnl_expr_quota_xml_parse,
.json_parse = nftnl_expr_quota_json_parse,
};
diff --git a/src/expr/redir.c b/src/expr/redir.c
index d9dba00..d5bc179 100644
--- a/src/expr/redir.c
+++ b/src/expr/redir.c
@@ -157,32 +157,6 @@ nftnl_expr_redir_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int
-nftnl_expr_redir_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- uint32_t reg, flags;
-
- if (nftnl_mxml_reg_parse(tree, "sreg_proto_min", &reg,
- MXML_DESCEND, NFTNL_XML_OPT, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_REDIR_REG_PROTO_MIN, reg);
-
- if (nftnl_mxml_reg_parse(tree, "sreg_proto_max", &reg,
- MXML_DESCEND, NFTNL_XML_OPT, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_REDIR_REG_PROTO_MAX, reg);
-
- if (nftnl_mxml_num_parse(tree, "flags", MXML_DESCEND_FIRST, BASE_DEC,
- &flags, NFTNL_TYPE_U32, NFTNL_XML_OPT, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_REDIR_FLAGS, flags);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_redir_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -269,6 +243,5 @@ struct expr_ops expr_ops_redir = {
.parse = nftnl_expr_redir_parse,
.build = nftnl_expr_redir_build,
.snprintf = nftnl_expr_redir_snprintf,
- .xml_parse = nftnl_expr_redir_xml_parse,
.json_parse = nftnl_expr_redir_json_parse,
};
diff --git a/src/expr/reject.c b/src/expr/reject.c
index 2906082..11d8b20 100644
--- a/src/expr/reject.c
+++ b/src/expr/reject.c
@@ -137,29 +137,6 @@ nftnl_expr_reject_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int
-nftnl_expr_reject_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- uint32_t type;
- uint8_t code;
-
- if (nftnl_mxml_num_parse(tree, "type", MXML_DESCEND_FIRST, BASE_DEC,
- &type, NFTNL_TYPE_U32, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u32(e, NFTNL_EXPR_REJECT_TYPE, type);
-
- if (nftnl_mxml_num_parse(tree, "code", MXML_DESCEND_FIRST, BASE_DEC,
- &code, NFTNL_TYPE_U8, NFTNL_XML_MAND, err) == 0)
- nftnl_expr_set_u8(e, NFTNL_EXPR_REJECT_CODE, code);
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_expr_reject_snprintf_default(char *buf, size_t len,
const struct nftnl_expr *e)
{
@@ -224,6 +201,5 @@ struct expr_ops expr_ops_reject = {
.parse = nftnl_expr_reject_parse,
.build = nftnl_expr_reject_build,
.snprintf = nftnl_expr_reject_snprintf,
- .xml_parse = nftnl_expr_reject_xml_parse,
.json_parse = nftnl_expr_reject_json_parse,
};
diff --git a/src/expr/target.c b/src/expr/target.c
index 5a3301c..ed4bf7d 100644
--- a/src/expr/target.c
+++ b/src/expr/target.c
@@ -182,27 +182,6 @@ nftnl_expr_target_json_parse(struct nftnl_expr *e, json_t *root,
#endif
}
-static int
-nftnl_expr_target_xml_parse(struct nftnl_expr *e, mxml_node_t *tree,
- struct nftnl_parse_err *err)
-{
-#ifdef XML_PARSING
- const char *name;
-
- name = nftnl_mxml_str_parse(tree, "name", MXML_DESCEND_FIRST,
- NFTNL_XML_MAND, err);
- if (name != NULL)
- nftnl_expr_set_str(e, NFTNL_EXPR_TG_NAME, name);
-
- /* tg->info is ignored until other solution is reached */
-
- return 0;
-#else
- errno = EOPNOTSUPP;
- return -1;
-#endif
-}
-
static int nftnl_rule_exp_target_export(char *buf, size_t size,
const struct nftnl_expr *e, int type)
{
@@ -271,6 +250,5 @@ struct expr_ops expr_ops_target = {
.parse = nftnl_expr_target_parse,
.build = nftnl_expr_target_build,
.snprintf = nftnl_expr_target_snprintf,
- .xml_parse = nftnl_expr_target_xml_parse,
.json_parse = nftnl_expr_target_json_parse,
};