-#
-# Copyright (C) 2009 OpenWrt.org
+
+# Copyright (C) 2009-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ipset
-PKG_VERSION:=4.2
+PKG_VERSION:=6.11
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://ipset.netfilter.org
-PKG_MD5SUM:=9060d549a18c1c0794fa47a71343d627
+PKG_MD5SUM:=bfcc92e30a0fcf10ae6e7c4affa03c84
+
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
$(call Package/ipset/Default)
SECTION:=net
CATEGORY:=Network
- DEPENDS+= +iptables-mod-ipset +kmod-ipt-ipset
+ DEPENDS+= +iptables-mod-ipset +kmod-ipt-ipset +libmnl
TITLE:=IPset administration utility
URL:=http://ipset.netfilter.org/
endef
include $(INCLUDE_DIR)/kernel-defaults.mk
-IPSET_MAKEOPTS:= -C $(PKG_BUILD_DIR) \
- $(TARGET_CONFIGURE_OPTS) \
- COPT_FLAGS="$(TARGET_CFLAGS)" \
- LDFLAGS="-rdynamic" \
- NO_EXTRA_WARN_FLAGS=yes \
- KERNEL_DIR="$(LINUX_DIR)" \
- PREFIX=/usr \
+CONFIGURE_ARGS += \
+ --with-kbuild="$(LINUX_DIR)"
IPSET_MODULES:= \
- ip_set \
- ip_set_iphash \
- ip_set_ipmap \
- ip_set_ipporthash \
- ip_set_ipportiphash \
- ip_set_ipportnethash \
- ip_set_iptree \
- ip_set_iptreemap \
- ip_set_macipmap \
- ip_set_nethash \
- ip_set_portmap \
- ip_set_setlist \
- ipt_set \
- ipt_SET \
+ ipset/ip_set \
+ ipset/ip_set_bitmap_ip \
+ ipset/ip_set_bitmap_ipmac \
+ ipset/ip_set_bitmap_port \
+ ipset/ip_set_hash_ip \
+ ipset/ip_set_hash_ipport \
+ ipset/ip_set_hash_ipportip \
+ ipset/ip_set_hash_ipportnet \
+ ipset/ip_set_hash_net \
+ ipset/ip_set_hash_netiface \
+ ipset/ip_set_hash_netport \
+ ipset/ip_set_list_set \
+ xt_set \
define Build/Compile
- mkdir -p $(PKG_INSTALL_DIR)
- $(MAKE) $(IPSET_MAKEOPTS) binaries
- $(MAKE) $(KERNEL_MAKEOPTS) M="$(PKG_BUILD_DIR)/kernel" IP_NF_SET_MAX="256" IP_NF_SET_HASHSIZE="1024" modules
- $(MAKE) $(IPSET_MAKEOPTS) DESTDIR="$(PKG_INSTALL_DIR)" binaries_install
+ $(call Build/Compile/Default)
+ $(call Build/Compile/Default,modules)
endef
define Package/ipset/install
$(INSTALL_DIR) $(1)/usr/sbin
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/ipset $(1)/usr/sbin/
- $(INSTALL_DIR) $(1)/usr/lib/ipset
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipset/libipset*.so $(1)/usr/lib/ipset/
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libipset*.so* $(1)/usr/lib/
endef
define KernelPackage/ipt-ipset
$(call Package/ipset/Default)
SUBMENU:=Netfilter Extensions
TITLE:=IPset netfilter modules
- DEPENDS+= kmod-ipt-core
- FILES:=$(foreach mod,$(IPSET_MODULES),$(PKG_BUILD_DIR)/kernel/$(mod).ko)
- AUTOLOAD:=$(call AutoLoad,46,$(IPSET_MODULES))
+ DEPENDS+= kmod-ipt-core +kmod-nfnetlink
+ FILES:=$(foreach mod,$(IPSET_MODULES),$(PKG_BUILD_DIR)/kernel/net/netfilter/$(mod).ko)
+ AUTOLOAD:=$(call AutoLoad,46,$(notdir $(IPSET_MODULES)))
endef
$(eval $(call BuildPackage,ipset))
+++ /dev/null
---- a/kernel/ipt_set.c
-+++ b/kernel/ipt_set.c
-@@ -83,10 +83,14 @@ match(const struct sk_buff *skb,
- int offset,
- unsigned int protoff,
- bool *hotdrop)
--#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) */
-+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
- static bool
- match(const struct sk_buff *skb,
- const struct xt_match_param *par)
-+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35) */
-+static bool
-+match(const struct sk_buff *skb,
-+ struct xt_action_param *par)
- #endif
- {
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
-@@ -136,9 +140,12 @@ checkentry(const char *tablename,
- const struct xt_match *match,
- void *matchinfo,
- unsigned int hook_mask)
--#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) */
-+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
- static bool
- checkentry(const struct xt_mtchk_param *par)
-+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35) */
-+static int
-+checkentry(const struct xt_mtchk_param *par)
- #endif
- {
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
---- a/kernel/ipt_SET.c
-+++ b/kernel/ipt_SET.c
-@@ -64,9 +64,12 @@ target(struct sk_buff *skb,
- unsigned int hooknum,
- const struct xt_target *target,
- const void *targinfo)
--#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) */
-+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
- target(struct sk_buff *skb,
- const struct xt_target_param *par)
-+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35) */
-+target(struct sk_buff *skb,
-+ const struct xt_action_param *par)
- #endif
- {
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
-@@ -127,9 +130,12 @@ checkentry(const char *tablename,
- const struct xt_target *target,
- void *targinfo,
- unsigned int hook_mask)
--#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) */
-+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
- static bool
- checkentry(const struct xt_tgchk_param *par)
-+#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35) */
-+static int
-+checkentry(const struct xt_tgchk_param *par)
- #endif
- {
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)