diff options
author | Jan Engelhardt <jengelh@medozas.de> | 2011-06-07 22:20:13 +0200 |
---|---|---|
committer | Jan Engelhardt <jengelh@medozas.de> | 2011-06-07 22:33:13 +0200 |
commit | 780607f8b040a47cd2d4775376e2d30f567dc049 (patch) | |
tree | 1dc9372b7556774c0164241929b4c4edfbf163f1 /iptables/iptables.c | |
parent | 6a74dc80fcdf48e2b149e92aee08f3445055ea3b (diff) |
option: fix ignored negation before implicit extension loading
`iptables -A INPUT -p tcp ! --syn` forgot the negation, i.e. it
was not present in a subsequent `iptables -S`.
Commit v1.4.11~77^2~9 missed the fact that after autoloading a proto
extension, cs.invert must not be touched until the next getopt call.
This is now fixed by having command_default return a value to indicate
whether to jump or not.
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Diffstat (limited to 'iptables/iptables.c')
-rw-r--r-- | iptables/iptables.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/iptables/iptables.c b/iptables/iptables.c index d9c6436c..4ae75419 100644 --- a/iptables/iptables.c +++ b/iptables/iptables.c @@ -1743,7 +1743,9 @@ int do_command4(int argc, char *argv[], char **table, struct iptc_handle **handl exit_tryhelp(2); default: - command_default(&cs, &iptables_globals); + if (command_default(&cs, &iptables_globals) == 1) + /* cf. ip6tables.c */ + continue; break; } cs.invert = FALSE; |