diff options
author | Phil Oester <kernel@linuxace.com> | 2004-09-21 10:43:45 +0000 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2004-09-21 10:43:45 +0000 |
commit | 35160ee618b7015f7dd9da0cf199a518e3b8b70e (patch) | |
tree | 75a2dc336d305c6bd2928fa23cf15c40cd7e7671 /extensions/libipt_limit.c | |
parent | 514b1b488eaf07d66e209681f4f34246d7db2f60 (diff) |
limit match does not support invert, warn about it. Closes bugzilla #95 (Phil Oester)
Diffstat (limited to 'extensions/libipt_limit.c')
-rw-r--r-- | extensions/libipt_limit.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/extensions/libipt_limit.c b/extensions/libipt_limit.c index 4d52040c..2b155806 100644 --- a/extensions/libipt_limit.c +++ b/extensions/libipt_limit.c @@ -104,19 +104,14 @@ parse(int c, char **argv, int invert, unsigned int *flags, switch(c) { case '%': - if (check_inverse(optarg, &invert, NULL, 0)) - exit_error(PARAMETER_PROBLEM, - "Unexpected `!' after --limit"); + if (check_inverse(argv[optind-1], &invert, &optind, 0)) break; if (!parse_rate(optarg, &r->avg)) exit_error(PARAMETER_PROBLEM, "bad rate `%s'", optarg); break; case '$': - if (check_inverse(optarg, &invert, NULL, 0)) - exit_error(PARAMETER_PROBLEM, - "Unexpected `!' after --limit-burst"); - + if (check_inverse(argv[optind-1], &invert, &optind, 0)) break; if (string_to_number(optarg, 0, 10000, &num) == -1) exit_error(PARAMETER_PROBLEM, "bad --limit-burst `%s'", optarg); @@ -127,6 +122,10 @@ parse(int c, char **argv, int invert, unsigned int *flags, return 0; } + if (invert) + exit_error(PARAMETER_PROBLEM, + "limit does not support invert"); + return 1; } |