From: Jan Engelhardt Date: Sat, 19 Feb 2011 18:37:53 +0000 (+0100) Subject: extensions: add missing checks for specific flags X-Git-Tag: v1.4.11~65 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=v1.4.10-75-g4e5d4bf;p=thirdparty%2Fiptables.git extensions: add missing checks for specific flags With "!flags", any option will be accepted. The extensions however want one very specific option to be used (or wrong help text). Commits: DNAT: v1.3.8~23, osf: v1.4.6~3 Signed-off-by: Jan Engelhardt --- diff --git a/extensions/libipt_DNAT.c b/extensions/libipt_DNAT.c index 34d3777a..49c74e10 100644 --- a/extensions/libipt_DNAT.c +++ b/extensions/libipt_DNAT.c @@ -190,7 +190,7 @@ static int DNAT_parse(int c, char **argv, int invert, unsigned int *flags, static void DNAT_check(unsigned int flags) { - if (!flags) + if (!(flags & IPT_DNAT_OPT_DEST)) xtables_error(PARAMETER_PROBLEM, "You must specify --to-destination"); } diff --git a/extensions/libipt_ECN.c b/extensions/libipt_ECN.c index 6bfc1b3e..e1f29b6a 100644 --- a/extensions/libipt_ECN.c +++ b/extensions/libipt_ECN.c @@ -97,7 +97,7 @@ static void ECN_check(unsigned int flags) { if (!flags) xtables_error(PARAMETER_PROBLEM, - "ECN target: Parameter --ecn-tcp-remove is required"); + "ECN target: An operation is required"); } static void ECN_print(const void *ip, const struct xt_entry_target *target, diff --git a/extensions/libxt_osf.c b/extensions/libxt_osf.c index a97884b9..20acfeab 100644 --- a/extensions/libxt_osf.c +++ b/extensions/libxt_osf.c @@ -114,7 +114,7 @@ static int osf_parse(int c, char **argv, int invert, unsigned int *flags, static void osf_final_check(unsigned int flags) { - if (!flags) + if (!(flags & XT_OSF_GENRE)) xtables_error(PARAMETER_PROBLEM, "OS fingerprint match: You must specify `--genre'"); }