From 12d57b50dfe50353a2a0d6b40dd5ff45530dd5cc Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 3 May 2018 12:31:48 +0200 Subject: src: add set_spec Store location object in handle to improve error reporting. Signed-off-by: Pablo Neira Ayuso --- src/rule.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/rule.c') diff --git a/src/rule.c b/src/rule.c index bbf23a6b..7d18bd08 100644 --- a/src/rule.c +++ b/src/rule.c @@ -32,7 +32,7 @@ void handle_free(struct handle *h) { xfree(h->table.name); xfree(h->chain.name); - xfree(h->set); + xfree(h->set.name); xfree(h->flowtable); } @@ -44,8 +44,8 @@ void handle_merge(struct handle *dst, const struct handle *src) dst->table.name = xstrdup(src->table.name); if (dst->chain.name == NULL && src->chain.name != NULL) dst->chain.name = xstrdup(src->chain.name); - if (dst->set == NULL && src->set != NULL) - dst->set = xstrdup(src->set); + if (dst->set.name == NULL && src->set.name != NULL) + dst->set.name = xstrdup(src->set.name); if (dst->flowtable == NULL && src->flowtable != NULL) dst->flowtable = xstrdup(src->flowtable); if (dst->obj == NULL && src->obj != NULL) @@ -257,7 +257,7 @@ struct set *set_lookup(const struct table *table, const char *name) struct set *set; list_for_each_entry(set, &table->sets, list) { - if (!strcmp(set->handle.set, name)) + if (!strcmp(set->handle.set.name, name)) return set; } return NULL; @@ -322,7 +322,7 @@ static void set_print_declaration(const struct set *set, if (opts->table != NULL) nft_print(octx, " %s", opts->table); - nft_print(octx, " %s {", set->handle.set); + nft_print(octx, " %s {", set->handle.set.name); if (octx->handle > 0) nft_print(octx, " # handle %" PRIu64, set->handle.handle.id); @@ -1100,7 +1100,7 @@ static int do_add_setelems(struct netlink_ctx *ctx, struct cmd *cmd, struct set *set; table = table_lookup(h, ctx->cache); - set = set_lookup(table, h->set); + set = set_lookup(table, h->set.name); if (set->flags & NFT_SET_INTERVAL && set_to_intervals(ctx->msgs, set, init, true, @@ -1212,7 +1212,7 @@ static int do_delete_setelems(struct netlink_ctx *ctx, struct cmd *cmd) struct set *set; table = table_lookup(h, ctx->cache); - set = set_lookup(table, h->set); + set = set_lookup(table, h->set.name); if (set->flags & NFT_SET_INTERVAL && set_to_intervals(ctx->msgs, set, expr, false, @@ -1800,7 +1800,7 @@ static int do_list_set(struct netlink_ctx *ctx, struct cmd *cmd, { struct set *set; - set = set_lookup(table, cmd->handle.set); + set = set_lookup(table, cmd->handle.set.name); if (set == NULL) return -1; @@ -1867,7 +1867,7 @@ static int do_get_setelems(struct netlink_ctx *ctx, struct cmd *cmd, struct expr *init; int err; - set = set_lookup(table, cmd->handle.set); + set = set_lookup(table, cmd->handle.set.name); /* Create a list of elements based of what we got from command line. */ if (set->flags & NFT_SET_INTERVAL) -- cgit v1.2.3