#
-# Copyright (C) 2006-2011 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
PKG_NAME:=iptables
PKG_VERSION:=1.4.10
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_MD5SUM:=f382fe693f0b59d87bd47bea65eca198
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
+ifneq ($(CONFIG_EXTERNAL_KERNEL_TREE),"")
+PATCH_DIR:=
+endif
+
include $(INCLUDE_DIR)/package.mk
ifeq ($(DUMP),)
-include $(LINUX_DIR)/.config
endef
-define Package/iptables-mod-conntrack
-$(call Package/iptables/Module, +kmod-ipt-conntrack)
- TITLE:=Basic connection tracking extensions
-endef
-
-define Package/iptables-mod-conntrack/description
-Basic iptables extensions for connection tracking.
-
- Matches:
- - state
- - conntrack
-
- Targets:
- - NOTRACK
-
- Tables:
- - raw
-
-endef
-
define Package/iptables-mod-conntrack-extra
$(call Package/iptables/Module, +kmod-ipt-conntrack-extra)
TITLE:=Extra connection tracking extensions
Matches:
- dscp
- - hashlimit
- ecn
- length
- mark
endef
-define Package/iptables-mod-nat
-$(call Package/iptables/Module, +kmod-ipt-nat)
- TITLE:=Basic NAT extensions
-endef
-
-define Package/iptables-mod-nat/description
-iptables extensions for basic NAT targets.
-
- Targets:
- - SNAT
- - DNAT
- - MASQUERADE
-
- Tables:
- - nat
-
-endef
-
define Package/iptables-mod-nat-extra
$(call Package/iptables/Module, +kmod-ipt-nat-extra)
TITLE:=Extra NAT extensions
endef
-define Package/iptables-utils
-$(call Package/iptables/Module, )
- TITLE:=iptables save and restore utilities
-endef
-
define Package/ip6tables
$(call Package/iptables/Default)
DEPENDS:=+kmod-ip6tables +libip6tc +libxtables
MENU:=1
endef
-define Package/ip6tables-utils
-$(call Package/iptables/Default)
- DEPENDS:=ip6tables
- CATEGORY:=IPv6
- TITLE:=ip6tables save and restore utilities
-endef
-
define Package/libiptc
$(call Package/iptables/Default)
SECTION:=libs
CONFIGURE_ARGS += \
--enable-shared \
--enable-devel \
- --enable-ipv6 \
+ $(if $(CONFIG_IPV6),--enable-ipv6,--disable-ipv6) \
--enable-libipq \
--with-kernel="$(LINUX_DIR)" \
- --with-xtlibdir=/usr/lib/iptables
+ --with-xtlibdir=/usr/lib/iptables \
+ --enable-static
MAKE_FLAGS := \
$(TARGET_CONFIGURE_OPTS) \
COPT_FLAGS="$(TARGET_CFLAGS)" \
- LDFLAGS="-rdynamic" \
KERNEL_DIR="$(LINUX_DIR)" PREFIX=/usr \
KBUILD_OUTPUT="$(LINUX_DIR)" \
+ BUILTIN_MODULES="$(patsubst ipt_%,%,$(patsubst xt_%,%,$(IPT_BUILTIN) $(IPT_CONNTRACK-m) $(IPT_NAT-m)))"
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
define Package/iptables/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/iptables $(1)/usr/sbin/
+ $(LN) iptables $(1)/usr/sbin/iptables-save
+ $(LN) iptables $(1)/usr/sbin/iptables-restore
$(INSTALL_DIR) $(1)/usr/lib/iptables
- (cd $(PKG_INSTALL_DIR)/usr/lib/iptables ; \
- for m in $(patsubst xt_%,ipt_%,$(IPT_BUILTIN)) $(patsubst ipt_%,xt_%,$(IPT_BUILTIN)); do \
- if [ -f $(PKG_INSTALL_DIR)/usr/lib/iptables/lib$$$${m}.so ]; then \
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/iptables/lib$$$${m}.so $(1)/usr/lib/iptables/ ;\
- fi; \
- done \
- )
-endef
-
-define Package/iptables-utils/install
- $(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/iptables-multi $(1)/usr/sbin/
- $(LN) iptables-multi $(1)/usr/sbin/iptables-save
- $(LN) iptables-multi $(1)/usr/sbin/iptables-restore
endef
define Package/ip6tables/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ip6tables $(1)/usr/sbin/
+ $(LN) ip6tables $(1)/usr/sbin/ip6tables-save
+ $(LN) ip6tables $(1)/usr/sbin/ip6tables-restore
$(INSTALL_DIR) $(1)/usr/lib/iptables
(cd $(PKG_INSTALL_DIR)/usr/lib/iptables ; \
$(CP) libip6t_*.so $(1)/usr/lib/iptables/ \
)
endef
-define Package/ip6tables-utils/install
- $(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ip6tables-multi $(1)/usr/sbin/
- $(LN) ip6tables-multi $(1)/usr/sbin/ip6tables-save
- $(LN) ip6tables-multi $(1)/usr/sbin/ip6tables-restore
-endef
-
define Package/libiptc/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libiptc.so* $(1)/usr/lib/
$(eval $(call BuildPackage,iptables))
-$(eval $(call BuildPackage,iptables-utils))
-$(eval $(call BuildPlugin,iptables-mod-conntrack,$(IPT_CONNTRACK-m)))
$(eval $(call BuildPlugin,iptables-mod-conntrack-extra,$(IPT_CONNTRACK_EXTRA-m)))
$(eval $(call BuildPlugin,iptables-mod-extra,$(IPT_EXTRA-m)))
$(eval $(call BuildPlugin,iptables-mod-filter,$(IPT_FILTER-m),$(L7_INSTALL)))
$(eval $(call BuildPlugin,iptables-mod-ipopt,$(IPT_IPOPT-m)))
$(eval $(call BuildPlugin,iptables-mod-ipsec,$(IPT_IPSEC-m)))
$(eval $(call BuildPlugin,iptables-mod-ipset,ipt_set ipt_SET))
-$(eval $(call BuildPlugin,iptables-mod-nat,$(IPT_NAT-m)))
$(eval $(call BuildPlugin,iptables-mod-nat-extra,$(IPT_NAT_EXTRA-m)))
$(eval $(call BuildPlugin,iptables-mod-iprange,$(IPT_IPRANGE-m)))
$(eval $(call BuildPlugin,iptables-mod-ulog,$(IPT_ULOG-m)))
$(eval $(call BuildPlugin,iptables-mod-tee,$(IPT_TEE-m)))
$(eval $(call BuildPlugin,iptables-mod-u32,$(IPT_U32-m)))
$(eval $(call BuildPackage,ip6tables))
-$(eval $(call BuildPackage,ip6tables-utils))
$(eval $(call BuildPackage,libiptc))
$(eval $(call BuildPackage,libip4tc))
$(eval $(call BuildPackage,libip6tc))