8578dc15d8
In the source, only the lowercase versions exist but the build expects uppercase versions as well
738 lines
19 KiB
Makefile
Executable File
738 lines
19 KiB
Makefile
Executable File
#
|
|
# Copyright (C) 2006-2012 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/kernel.mk
|
|
|
|
PKG_NAME:=iptables
|
|
PKG_VERSION:=1.4
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","BROADCOM")
|
|
ifneq ($(findstring 502L0,$(BRCM_SDK_VERSION)),)
|
|
PKG_VERSION:=1.4.21
|
|
else
|
|
PKG_VERSION:=1.4.16.3
|
|
endif
|
|
else ifeq ("$(strip ${ZCFG_PLATFORM})","ECONET")
|
|
PKG_VERSION:=1.4.10
|
|
else ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
PKG_VERSION:=1.4.21
|
|
endif
|
|
#PKG_RELEASE:=3
|
|
|
|
#PKG_MD5SUM:=f382fe693f0b59d87bd47bea65eca198
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
|
#PKG_SOURCE_URL:=http://www.netfilter.org/projects/iptables/files \
|
|
ftp://ftp.be.netfilter.org/pub/netfilter/iptables/ \
|
|
ftp://ftp.de.netfilter.org/pub/netfilter/iptables/ \
|
|
ftp://ftp.no.netfilter.org/pub/netfilter/iptables/
|
|
PKG_SOURCE_URL:=@ZyXEL_SITE/opensource/network/utils
|
|
|
|
PKG_FIXUP:=autoreconf
|
|
PKG_INSTALL:=1
|
|
PKG_BUILD_PARALLEL:=1
|
|
|
|
#ifneq ($(CONFIG_EXTERNAL_KERNEL_TREE),"")
|
|
PATCH_DIR:=patches-$(PKG_VERSION)/$(ZCFG_PLATFORM)
|
|
#endif
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
ifeq ($(DUMP),)
|
|
-include $(LINUX_DIR)/.config
|
|
include $(INCLUDE_DIR)/netfilter.mk
|
|
STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell $(SH_FUNC) grep 'NETFILTER' $(LINUX_DIR)/.config | md5s)
|
|
endif
|
|
|
|
|
|
define Package/iptables/Default
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
SUBMENU:=Firewall
|
|
URL:=http://netfilter.org/
|
|
endef
|
|
|
|
define Package/iptables/Module
|
|
$(call Package/iptables/Default)
|
|
DEPENDS:=iptables $(1)
|
|
endef
|
|
|
|
define Package/iptables
|
|
$(call Package/iptables/Default)
|
|
TITLE:=IPv4 firewall administration tool
|
|
MENU:=1
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
DEPENDS+= +kmod-ipt-core +libip4tc +IPV6:libip6tc +libxtables
|
|
else
|
|
DEPENDS+= +kmod-ipt-core +libip4tc +libxtables
|
|
endif
|
|
endef
|
|
|
|
define Package/iptables/description
|
|
IPv4 firewall administration tool.
|
|
|
|
Matches:
|
|
- icmp
|
|
- tcp
|
|
- udp
|
|
- comment
|
|
- limit
|
|
- mac
|
|
- multiport
|
|
|
|
Targets:
|
|
- ACCEPT
|
|
- DROP
|
|
- REJECT
|
|
- LOG
|
|
- TCPMSS
|
|
|
|
Tables:
|
|
- filter
|
|
- mangle
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-conntrack-extra
|
|
$(call Package/iptables/Module, +kmod-ipt-conntrack-extra)
|
|
TITLE:=Extra connection tracking extensions
|
|
endef
|
|
|
|
define Package/iptables-mod-conntrack-extra/description
|
|
Extra iptables extensions for connection tracking.
|
|
|
|
Matches:
|
|
- connbytes
|
|
- connmark
|
|
- recent
|
|
- helper
|
|
|
|
Targets:
|
|
- CONNMARK
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-filter
|
|
$(call Package/iptables/Module, +kmod-ipt-filter)
|
|
TITLE:=Content inspection extensions
|
|
endef
|
|
|
|
define Package/iptables-mod-filter/description
|
|
iptables extensions for packet content inspection.
|
|
Includes support for:
|
|
|
|
Matches:
|
|
- layer7
|
|
- string
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-ipopt
|
|
$(call Package/iptables/Module, +kmod-ipt-ipopt)
|
|
TITLE:=IP/Packet option extensions
|
|
endef
|
|
|
|
define Package/iptables-mod-ipopt/description
|
|
iptables extensions for matching/changing IP packet options.
|
|
|
|
Matches:
|
|
- dscp
|
|
- ecn
|
|
- length
|
|
- mark
|
|
- statistic
|
|
- tcpmss
|
|
- time
|
|
- unclean
|
|
- hl
|
|
ifeq ("$(CONFIG_KERNEL_ZYXEL_EXT_MARK)", "y")
|
|
- zextmark
|
|
endif
|
|
- connmark
|
|
|
|
Targets:
|
|
- DSCP
|
|
- CLASSIFY
|
|
- ECN
|
|
- MARK
|
|
- HL
|
|
ifeq ("$(CONFIG_KERNEL_ZYXEL_EXT_MARK)", "y")
|
|
- ZEXTMARK
|
|
endif
|
|
- CONNMARK
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-ipsec
|
|
$(call Package/iptables/Module, +kmod-ipt-ipsec)
|
|
TITLE:=IPsec extensions
|
|
endef
|
|
|
|
define Package/iptables-mod-ipsec/description
|
|
iptables extensions for matching ipsec traffic.
|
|
|
|
Matches:
|
|
- ah
|
|
- esp
|
|
- policy
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-ipset
|
|
$(call Package/iptables/Module,)
|
|
TITLE:=IPset iptables extensions
|
|
endef
|
|
|
|
define Package/iptables-mod-ipset/description
|
|
IPset iptables extensions.
|
|
|
|
Matches:
|
|
- set
|
|
|
|
Targets:
|
|
- SET
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-nat-extra
|
|
$(call Package/iptables/Module, +kmod-ipt-nat-extra)
|
|
TITLE:=Extra NAT extensions
|
|
endef
|
|
|
|
define Package/iptables-mod-nat-extra/description
|
|
iptables extensions for extra NAT targets.
|
|
|
|
Targets:
|
|
- MIRROR
|
|
- NETMAP
|
|
- REDIRECT
|
|
endef
|
|
|
|
define Package/iptables-mod-ulog
|
|
$(call Package/iptables/Module, +kmod-ipt-ulog)
|
|
TITLE:=user-space packet logging
|
|
endef
|
|
|
|
define Package/iptables-mod-ulog/description
|
|
iptables extensions for user-space packet logging.
|
|
|
|
Targets:
|
|
- ULOG
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-nflog
|
|
$(call Package/iptables/Module, +kmod-nfnetlink-log +kmod-ipt-nflog)
|
|
TITLE:=Netfilter NFLOG target
|
|
endef
|
|
|
|
define Package/iptables-mod-nflog/description
|
|
iptables extension for user-space logging via NFNETLINK.
|
|
|
|
Includes:
|
|
- libxt_NFLOG
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-nfqueue
|
|
$(call Package/iptables/Module, +kmod-nfnetlink-queue +kmod-ipt-nfqueue)
|
|
TITLE:=Netfilter NFQUEUE target
|
|
endef
|
|
|
|
define Package/iptables-mod-nfqueue/description
|
|
iptables extension for user-space queuing via NFNETLINK.
|
|
|
|
Includes:
|
|
- libxt_NFQUEUE
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-hashlimit
|
|
$(call Package/iptables/Module, +kmod-ipt-hashlimit)
|
|
TITLE:=hashlimit matching
|
|
endef
|
|
|
|
define Package/iptables-mod-hashlimit/description
|
|
iptables extensions for hashlimit matching
|
|
|
|
Matches:
|
|
- hashlimit
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-iprange
|
|
$(call Package/iptables/Module, +kmod-ipt-iprange)
|
|
TITLE:=IP range extension
|
|
endef
|
|
|
|
define Package/iptables-mod-iprange/description
|
|
iptables extensions for matching ip ranges.
|
|
|
|
Matches:
|
|
- iprange
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-cluster
|
|
$(call Package/iptables/Module, +kmod-ipt-cluster)
|
|
TITLE:=Match cluster extension
|
|
endef
|
|
|
|
define Package/iptables-mod-cluster/description
|
|
iptables extensions for matching cluster.
|
|
|
|
Netfilter (IPv4/IPv6) module for matching cluster
|
|
This option allows you to build work-load-sharing clusters of
|
|
network servers/stateful firewalls without having a dedicated
|
|
load-balancing router/server/switch. Basically, this match returns
|
|
true when the packet must be handled by this cluster node. Thus,
|
|
all nodes see all packets and this match decides which node handles
|
|
what packets. The work-load sharing algorithm is based on source
|
|
address hashing.
|
|
|
|
This module is usable for ipv4 and ipv6.
|
|
|
|
If you select it, it enables kmod-ipt-cluster.
|
|
|
|
see `iptables -m cluster --help` for more information.
|
|
endef
|
|
|
|
define Package/iptables-mod-clusterip
|
|
$(call Package/iptables/Module, +kmod-ipt-clusterip)
|
|
TITLE:=Clusterip extension
|
|
endef
|
|
|
|
define Package/iptables-mod-clusterip/description
|
|
iptables extensions for CLUSTERIP.
|
|
The CLUSTERIP target allows you to build load-balancing clusters of
|
|
network servers without having a dedicated load-balancing
|
|
router/server/switch.
|
|
|
|
If you select it, it enables kmod-ipt-clusterip.
|
|
|
|
see `iptables -j CLUSTERIP --help` for more information.
|
|
endef
|
|
|
|
define Package/iptables-mod-extra
|
|
$(call Package/iptables/Module, +kmod-ipt-extra)
|
|
TITLE:=Other extra iptables extensions
|
|
endef
|
|
|
|
define Package/iptables-mod-extra/description
|
|
Other extra iptables extensions.
|
|
|
|
Matches:
|
|
- addrtype
|
|
- condition
|
|
- owner
|
|
- physdev (if ebtables is enabled)
|
|
- pkttype
|
|
- quota
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-led
|
|
$(call Package/iptables/Module, +kmod-ipt-led)
|
|
TITLE:=LED trigger iptables extension
|
|
endef
|
|
|
|
define Package/iptables-mod-led/description
|
|
iptables extension for triggering a LED.
|
|
|
|
Targets:
|
|
- LED
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-tproxy
|
|
$(call Package/iptables/Module, +kmod-ipt-tproxy)
|
|
TITLE:=Transparent proxy iptables extensions
|
|
endef
|
|
|
|
define Package/iptables-mod-tproxy/description
|
|
Transparent proxy iptables extensions.
|
|
|
|
Matches:
|
|
- socket
|
|
|
|
Targets:
|
|
- TPROXY
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-tee
|
|
$(call Package/iptables/Module, +kmod-ipt-tee)
|
|
TITLE:=TEE iptables extensions
|
|
endef
|
|
|
|
define Package/iptables-mod-tee/description
|
|
TEE iptables extensions.
|
|
|
|
Targets:
|
|
- TEE
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-u32
|
|
$(call Package/iptables/Module, +kmod-ipt-u32)
|
|
TITLE:=U32 iptables extensions
|
|
endef
|
|
|
|
define Package/iptables-mod-u32/description
|
|
U32 iptables extensions.
|
|
|
|
Matches:
|
|
- u32
|
|
|
|
endef
|
|
|
|
define Package/iptables-mod-mark2prio
|
|
$(call Package/iptables/Module, +kmod-ipt-mark2prio)
|
|
TITLE:=mark2prio extension
|
|
endef
|
|
|
|
define Package/ip6tables
|
|
$(call Package/iptables/Default)
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
DEPENDS:=@IPV6 +kmod-ip6tables +iptables
|
|
else
|
|
DEPENDS:=+kmod-ip6tables +libip6tc +libxtables
|
|
endif
|
|
CATEGORY:=IPv6
|
|
TITLE:=IPv6 firewall administration tool
|
|
MENU:=1
|
|
endef
|
|
|
|
|
|
define Package/ip6tables-extra
|
|
$(call Package/iptables/Default)
|
|
DEPENDS:=ip6tables +kmod-ip6tables-extra
|
|
TITLE:=IPv6 header matching modules
|
|
endef
|
|
|
|
define Package/ip6tables-mod-extra/description
|
|
iptables header matching modules for IPv6
|
|
endef
|
|
|
|
define Package/ip6tables-mod-nat
|
|
$(call Package/iptables/Default)
|
|
DEPENDS:=ip6tables +kmod-ipt-nat6
|
|
TITLE:=IPv6 NAT extensions
|
|
endef
|
|
|
|
define Package/ip6tables-mod-nat/description
|
|
iptables extensions for IPv6-NAT targets.
|
|
endef
|
|
|
|
define Package/libiptc
|
|
$(call Package/iptables/Default)
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
DEPENDS:=+libip4tc +libip6tc
|
|
TITLE:=IPv4/IPv6 firewall - shared libiptc library (compatibility stub)
|
|
endef
|
|
|
|
define Package/libip4tc
|
|
$(call Package/iptables/Default)
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE:=IPv4 firewall - shared libiptc library
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
DEPENDS:=+libxtables
|
|
endif
|
|
endef
|
|
|
|
define Package/libip6tc
|
|
$(call Package/iptables/Default)
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE:=IPv6 firewall - shared libiptc library
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
DEPENDS:=+libxtables
|
|
endif
|
|
endef
|
|
|
|
define Package/libxtables
|
|
$(call Package/iptables/Default)
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE:=IPv4/IPv6 firewall - shared xtables library
|
|
endef
|
|
PFX_EXT:=TCPMSS SKIPLOG
|
|
PF4_EXT:=icmp
|
|
PF6_EXT:=
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
PFX_EXT+=length limit standard conntrack tcp udp NFQUEUE dscp DSCP mac mark MARK AUTOMAP policer time multiport pkttype connlimit recent iprange helper
|
|
else
|
|
ifeq ("$(CONFIG_KERNEL_ZYXEL_EXT_MARK)", "y")
|
|
PFX_EXT+=length limit standard conntrack tcp udp NFQUEUE dscp DSCP mac physdev mark MARK AUTOMAP policer time multiport pkttype connlimit recent iprange helper connmark CONNMARK set SET zextmark ZEXTMARK connzextmark CONNZEXTMARK blog
|
|
else
|
|
PFX_EXT+=length limit standard conntrack tcp udp NFQUEUE dscp DSCP mac physdev mark MARK AUTOMAP policer time multiport pkttype connlimit recent iprange helper blog
|
|
endif
|
|
endif
|
|
ifeq ("$(CONFIG_ZYXEL_HOME_CYBER_SECURITY)", "y")
|
|
PFX_EXT+= CT connmark CONNMARK tos TOS
|
|
endif
|
|
PF4_EXT+=LOG DNAT MASQUERADE REDIRECT REJECT SNAT TRIGGER
|
|
|
|
ifneq ($(strip $(CONFIG_IPV6)),)
|
|
PF6_EXT+=ah dst eui64 frag hbh hl icmp6 ipv6header mh rt HL LOG REJECT
|
|
endif
|
|
|
|
ifneq ("$(CONFIG_EXTERNAL_KERNEL_TOOLCHAIN)","")
|
|
TARGET_CPPFLAGS := \
|
|
-I$(PKG_BUILD_DIR)/include \
|
|
$(TARGET_CPPFLAGS)
|
|
|
|
TARGET_CFLAGS += \
|
|
-I$(PKG_BUILD_DIR)/include
|
|
else
|
|
TARGET_CPPFLAGS := \
|
|
-I$(PKG_BUILD_DIR)/include \
|
|
-I$(LINUX_DIR)/user_headers/include \
|
|
$(TARGET_CPPFLAGS)
|
|
|
|
TARGET_CFLAGS += \
|
|
-I$(PKG_BUILD_DIR)/include \
|
|
-I$(LINUX_DIR)/user_headers/include
|
|
endif
|
|
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
TARGET_CFLAGS += \
|
|
-ffunction-sections -fdata-sections \
|
|
-DNO_LEGACY
|
|
|
|
TARGET_LDFLAGS += \
|
|
-Wl,--gc-sections
|
|
|
|
CONFIGURE_ARGS += \
|
|
--enable-shared \
|
|
--enable-devel \
|
|
--with-kernel="$(LINUX_DIR)/user_headers" \
|
|
--with-xtlibdir=/usr/lib/iptables \
|
|
--enable-static \
|
|
$(if $(CONFIG_IPV6),,--disable-ipv6)
|
|
else ifeq ("$(strip ${ZCFG_PLATFORM})","BROADCOM")
|
|
CONFIGURE_ARGS += \
|
|
--disable-shared \
|
|
--disable-devel \
|
|
$(if $(CONFIG_IPV6),--enable-ipv6,--disable-ipv6) \
|
|
--with-xtlibdir=/usr/lib/iptables \
|
|
--enable-static \
|
|
--with-pfxmods="$(PFX_EXT)" \
|
|
--with-pf4mods="$(PF4_EXT)" \
|
|
--with-pf6mods="$(PF6_EXT)"
|
|
ifneq ("$(CONFIG_EXTERNAL_KERNEL_TOOLCHAIN)","")
|
|
CONFIGURE_ARGS += --with-kbuild=$(TOOLCHAIN_DIR)/include
|
|
else
|
|
CONFIGURE_ARGS += --with-kernel="$(LINUX_DIR)/user_headers"
|
|
endif
|
|
else ifeq ("$(strip ${ZCFG_PLATFORM})","ECONET")
|
|
CONFIGURE_ARGS += \
|
|
--disable-shared \
|
|
--disable-devel \
|
|
$(if $(CONFIG_IPV6),--enable-ipv6,--disable-ipv6) \
|
|
--with-kernel="$(LINUX_DIR)/user_headers" \
|
|
--enable-static
|
|
endif
|
|
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
MAKE_FLAGS := \
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
COPT_FLAGS="$(TARGET_CFLAGS)" \
|
|
KERNEL_DIR="$(LINUX_DIR)/user_headers/" PREFIX=/usr \
|
|
KBUILD_OUTPUT="$(LINUX_DIR)" \
|
|
BUILTIN_MODULES="$(patsubst ip6t_%,%,$(patsubst ipt_%,%,$(patsubst xt_%,%,$(IPT_BUILTIN) $(IPT_CONNTRACK-m) $(IPT_NAT-m))))"
|
|
else
|
|
MAKE_FLAGS := \
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
COPT_FLAGS="$(TARGET_CFLAGS)" \
|
|
KERNEL_DIR="$(LINUX_DIR)/user_headers/" PREFIX=/usr \
|
|
KBUILD_OUTPUT="$(LINUX_DIR)" \
|
|
BUILTIN_MODULES="$(patsubst ipt_%,%,$(patsubst xt_%,%,$(IPT_BUILTIN) $(IPT_CONNTRACK-m) $(IPT_NAT-m)))"
|
|
endif
|
|
|
|
ifeq ("$(CONFIG_KERNEL_ZYXEL_EXT_MARK)", "y")
|
|
define Build/Prepare
|
|
$(call Build/Prepare/Default)
|
|
$(CP) ./src-$(PKG_VERSION)/libxt_zextmark.c $(PKG_BUILD_DIR)/extensions/
|
|
$(CP) ./src-$(PKG_VERSION)/libxt_zextmark.c $(PKG_BUILD_DIR)/extensions/libxt_ZEXTMARK.c
|
|
$(CP) ./src-$(PKG_VERSION)/libxt_connzextmark.c $(PKG_BUILD_DIR)/extensions/
|
|
$(CP) ./src-$(PKG_VERSION)/libxt_connzextmark.c $(PKG_BUILD_DIR)/extensions/libxt_CONNZEXTMARK.c
|
|
endef
|
|
endif
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(INSTALL_DIR) $(1)/usr/include/iptables
|
|
$(INSTALL_DIR) $(1)/usr/include/net/netfilter
|
|
|
|
# XXX: iptables header fixup, some headers are not installed by iptables anymore
|
|
ifneq ($(findstring 502L0,$(BRCM_SDK_VERSION)),)
|
|
$(CP) $(PKG_BUILD_DIR)/include/linux/netfilter/*.h $(1)/usr/include/net/netfilter/
|
|
else
|
|
ifneq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
$(CP) $(PKG_BUILD_DIR)/include/net/netfilter/*.h $(1)/usr/include/net/netfilter/
|
|
endif
|
|
endif
|
|
$(CP) $(PKG_BUILD_DIR)/include/iptables/*.h $(1)/usr/include/iptables/
|
|
$(CP) $(PKG_BUILD_DIR)/include/iptables.h $(1)/usr/include/
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
$(CP) $(PKG_BUILD_DIR)/include/ip6tables.h $(1)/usr/include/
|
|
endif
|
|
$(CP) $(PKG_BUILD_DIR)/include/libipulog $(1)/usr/include/
|
|
$(CP) $(PKG_BUILD_DIR)/include/libiptc $(1)/usr/include/
|
|
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
|
|
endif
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libxtables.so* $(1)/usr/lib/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libip*tc.so* $(1)/usr/lib/
|
|
endif
|
|
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libxtables.a $(1)/usr/lib/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libip*tc.a* $(1)/usr/lib/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/xtables.pc $(1)/usr/lib/pkgconfig/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libiptc.pc $(1)/usr/lib/pkgconfig/
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
# XXX: needed by firewall3
|
|
$(CP) $(PKG_BUILD_DIR)/extensions/libiptext*.so $(1)/usr/lib/
|
|
endif
|
|
endef
|
|
|
|
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
|
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_DIR) $(1)/etc/rc3.d
|
|
#In ECONET platform, kernel modules are built-in
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","BROADCOM")
|
|
$(CP) ./files/nf_basic_modules_install.sh $(1)/etc/init.d
|
|
ln -s ../init.d/nf_basic_modules_install.sh $(1)/etc/rc3.d/S45nf-basic-module
|
|
endif
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
$(CP) ./files/nf_basic_modules_install.sh $(1)/etc/init.d
|
|
ln -s ../init.d/nf_basic_modules_install.sh $(1)/etc/rc3.d/S45nf-basic-module
|
|
endif
|
|
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/libiptc/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libiptc.so* $(1)/usr/lib/
|
|
endif
|
|
# $(CP) $(PKG_INSTALL_DIR)/usr/lib/libiptc.a $(1)/usr/lib/
|
|
# $(CP) $(PKG_INSTALL_DIR)/usr/lib/libiptc.so $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libip4tc/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libip4tc.so* $(1)/usr/lib/
|
|
$(CP) $(PKG_BUILD_DIR)/extensions/libiptext4.so $(1)/usr/lib/
|
|
endif
|
|
# $(CP) $(PKG_INSTALL_DIR)/usr/lib/libip4tc.a $(1)/usr/lib/
|
|
# $(CP) $(PKG_INSTALL_DIR)/usr/lib/libip4tc.so $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libip6tc/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libip6tc.so* $(1)/usr/lib/
|
|
$(CP) $(PKG_BUILD_DIR)/extensions/libiptext6.so $(1)/usr/lib/
|
|
endif
|
|
|
|
# $(CP) $(PKG_INSTALL_DIR)/usr/lib/libip6tc.a $(1)/usr/lib/
|
|
# $(CP) $(PKG_INSTALL_DIR)/usr/lib/libip6tc.so $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libxtables/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libxtables.so* $(1)/usr/lib/
|
|
$(CP) $(PKG_BUILD_DIR)/extensions/libiptext.so $(1)/usr/lib/
|
|
endif
|
|
|
|
# $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxtables.a $(1)/usr/lib/
|
|
# $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxtables.so $(1)/usr/lib/
|
|
endef
|
|
|
|
define BuildPlugin
|
|
define Package/$(1)/install
|
|
$(INSTALL_DIR) $$(1)/usr/lib/iptables
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
for m in $(patsubst xt_%,ipt_%,$(2)) $(patsubst ipt_%,xt_%,$(2)) $(patsubst xt_%,ip6t_%,$(2)) $(patsubst ip6t_%,xt_%,$(2)); 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
|
|
else
|
|
for m in $(patsubst xt_%,ipt_%,$(2)) $(patsubst ipt_%,xt_%,$(2)); 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
|
|
endif
|
|
$(3)
|
|
endef
|
|
|
|
$$(eval $$(call BuildPackage,$(1)))
|
|
endef
|
|
|
|
L7_INSTALL:=\
|
|
$(INSTALL_DIR) $$(1)/etc/l7-protocols; \
|
|
$(CP) files/l7/*.pat $$(1)/etc/l7-protocols/
|
|
|
|
|
|
$(eval $(call BuildPackage,iptables))
|
|
$(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-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-hashlimit,$(IPT_HASHLIMIT-m)))
|
|
$(eval $(call BuildPlugin,iptables-mod-led,$(IPT_LED-m)))
|
|
$(eval $(call BuildPlugin,iptables-mod-tproxy,$(IPT_TPROXY-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,libiptc))
|
|
$(eval $(call BuildPackage,libip4tc))
|
|
$(eval $(call BuildPackage,libip6tc))
|
|
$(eval $(call BuildPackage,libxtables))
|
|
ifeq ("$(strip ${ZCFG_PLATFORM})","QUALCOMM")
|
|
$(eval $(call BuildPlugin,iptables-mod-cluster,$(IPT_CLUSTER-m)))
|
|
$(eval $(call BuildPlugin,iptables-mod-clusterip,$(IPT_CLUSTERIP-m)))
|
|
$(eval $(call BuildPlugin,iptables-mod-nflog,$(IPT_NFLOG-m)))
|
|
$(eval $(call BuildPlugin,iptables-mod-nfqueue,$(IPT_NFQUEUE-m)))
|
|
$(eval $(call BuildPlugin,iptables-mod-mark2prio,$(IPT_MARK2PRIO-m)))
|
|
$(eval $(call BuildPlugin,ip6tables-extra,$(IPT_IPV6_EXTRA-m)))
|
|
$(eval $(call BuildPlugin,ip6tables-mod-nat,$(IPT_NAT6-m)))
|
|
endif
|