+++ This bug was initially created as a clone of Bug #244047 +++
Description of problem:
This is the RHEL-4 version of the same problem listed in BZ 165145: namely, when
you do the following:
# ip6tables -A INPUT -m ipv6header --header route -j DROP
Couldn't load match `ipv6header':/lib/iptables/libip6t_ipv6header.so: cannot
open shared object file: No such file or directory
I tracked this down into the iptables package proper. If you look in
iptables/extensions/Makefile, there is a test near the beginning called
"PF6_EXT_SLIB_OPTS". What it does is run through all of the .*-test6 files,
running each of them, and adding them to the "PF6_EXT_SLIB_OPTS" list if they
print out their own name. In the case of .ipv6header-test6, it looks to see if
both the ip6t_ipv6header.h *and* ip6t_ipv6header.c files are present in
/usr/include/linux, which is obviously not the case, so the match fails. So the
kernel has ipv6header built-in, but the test is failing so the requisite
ipv6tables .so is not being built.
The second part of the problem is that the part that builds the man pages
completely ignores what was found, and just builds the man page for *all*
possible modules, regardless of they were built or not.
So my recommendation here is:
1) Fix upstream so that only the parts of iptables/ip6tables that are built are
included in the man page. This should be a fairly simple Makefile fix.
2) Fix the tests in the extensions/ directory to only look for the header file.
Besides the ipv6header module, there are/may be some other modules that are not
being built into the iptables package despite having proper kernel support built in.
This request was evaluated by Red Hat Product Management for
inclusion, but this component is not scheduled to be updated in
the current Red Hat Enterprise Linux release. If you would like
this request to be reviewed for the next minor release, ask your
support representative to set the next rhel-x.y flag to "?".