summaryrefslogtreecommitdiffstats
path: root/src/cmd.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2021-06-29 14:23:10 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2021-06-29 14:39:01 +0200
commitea0e0e08cd69dff9107454ef217bfbc0a18f15f6 (patch)
treefbe3e371beb37d1c77bb10ea86690d09e0173697 /src/cmd.c
parentd70cf33fdce309b81bba623d65aafbc2658e0c9a (diff)
cmd: incorrect table location in error reporting
If the command refers to an inexisting table, then use the table location. ruleset.nft:3:12-12: Error: No such file or directory; did you mean table ‘filter’ in family ip? add rule x x ip saddr @x log prefix "Anti SSH-Bruteforce: " drop ^ before this patch location is not correct: ruleset.nft:3:12-12: Error: No such file or directory; did you mean table ‘filter’ in family ip? add rule x x ip saddr @x log prefix "Anti SSH-Bruteforce: " drop ^ Fixes: 0276c2fee939 ("cmd: check for table mismatch first in error reporting") Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/cmd.c')
-rw-r--r--src/cmd.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/cmd.c b/src/cmd.c
index a69767c5..8d4bf8bc 100644
--- a/src/cmd.c
+++ b/src/cmd.c
@@ -28,12 +28,12 @@ static int nft_cmd_enoent_table(struct netlink_ctx *ctx, const struct cmd *cmd,
}
static int table_fuzzy_check(struct netlink_ctx *ctx, const struct cmd *cmd,
- const struct table *table,
- const struct location *loc)
+ const struct table *table)
{
if (strcmp(cmd->handle.table.name, table->handle.table.name) ||
cmd->handle.family != table->handle.family) {
- netlink_io_error(ctx, loc, "%s; did you mean table ‘%s’ in family %s?",
+ netlink_io_error(ctx, &cmd->handle.table.location,
+ "%s; did you mean table ‘%s’ in family %s?",
strerror(ENOENT), table->handle.table.name,
family2str(table->handle.family));
return 1;
@@ -56,7 +56,7 @@ static int nft_cmd_enoent_chain(struct netlink_ctx *ctx, const struct cmd *cmd,
if (!table)
return 0;
- if (table_fuzzy_check(ctx, cmd, table, loc))
+ if (table_fuzzy_check(ctx, cmd, table))
return 1;
if (!chain)
@@ -85,7 +85,7 @@ static int nft_cmd_enoent_rule(struct netlink_ctx *ctx, const struct cmd *cmd,
if (!table)
return 0;
- if (table_fuzzy_check(ctx, cmd, table, loc))
+ if (table_fuzzy_check(ctx, cmd, table))
return 1;
if (!chain)
@@ -117,7 +117,7 @@ static int nft_cmd_enoent_set(struct netlink_ctx *ctx, const struct cmd *cmd,
if (!table)
return 0;
- if (table_fuzzy_check(ctx, cmd, table, loc))
+ if (table_fuzzy_check(ctx, cmd, table))
return 1;
if (!set)
@@ -146,7 +146,7 @@ static int nft_cmd_enoent_obj(struct netlink_ctx *ctx, const struct cmd *cmd,
if (!table)
return 0;
- if (table_fuzzy_check(ctx, cmd, table, loc))
+ if (table_fuzzy_check(ctx, cmd, table))
return 1;
if (!obj)
@@ -175,7 +175,7 @@ static int nft_cmd_enoent_flowtable(struct netlink_ctx *ctx,
if (!table)
return 0;
- if (table_fuzzy_check(ctx, cmd, table, loc))
+ if (table_fuzzy_check(ctx, cmd, table))
return 1;
if (!ft)