]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
extensions: add missing checks for specific flags
authorJan Engelhardt <jengelh@medozas.de>
Sat, 19 Feb 2011 18:37:53 +0000 (19:37 +0100)
committerJan Engelhardt <jengelh@medozas.de>
Sat, 19 Feb 2011 18:54:51 +0000 (19:54 +0100)
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 <jengelh@medozas.de>
extensions/libipt_DNAT.c
extensions/libipt_ECN.c
extensions/libxt_osf.c

index 34d3777a2733f4ada3ae39dfe0d6a5c79d5f443a..49c74e103ef6a742d166bb7407e93ea23f4e47f4 100644 (file)
@@ -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");
 }
index 6bfc1b3e39f9d31dbe22b066f9698d5a7ce36384..e1f29b6a485d5e4b8e71102e1e5395516b13315a 100644 (file)
@@ -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,
index a97884b94ea497489bc57d687b121f88b376e56b..20acfeabf3cd882ee3e92bec2758baec9f62a861 100644 (file)
@@ -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'");
 }