Skip to contentSkip to conversation

Makefile for man pages of xtables extensions

PATCH Applied Laszlo Attila Toth 2 participants 4 messages Sep 3, 2007 – Sep 6, 2007 netfilter

lore
Share & tools
lore
#0 lore raw

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 ;\
#1 lore raw
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.

#2 lore raw

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

#3 lore raw

Re: [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_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.

Applied, thanks Attila.