summaryrefslogtreecommitdiffstats
path: root/src/expr/dynset.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2018-10-24 19:18:50 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2018-10-24 19:26:34 +0200
commit6dc1c3d8bb64077da7f3f28c7368fb087d10a492 (patch)
tree880fe8bacaaf4b72035a9c430f86e6e5a15ba9bf /src/expr/dynset.c
parentdc240913458d591f59b52b3899d3fc3c5d6ec6ce (diff)
src: remove nftnl_rule_cmp() and nftnl_expr_cmp()
These functions are not very useful, rule comparison from this layer does not work well with implicit set definitions. This infrastructure was added as an attempt to support for deletion by name from this layer, which should be done from higher level libnftables library. Finally, we never had a client for this code in git.netfilter.org. Let's remove it and bump libversion for safety reasons. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/expr/dynset.c')
-rw-r--r--src/expr/dynset.c26
1 files changed, 0 insertions, 26 deletions
diff --git a/src/expr/dynset.c b/src/expr/dynset.c
index f009ec4..68115ba 100644
--- a/src/expr/dynset.c
+++ b/src/expr/dynset.c
@@ -279,37 +279,11 @@ static void nftnl_expr_dynset_free(const struct nftnl_expr *e)
xfree(dynset->set_name);
}
-static bool nftnl_expr_dynset_cmp(const struct nftnl_expr *e1,
- const struct nftnl_expr *e2)
-{
- struct nftnl_expr_dynset *d1 = nftnl_expr_data(e1);
- struct nftnl_expr_dynset *d2 = nftnl_expr_data(e2);
- bool eq = true;
-
- if (e1->flags & (1 << NFTNL_EXPR_DYNSET_SREG_KEY))
- eq &= (d1->sreg_key == d2->sreg_key);
- if (e1->flags & (1 << NFTNL_EXPR_DYNSET_SREG_DATA))
- eq &= (d1->sreg_data == d2->sreg_data);
- if (e1->flags & (1 << NFTNL_EXPR_DYNSET_OP))
- eq &= (d1->op == d2->op);
- if (e1->flags & (1 << NFTNL_EXPR_DYNSET_TIMEOUT))
- eq &= (d1->timeout == d2->timeout);
- if (e1->flags & (1 << NFTNL_EXPR_DYNSET_EXPR))
- eq &= nftnl_expr_cmp(d1->expr, d2->expr);
- if (e1->flags & (1 << NFTNL_EXPR_DYNSET_SET_NAME))
- eq &= !strcmp(d1->set_name, d2->set_name);
- if (e1->flags & (1 << NFTNL_EXPR_DYNSET_SET_ID))
- eq &= (d1->set_id == d2->set_id);
-
- return eq;
-}
-
struct expr_ops expr_ops_dynset = {
.name = "dynset",
.alloc_len = sizeof(struct nftnl_expr_dynset),
.max_attr = NFTA_DYNSET_MAX,
.free = nftnl_expr_dynset_free,
- .cmp = nftnl_expr_dynset_cmp,
.set = nftnl_expr_dynset_set,
.get = nftnl_expr_dynset_get,
.parse = nftnl_expr_dynset_parse,