Makefile for man pages of xtables extensions
PATCH 1/1 Makefile for man pages of xtables extensions
Hello,
I made this patch to include all available matches and targets to iptables.8 and ip6tables.8 man pages. The source file is lixt_*.c but the man page is libipt_*.man or libip6t.man as expected.
If there are additional matches and targets (extra, as in POM), the variable named "extra" is used which was unescaped.
But I found that in the generated man pages of the svn version of modules the title is
... (not supported, see Patch-O-Matic)
for instance helper, length, limit etc. Is it intended?
Regards,
Laszlo Attila Toth
extensions/Makefile +9 -4
@@ -29,6 +29,11 @@ PF6_EXT_MAN_ALL_MATCHES:=$(foreach T,$(PF6_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_match6 extensions/libip6t_$(T).c && echo $(T))) PF6_EXT_MAN_ALL_TARGETS:=$(foreach T,$(PF6_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_target6 extensions/libip6t_$(T).c && echo $(T))) +PF_EXT_MAN_ALL_MATCHES+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q register_match extensions/libxt_$(T).c && echo $(T))) +PF_EXT_MAN_ALL_TARGETS+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q register_target extensions/libxt_$(T).c && echo $(T))) +PF6_EXT_MAN_ALL_MATCHES+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_match6 extensions/libxt_$(T).c && echo $(T))) +PF6_EXT_MAN_ALL_TARGETS+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_target6 extensions/libxt_$(T).c && echo $(T))) + PF_EXT_MAN_MATCHES:=$(filter $(PF_EXT_ALL_SLIB), $(PF_EXT_MAN_ALL_MATCHES)) PF_EXT_MAN_TARGETS:=$(filter $(PF_EXT_ALL_SLIB), $(PF_EXT_MAN_ALL_TARGETS)) PF_EXT_MAN_EXTRA_MATCHES:=$(filter-out $(PF_EXT_MAN_MATCHES), $(PF_EXT_MAN_ALL_MATCHES))
@@ -141,7 +146,7 @@ cat extensions/libipt_$$ext.man ;\ done >extensions/libipt_targets.man @if [ -n "$(PF_EXT_MAN_EXTRA_TARGETS)" ]; then \ - extra=$(PF_EXT_MAN_EXTRA_TARGETS) ;\ + extra="$(PF_EXT_MAN_EXTRA_TARGETS)" ;\ for ext in $${extra:-""}; do \ echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\ cat extensions/libipt_$$ext.man ;\
@@ -155,7 +160,7 @@ cat extensions/libipt_$$ext.man ;\ done >extensions/libipt_matches.man @if [ -n "$(PF_EXT_MAN_EXTRA_MATCHES)" ]; then \ - extra=$(PF_EXT_MAN_EXTRA_MATCHES) ;\ + extra="$(PF_EXT_MAN_EXTRA_MATCHES)" ;\ for ext in $${extra:-""}; do \ echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\ cat extensions/libipt_$$ext.man ;\
@@ -169,7 +174,7 @@ cat extensions/libip6t_$$ext.man ;\ done >extensions/libip6t_targets.man @if [ -n "$(PF6_EXT_MAN_EXTRA_TARGETS)" ]; then \ - extra=$(PF6_EXT_MAN_EXTRA_TARGETS) ;\ + extra="$(PF6_EXT_MAN_EXTRA_TARGETS)" ;\ for ext in $${extra:-""}; do \ echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\ cat extensions/libip6t_$$ext.man ;\
@@ -183,7 +188,7 @@ cat extensions/libip6t_$$ext.man ;\ done >extensions/libip6t_matches.man @if [ -n "$(PF6_EXT_MAN_EXTRA_MATCHES)" ]; then \ - extra=$(PF6_EXT_MAN_EXTRA_MATCHES) ;\ + extra="$(PF6_EXT_MAN_EXTRA_MATCHES)" ;\ for ext in $${extra:-""}; do \ echo ".SS $$ext (not supported, see Patch-O-Matic)" ;\ cat extensions/libip6t_$$ext.man ;\
Quoted 5 lines · Laszlo Attila Toth
Hello,
I made this patch to include all available matches and targets to iptables.8 and ip6tables.8 man pages. The source file is lixt_*.c but the man page is libipt_*.man or libip6t.man as expected.
Thanks for taking care of this. Mid term we should probably also move to a single source file for the xtables manpages, they *should* be identical anyways.
Quoted 4 lines
But I found that in the generated man pages of the svn version of modules the title is
... (not supported, see Patch-O-Matic)
for instance helper, length, limit etc. Is it intended?
No, matches and targets available in the kernel should not be marked as not supported. Care to send another patch to fix this?
extensions/Makefile line 35
Quoted 10 lines
extensions/Makefile +4
-0@@ -29,6 +29,11 @@ PF6_EXT_MAN_ALL_MATCHES:=$(foreach T,$(PF6_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_match6 extensions/libip6t_$(T).c && echo $(T))) PF6_EXT_MAN_ALL_TARGETS:=$(foreach T,$(PF6_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_target6 extensions/libip6t_$(T).c && echo $(T))) +PF_EXT_MAN_ALL_MATCHES+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q register_match extensions/libxt_$(T).c && echo $(T))) +PF_EXT_MAN_ALL_TARGETS+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libipt_$(T).man && grep -q register_target extensions/libxt_$(T).c && echo $(T))) +PF6_EXT_MAN_ALL_MATCHES+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_match6 extensions/libxt_$(T).c && echo $(T))) +PF6_EXT_MAN_ALL_TARGETS+=$(foreach T,$(PFX_EXT_ALL_SLIB),$(shell test -f extensions/libip6t_$(T).man && grep -q register_target6 extensions/libxt_$(T).c && echo $(T)))
This doesn't work for IPv6 extensions. We use xtables_register_match for both IPv4 and IPv6. I've changed this in your patch and applied it. Thanks again.
Re: [PATCH] Makefile for man pages of xtables extensions + connrate
Patrick McHardy írta:
Quoted 10 lines
Quoted 4 lines · Laszlo Attila Toth
But I found that in the generated man pages of the svn version of modules the title is
... (not supported, see Patch-O-Matic)
for instance helper, length, limit etc. Is it intended?No, matches and targets available in the kernel should not be marked as not supported. Care to send another patch to fix this?
I made a new patch for connrate: it was not optional (not tested) and wasn't in the Makefile's PF_EXT_SLIB: line. It is not in the kernel version 2.6.23-rc3 (linus.git)
I made the following changes in extensions/Makefile:
* no extra target/match by default :)
* man page of fix modules (PF_EXT_SLIB etc.) plus optional (...SLIB_OPTS) modules generated, but not all.
* because of the previous one I had to rename PF_EXT_SE_SLIB to PF_EXT_SELINUX_SLIB etc. as a non-optional variable, original PF_EXT_SE_SLIB gets the value of PF_EXT_SELINUX_SLIB if DO_SELINUX is set to 1.
Regards,
Attila
extensions/.connrate-test new file +3 -0
@@ -0,0 +1,3 @@ +#!/bin/bash + +[[ -e "$KERNEL_DIR/linux/netfilter_ipv4/ipt_connrate.h" ]] && echo connrate
extensions/Makefile +42 -10
76 lines not on this page · raw message
Patrick McHardy
AppliedRe: [PATCH] Makefile for man pages of xtables extensions + connrate
Quoted 3 lines · Laszlo Attila Toth
I made a new patch for connrate: it was not optional (not tested) and wasn't in the Makefile's
PF_EXT_SLIB: line. It is not in the kernel version 2.6.23-rc3 (linus.git)
I missed connrate when removing the other unsupported extensions, I removed it now.
Quoted 9 lines
I made the following changes in extensions/Makefile:
* no extra target/match by default :)
* man page of fix modules (PF_EXT_SLIBetc.) plus optional (...SLIB_OPTS) modules generated, but not all.
* because of the previous one I had to renamePF_EXT_SE_SLIBtoPF_EXT_SELINUX_SLIBetc. as a non-optional variable, originalPF_EXT_SE_SLIBgets the value ofPF_EXT_SELINUX_SLIBifDO_SELINUXis set to 1.
Applied, thanks Attila.