[CentOS] CentOS 6.0: iptables stacktrace with named chains > 28 chars

Wed Sep 28 08:01:05 UTC 2011
Florian CROUZAT <gentoo at floriancrouzat.net>


I'm not sure where to ask this question, you, redhat or netfilter so I'll
ask you guys first, hoping you can redirect me where this post belongs.
I have an issue with my CentOS 6 box with named chains in iptables.
Apparently there is a builtin #define to limit chain names up to 30 chars,
but the test condition fails and iptables crashes with a stacktrace.

# cat /etc/redhat-release
CentOS Linux release 6.0 (Final)

# rpm -qa | fgrep iptables

Use cases prove that you can create chains with names up to =30 chars but
you can only reference <=28 chars named chains.
Trying to reference a 29 or 30 chars named chains will crash iptables.


Use cases with 28,29,30 and 31 chars long named chains:

# iptables -N $(for((i=0;i<28;i++));do printf "%s" "a";done) && echo ok ||
echo ko

# iptables -N $(for((i=0;i<29;i++));do printf "%s" "b";done) && echo ok ||
echo ko

# iptables -N $(for((i=0;i<30;i++));do printf "%s" "c";done) && echo ok ||
echo ko

iptables -N $(for((i=0;i<31;i++));do printf "%s" "d";done) && echo ok ||
echo ko
iptables v1.4.7: chain name `ddddddddddddddddddddddddddddddd' too long (must
be under 30 chars)
Try `iptables -h' or 'iptables --help' for more information.

# iptables -I INPUT -j aaaaaaaaaaaaaaaaaaaaaaaaaaaa && echo ok || echo ko

# iptables -I INPUT -j bbbbbbbbbbbbbbbbbbbbbbbbbbbbb && echo ok || echo ko

# iptables -I INPUT -j cccccccccccccccccccccccccccccc && echo ok || echo ko

I can attach strace output or the stacktrace if required.
Any infos where to report this issue much appreciated.