]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
evaluate: suggest != in negation error message
authorFlorian Westphal <fw@strlen.de>
Fri, 13 Oct 2023 10:37:21 +0000 (12:37 +0200)
committerFlorian Westphal <fw@strlen.de>
Fri, 13 Oct 2023 11:19:37 +0000 (13:19 +0200)
  when I run sudo nft insert rule filter FORWARD iifname "ens2f1" ip saddr not @ip_macs counter drop comment \" BLOCK ALL NON REGISTERED IP/MACS \"
  I get: Error: negation can only be used with singleton bitmask values

And even I did not spot the problem immediately.
I don't think "not" should have been added, its easily confused with
"not equal"/"neq"/!= and hides that this is allegedly a binop.

At least *mention* that the commandline is asking for a binary
operation here and suggest "!=".

Signed-off-by: Florian Westphal <fw@strlen.de>
src/evaluate.c

index c699a9bc7b86f7f532e9232af3293d700d971116..b7ae9113b5a846e44545d37770a8663c30274243 100644 (file)
@@ -2480,7 +2480,7 @@ static int expr_evaluate_relational(struct eval_ctx *ctx, struct expr **expr)
                            right->dtype->basetype == NULL ||
                            right->dtype->basetype->type != TYPE_BITMASK)
                                return expr_binary_error(ctx->msgs, left, right,
-                                                        "negation can only be used with singleton bitmask values");
+                                                        "negation can only be used with singleton bitmask values.  Did you mean \"!=\"?");
                }
 
                switch (right->etype) {