2 # Copyright (C) 2009-2013 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
9 include $(INCLUDE_DIR
)/kernel.mk
11 PKG_NAME
:=xtables-addons
12 ifeq ($(strip $(call CompareKernelPatchVer
,$(KERNEL_PATCHVER
),ge
,3.7.0)),1)
15 PKG_MD5SUM
:=7d942729c365a549513511061f74c3e3
19 PKG_MD5SUM
:=802d2f556a5e545f44e4b69937bf8490
20 PATCH_DIR
:=.
/patches-1.x
23 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.xz
24 PKG_SOURCE_URL
:=@SF
/xtables-addons
25 PKG_BUILD_DEPENDS
:=iptables
29 PKG_MAINTAINER
:=Jo-Philipp Wich
<jow@openwrt.org
>
33 include $(INCLUDE_DIR
)/package.mk
35 define Package
/xtables-addons
39 TITLE
:=Extensions not distributed in the main Xtables
40 URL
:=http
://xtables-addons.sourceforge.net
/
46 --with-kbuild
="$(LINUX_DIR)" \
47 --with-xtables
="$(STAGING_DIR)/usr" \
48 --with-xtlibdir
="/usr/lib/iptables" \
51 +$(MAKE
) $(PKG_JOBS
) -C
$(PKG_BUILD_DIR
) \
52 ARCH
="$(LINUX_KARCH)" \
53 CROSS_COMPILE
="$(TARGET_CROSS)" \
54 DESTDIR
="$(PKG_INSTALL_DIR)" \
60 $(MAKE
) -C
$(PKG_BUILD_DIR
) \
61 ARCH
="$(LINUX_KARCH)" \
62 CROSS_COMPILE
="$(TARGET_CROSS)" \
63 DESTDIR
="$(PKG_INSTALL_DIR)" \
68 # 1: extension/module suffix used in package name
69 # 2: extension/module display name used in package title/description
70 # 3: list of extensions to package
71 # 4: list of modules to package
72 # 5: module load priority
77 define Package
/iptables-mod-
$(1)
78 $$(call Package
/xtables-addons
)
80 TITLE
:=$(2) iptables extension
81 DEPENDS
:=iptables
$(if
$(4),+kmod-ipt-
$(1))
84 define Package
/iptables-mod-
$(1)/install
85 $(INSTALL_DIR
) $$(1)/usr
/lib
/iptables
88 $(PKG_INSTALL_DIR
)/usr
/lib
/iptables
/lib
$$$$$$$${m}.so \
89 $$(1)/usr
/lib
/iptables
/ ; \
93 $$(eval
$$(call BuildPackage
,iptables-mod-
$(1)))
97 define KernelPackage
/ipt-
$(1)
98 SUBMENU
:=Netfilter Extensions
99 TITLE
:=$(2) netfilter module
100 DEPENDS
:=kmod-ipt-core
$(6)
102 FILES
:=$(foreach mod
,$(4),$(PKG_BUILD_DIR
)/extensions
/$(mod
).
$(LINUX_KMOD_SUFFIX
))
103 AUTOLOAD
:=$(call AutoLoad
,$(5),$(notdir $(4)))
106 $$(eval
$$(call KernelPackage
,ipt-
$(1)))
112 define Package
/iptaccount
113 $(call Package
/xtables-addons
)
115 TITLE
:=iptables-mod-account control utility
116 DEPENDS
:=iptables
+iptables-mod-account
119 define Package
/iptaccount
/install
120 $(INSTALL_DIR
) $(1)/usr
/lib
121 $(INSTALL_DIR
) $(1)/usr
/sbin
123 $(PKG_INSTALL_DIR
)/usr
/lib
/libxt_ACCOUNT_cl.so
* \
126 $(PKG_INSTALL_DIR
)/usr
/sbin
/iptaccount \
131 #$(eval $(call BuildTemplate,SUFFIX,DESCRIPTION,EXTENSION,MODULE,PRIORITY,DEPENDS))
133 $(eval
$(call BuildTemplate
,compat-xtables
,API compatibilty layer
,,compat_xtables
,45,,CONFIG_NF_CONNTRACK_MARK
=y
))
134 $(eval
$(call BuildTemplate
,rawpost
,RAWPOST
,,iptable_rawpost
$(if
$(CONFIG_IPV6
),ip6table_rawpost
),50,+kmod-ipt-compat-xtables
+IPV6
:kmod-ip6tables
))
135 $(eval
$(call BuildTemplate
,nathelper-rtsp
,RTSP Conntrack and NAT
,,rtsp
/nf_conntrack_rtsp rtsp
/nf_nat_rtsp
,46,+kmod-ipt-conntrack-extra
+kmod-ipt-nat
))
137 $(eval
$(call BuildTemplate
,account
,ACCOUNT
,xt_ACCOUNT
,ACCOUNT
/xt_ACCOUNT
,46,+kmod-ipt-compat-xtables
))
138 $(eval
$(call BuildTemplate
,chaos
,CHAOS
,xt_CHAOS
,xt_CHAOS
,47,+kmod-ipt-compat-xtables
+kmod-ipt-delude
+kmod-ipt-tarpit
))
139 $(eval
$(call BuildTemplate
,condition
,Condition
,xt_condition
,xt_condition
,46,))
140 $(eval
$(call BuildTemplate
,delude
,DELUDE
,xt_DELUDE
,xt_DELUDE
,46,+kmod-ipt-compat-xtables
))
141 $(eval
$(call BuildTemplate
,dhcpmac
,DHCPMAC
,xt_DHCPMAC
,xt_DHCPMAC
,46,+kmod-ipt-compat-xtables
))
142 $(eval
$(call BuildTemplate
,dnetmap
,DNETMAP
,xt_DNETMAP
,xt_DNETMAP
,46,+kmod-ipt-compat-xtables
+kmod-ipt-nat
))
143 $(eval
$(call BuildTemplate
,fuzzy
,fuzzy
,xt_fuzzy
,xt_fuzzy
,46,))
144 $(eval
$(call BuildTemplate
,geoip
,geoip
,xt_geoip
,xt_geoip
,46,))
145 $(eval
$(call BuildTemplate
,iface
,iface
,xt_iface
,xt_iface
,46,))
146 $(eval
$(call BuildTemplate
,ipmark
,IPMARK
,xt_IPMARK
,xt_IPMARK
,46,+kmod-ipt-compat-xtables
))
147 $(eval
$(call BuildTemplate
,ipp2p
,IPP2P
,xt_ipp2p
,xt_ipp2p
,46,+kmod-ipt-compat-xtables
))
148 $(eval
$(call BuildTemplate
,ipv4options
,ipv4options
,xt_ipv4options
,xt_ipv4options
,46,))
149 $(eval
$(call BuildTemplate
,length2
,length2
,xt_length2
,xt_length2
,46,))
150 $(eval
$(call BuildTemplate
,logmark
,LOGMARK
,xt_LOGMARK
,xt_LOGMARK
,46,+kmod-ipt-compat-xtables
))
151 $(eval
$(call BuildTemplate
,lscan
,lscan
,xt_lscan
,xt_lscan
,46,))
152 $(eval
$(call BuildTemplate
,lua
,Lua PacketScript
,xt_LUA
,LUA
/xt_LUA
,46,+kmod-ipt-conntrack-extra
))
153 $(eval
$(call BuildTemplate
,psd
,psd
,xt_psd
,xt_psd
,46,))
154 $(eval
$(call BuildTemplate
,quota2
,quota2
,xt_quota2
,xt_quota2
,46,))
155 $(eval
$(call BuildTemplate
,rawnat
,RAWNAT
,xt_RAWDNAT xt_RAWSNAT
,xt_RAWNAT
,46,+kmod-ipt-compat-xtables
))
156 $(eval
$(call BuildTemplate
,steal
,STEAL
,xt_STEAL
,xt_STEAL
,46,+kmod-ipt-compat-xtables
))
157 $(eval
$(call BuildTemplate
,sysrq
,SYSRQ
,xt_SYSRQ
,xt_SYSRQ
,46,+kmod-ipt-compat-xtables
))
158 $(eval
$(call BuildTemplate
,tarpit
,TARPIT
,xt_TARPIT
,xt_TARPIT
,46,+kmod-ipt-compat-xtables
+IPV6
:kmod-ipv6
))
160 $(eval
$(call BuildPackage
,iptaccount
))