netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [iptables PATCH 0/3] xshared: Review option parsing
@ 2023-11-24 11:13 Phil Sutter
  2023-11-24 11:13 ` [iptables PATCH 1/3] xshared: Introduce xt_cmd_parse_ops::option_name Phil Sutter
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Phil Sutter @ 2023-11-24 11:13 UTC (permalink / raw)
  To: netfilter-devel

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-11-29  1:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-24 11:13 [iptables PATCH 0/3] xshared: Review option parsing Phil Sutter
2023-11-24 11:13 ` [iptables PATCH 1/3] xshared: Introduce xt_cmd_parse_ops::option_name Phil Sutter
2023-11-24 11:13 ` [iptables PATCH 2/3] xshared: Introduce xt_cmd_parse_ops::option_invert Phil Sutter
2023-11-24 11:13 ` [iptables PATCH 3/3] xshared: Simplify generic_opt_check() Phil Sutter
2023-11-29  1:21 ` [iptables PATCH 0/3] xshared: Review option parsing Phil Sutter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).