[iptables PATCH 0/3] xshared: Review option parsing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Faced with the need to extend optflags, inverse_for_options and
commands_v_options arrays in order to integrate ebtables-specific
options, I chose to get rid of them all instead.

Patch 1 replaces opt2char() function which didn't work well since not
every option has printable short-option character. The callback-based
replacement returns the long-option and should make error messages more
readable this way.

Patch 2 elminates the inverse_for_options array along with the loop
turning a given option into its bit's position for use in the array. The
switch statement in the replacing callback is much easier to maintain
and extend.

Patch 3 makes use of the fact that no command has a mandatory option
anymore. So every combination is either allowed or not, and a single bit
may indicate that.

Phil Sutter (3):
  xshared: Introduce xt_cmd_parse_ops::option_name
  xshared: Introduce xt_cmd_parse_ops::option_invert
  xshared: Simplify generic_opt_check()

 iptables/ip6tables.c |   2 +
 iptables/iptables.c  |   2 +
 iptables/nft-arp.c   |  32 ++++++
 iptables/nft-ipv4.c  |   2 +
 iptables/nft-ipv6.c  |   2 +
 iptables/xshared.c   | 249 ++++++++++++++++++++-----------------------
 iptables/xshared.h   |   6 ++
 7 files changed, 159 insertions(+), 136 deletions(-)

-- 
2.41.0





[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux