Merge pull request #4853 from StevenHessing/noddos
[feed/packages.git] / net / coova-chilli / Makefile
index 29bfca682c19ed8a7fd5a982a44873e025a943af..016bfb2052d3be5e3e00957a246e85bfe0da0caf 100644 (file)
@@ -12,14 +12,14 @@ PKG_VERSION:=1.3.0+20141128
 PKG_MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 PKG_LICENSE:=GPL-2.0+
 PKG_LICENSE_FILES:=COPYING
-PKG_RELEASE:=1
+PKG_RELEASE:=4
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=git://github.com/coova/coova-chilli
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=b93de20a288c01c2ba28e96e31ad6da01627f45f
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_MD5SUM:=2adb27ec56172b18c5beee359dd7898d
+PKG_MIRROR_HASH:=89c9b313881c658a0f6b91329a78bb1a0151878b19bc99b315976081c6355557
 
 PKG_INSTALL:=1
 
@@ -36,6 +36,7 @@ PKG_CONFIG_DEPENDS := \
   COOVACHILLI_OPENSSL
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/kernel.mk
 
 define Package/coova-chilli
   SUBMENU:=Captive Portals
@@ -61,6 +62,38 @@ define Package/coova-chilli/config
   source "$(SOURCE)/Config.in"
 endef
 
+define KernelPackage/ipt-coova
+  URL:=http://www.coova.org/CoovaChilli
+  SUBMENU:=Netfilter Extensions
+  DEPENDS:=coova-chilli +kmod-ipt-core +libxtables
+  TITLE:=Coova netfilter module
+  FILES:=$(PKG_BUILD_DIR)/src/linux/xt_*.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoProbe,xt_coova)
+endef
+
+define KernelPackage/ipt-coova/description
+       Netfilter kernel module for CoovaChilli
+       Includes:
+       - coova
+endef
+
+DISABLE_NLS=
+
+TARGET_CFLAGS += $(FPIC)
+
+CONFIGURE_VARS += \
+       ARCH="$(LINUX_KARCH)" \
+       KERNEL_DIR="$(LINUX_DIR)"
+
+MAKE_FLAGS += \
+       ARCH="$(LINUX_KARCH)" \
+       KERNEL_DIR="$(LINUX_DIR)"
+
+MAKE_INSTALL_FLAGS += \
+       ARCH="$(LINUX_KARCH)" \
+       KERNEL_DIR="$(LINUX_DIR)" \
+       INSTALL_MOD_PATH="$(PKG_INSTALL_DIR)"
+
 define Build/Prepare
 $(call Build/Prepare/Default)
        ( cd $(PKG_BUILD_DIR) ; \
@@ -82,11 +115,12 @@ define Build/Configure
        $(if $(CONFIG_COOVACHILLI_MATRIXSSL),--with,--without)-matrixssl \
        $(if $(CONFIG_COOVACHILLI_CYASSL),--with,--without)-cyassl \
        $(if $(CONFIG_COOVACHILLI_OPENSSL),--with,--without)-openssl \
+       $(if $(CONFIG_PACKAGE_kmod-ipt-coova),--with-nfcoova) \
        )
 endef
 
 define Package/coova-chilli/conffiles
-/etc/chilli.conf
+/etc/config/chilli
 endef
 
 define Package/coova-chilli/install
@@ -100,6 +134,17 @@ define Package/coova-chilli/install
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/chilli* $(1)/usr/sbin/
        $(INSTALL_DIR) $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so.* $(1)/usr/lib/
+       $(if $(CONFIG_PACKAGE_kmod-ipt-coova), \
+               $(INSTALL_DIR) $(1)/usr/lib/iptables; \
+               $(CP) $(PKG_INSTALL_DIR)/usr/lib/iptables/lib*.so $(1)/usr/lib/iptables/ \
+       )
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) files/chilli.init $(1)/etc/init.d/chilli
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_DATA) files/chilli.config $(1)/etc/config/chilli
+       $(INSTALL_DIR) $(1)/lib/firewall
+       $(CP) files/chilli.firewall $(1)/lib/firewall/chilli.sh
 endef
 
 $(eval $(call BuildPackage,coova-chilli))
+$(eval $(call KernelPackage,ipt-coova))