[Bash-completion-devel] iptables-bash_completion 1.4 - Bash shell programmable completion for ip[6]tables

Ville Skyttä ville.skytta at iki.fi
Sat Feb 6 11:21:51 UTC 2016


On Tue, Feb 2, 2016 at 1:01 PM, AllKind <AllKind at fastest.cc> wrote:
> Good day!
>
> I've written a fairly huge and complex completion for iptables and
> ip6tables. I know there is already a version available in bash completion.
> But this one is way more powerful.

Wow, looks like a lot of work has gone into this.

> Would be nice if you could take a look at it!

Not sure what kind of feedback are you looking for, but here's my
thoughts after a few minutes with it:

Not sure if you're proposing it, but this is way too large and
specific for us to maintain in bash-completion, we have very little
manpower available these days. Have you considered submitting this for
inclusion in upstream iptables?

When completing "iptables <TAB>" or "iptables -<TAB>" as non-root,
there are no completions. Seems that the completion tries to run
"iptables -S OUTPUT 1" but that's not allowed as non-root so
apparently it stops there. I don't think this is good, the completion
included in bash-completion happily completes for example options
starting with a dash as non-root.

When completing "iptables -<TAB>" (as root), the short -A etc options
as opposed to --append are given. I don't think this is very user
friendly; people who need the completions listed are more likely to be
able to work with the long completions than the short ones. This is
the reason we output the long options in bash-completion where
available.

The installation instructions advice to drop the file to
/etc/bash_completion.d. This is the deprecated backwards compatibility
dir, the instructions should be updated for dynamic loading with
bash-completion 2.0 (see "I author/maintain package X..." in
bash-completion's README).



More information about the Bash-completion-devel mailing list