From 4e5d4bff933d77158d9d32b4f87c5842decf670e Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sat, 19 Feb 2011 19:37:53 +0100 Subject: 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 --- extensions/libipt_DNAT.c | 2 +- extensions/libipt_ECN.c | 2 +- extensions/libxt_osf.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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'"); } -- cgit v1.2.3