]> git.ipfire.org Git - thirdparty/iptables.git/commit
Combine parse_target() and command_jump() implementations
authorPhil Sutter <phil@nwl.cc>
Mon, 24 Sep 2018 17:25:24 +0000 (19:25 +0200)
committerFlorian Westphal <fw@strlen.de>
Tue, 25 Sep 2018 14:26:28 +0000 (16:26 +0200)
commit9f075031a1973fc967cd90de96dc2e87696a2181
tree74552de05b1cffb6989af70ac46b141385e6a62b
parent7373297262eef6754570a5cb05c18332c801370f
Combine parse_target() and command_jump() implementations

Merge these two functions from xtables, iptables, ip6tables and
arptables. Both functions were basically identical in the first three,
only the last one required a bit more attention.

To eliminate access to 'invflags' in variant-specific location, move the
call to set_option() into callers. This is actually consistent with
parsing of other options in them.

As with command_match(), use xt_params instead of the different
*_globals objects to refer to 'opts' and 'orig_opts'.

It was necessary to rename parse_target() as it otherwise clashes with a
static function of same name in libxt_SET.

In arptables, the maximum allowed target name is a bit larger, so
introduce xtables_globals.target_maxnamelen defining the value. It is
used in the shared xt_parse_target() implementation.

Implementation of command_jump() in arptables diverted from the others
for no obvious reason. The call to parse_target() was done outside of it
and a pointer to cs->arp was passed but not used inside.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Florian Westphal <fw@strlen.de>
include/xtables.h
iptables/ip6tables.c
iptables/iptables.c
iptables/xshared.c
iptables/xshared.h
iptables/xtables-arp.c
iptables/xtables.c