From 2d13d8dc767142e4b75aabd9264e2749518b1d28 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sat, 28 Mar 2015 10:19:26 +0000
Subject: [PATCH] conntrack-tools: update package (along with associated
 libraries) to the latest version, fix musl build issues

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45077
---
 package/libs/libnetfilter-cthelper/Makefile   | 71 +++++++++++++++++++
 package/libs/libnetfilter-cttimeout/Makefile  | 71 +++++++++++++++++++
 package/libs/libnetfilter-queue/Makefile      | 71 +++++++++++++++++++
 .../patches/100-missing_include.patch         | 10 +++
 .../network/utils/conntrack-tools/Makefile    |  8 ++-
 .../patches/100-compile_fix.patch             | 10 ---
 .../patches/100-missing_include.patch         | 10 +++
 7 files changed, 238 insertions(+), 13 deletions(-)
 create mode 100644 package/libs/libnetfilter-cthelper/Makefile
 create mode 100644 package/libs/libnetfilter-cttimeout/Makefile
 create mode 100644 package/libs/libnetfilter-queue/Makefile
 delete mode 100644 package/network/utils/conntrack-tools/patches/100-compile_fix.patch
 create mode 100644 package/network/utils/conntrack-tools/patches/100-missing_include.patch

diff --git a/package/libs/libnetfilter-cthelper/Makefile b/package/libs/libnetfilter-cthelper/Makefile
new file mode 100644
index 0000000000..84a77645bd
--- /dev/null
+++ b/package/libs/libnetfilter-cthelper/Makefile
@@ -0,0 +1,71 @@
+#
+# Copyright (C) 2009-2013 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libnetfilter_cthelper
+PKG_VERSION:=1.0.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:= \
+	http://www.netfilter.org/projects/libnetfilter_cthelper/files/ \
+	ftp://ftp.netfilter.org/pub/libnetfilter_cthelper/
+PKG_MD5SUM:=b2efab1a3a198a5add448960ba011acd
+
+PKG_FIXUP:=autoreconf
+PKG_LICENSE:=GPL-2.0+
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libnetfilter-cthelper
+  SECTION:=libs
+  CATEGORY:=Libraries
+  DEPENDS:=+libmnl
+  TITLE:=API to the in-kernel connection tracking helper infrastructure
+  URL:=http://www.netfilter.org/projects/libnetfilter_cthelper/
+endef
+
+define Package/libnetfilter-cthelper/description
+ libnetfilter_cthelper is a userspace library providing a programming
+ interface (API) to the in-kernel connection tracking helpers. 
+ This library is currently used by conntrack-tools.
+endef
+
+TARGET_CFLAGS += $(FPIC)
+
+CONFIGURE_ARGS += \
+	--enable-static \
+	--enable-shared \
+
+define Build/InstallDev
+	$(INSTALL_DIR) $(1)/usr/include/libnetfilter_cthelper
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/include/libnetfilter_cthelper/*.h \
+		$(1)/usr/include/libnetfilter_cthelper/
+
+	$(INSTALL_DIR) $(1)/usr/lib
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/lib/libnetfilter_cthelper.{so*,a,la} \
+		$(1)/usr/lib/
+
+	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnetfilter_cthelper.pc \
+		$(1)/usr/lib/pkgconfig/
+endef
+
+define Package/libnetfilter-cthelper/install
+	$(INSTALL_DIR) $(1)/usr/lib
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/lib/libnetfilter_cthelper.so.* \
+		$(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libnetfilter-cthelper))
diff --git a/package/libs/libnetfilter-cttimeout/Makefile b/package/libs/libnetfilter-cttimeout/Makefile
new file mode 100644
index 0000000000..d065d2631b
--- /dev/null
+++ b/package/libs/libnetfilter-cttimeout/Makefile
@@ -0,0 +1,71 @@
+#
+# Copyright (C) 2009-2013 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libnetfilter_cttimeout
+PKG_VERSION:=1.0.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:= \
+	http://www.netfilter.org/projects/libnetfilter_cttimeout/files/ \
+	ftp://ftp.netfilter.org/pub/libnetfilter_cttimeout/
+PKG_MD5SUM:=7697437fc9ebb6f6b83df56a633db7f9
+
+PKG_FIXUP:=autoreconf
+PKG_LICENSE:=GPL-2.0+
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libnetfilter-cttimeout
+  SECTION:=libs
+  CATEGORY:=Libraries
+  DEPENDS:=+libmnl
+  TITLE:=API to the in-kernel connection tracking timeout infrastructure
+  URL:=http://www.netfilter.org/projects/libnetfilter_cttimeout/
+endef
+
+define Package/libnetfilter-cttimeout/description
+ libnetfilter_cttimeout is a userspace library providing a programming
+ interface (API) to the in-kernel connection tracking timeout handling.
+ This library is currently used by conntrack-tools.
+endef
+
+TARGET_CFLAGS += $(FPIC)
+
+CONFIGURE_ARGS += \
+	--enable-static \
+	--enable-shared \
+
+define Build/InstallDev
+	$(INSTALL_DIR) $(1)/usr/include/libnetfilter_cttimeout
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/include/libnetfilter_cttimeout/*.h \
+		$(1)/usr/include/libnetfilter_cttimeout/
+
+	$(INSTALL_DIR) $(1)/usr/lib
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/lib/libnetfilter_cttimeout.{so*,a,la} \
+		$(1)/usr/lib/
+
+	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnetfilter_cttimeout.pc \
+		$(1)/usr/lib/pkgconfig/
+endef
+
+define Package/libnetfilter-cttimeout/install
+	$(INSTALL_DIR) $(1)/usr/lib
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/lib/libnetfilter_cttimeout.so.* \
+		$(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libnetfilter-cttimeout))
diff --git a/package/libs/libnetfilter-queue/Makefile b/package/libs/libnetfilter-queue/Makefile
new file mode 100644
index 0000000000..6502e917d1
--- /dev/null
+++ b/package/libs/libnetfilter-queue/Makefile
@@ -0,0 +1,71 @@
+#
+# Copyright (C) 2009-2013 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libnetfilter_queue
+PKG_VERSION:=1.0.2
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:= \
+	http://www.netfilter.org/projects/libnetfilter_queue/files/ \
+	ftp://ftp.netfilter.org/pub/libnetfilter_queue/
+PKG_MD5SUM:=df09befac35cb215865b39a36c96a3fa
+
+PKG_FIXUP:=autoreconf
+PKG_LICENSE:=GPL-2.0+
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libnetfilter-queue
+  SECTION:=libs
+  CATEGORY:=Libraries
+  DEPENDS:=+libmnl +libnfnetlink
+  TITLE:=API to the in-kernel connection tracking queue infrastructure
+  URL:=http://www.netfilter.org/projects/libnetfilter_queue/
+endef
+
+define Package/libnetfilter-queue/description
+ libnetfilter_queue is a userspace library providing a programming
+ interface (API) to the in-kernel connection tracking state table.
+ This library is currently used by conntrack-tools.
+endef
+
+TARGET_CFLAGS += $(FPIC) -D_GNU_SOURCE=1
+
+CONFIGURE_ARGS += \
+	--enable-static \
+	--enable-shared \
+
+define Build/InstallDev
+	$(INSTALL_DIR) $(1)/usr/include/libnetfilter_queue
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/include/libnetfilter_queue/*.h \
+		$(1)/usr/include/libnetfilter_queue/
+
+	$(INSTALL_DIR) $(1)/usr/lib
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/lib/libnetfilter_queue.{so*,a,la} \
+		$(1)/usr/lib/
+
+	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnetfilter_queue.pc \
+		$(1)/usr/lib/pkgconfig/
+endef
+
+define Package/libnetfilter-queue/install
+	$(INSTALL_DIR) $(1)/usr/lib
+	$(CP) \
+		$(PKG_INSTALL_DIR)/usr/lib/libnetfilter_queue.so.* \
+		$(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libnetfilter-queue))
diff --git a/package/libs/libnfnetlink/patches/100-missing_include.patch b/package/libs/libnfnetlink/patches/100-missing_include.patch
index 68155c3005..163307d895 100644
--- a/package/libs/libnfnetlink/patches/100-missing_include.patch
+++ b/package/libs/libnfnetlink/patches/100-missing_include.patch
@@ -8,3 +8,13 @@
  #include <sys/socket.h>	/* for sa_family_t */
  #include <linux/netlink.h>
  #include <libnfnetlink/linux_nfnetlink.h>
+--- a/include/libnfnetlink/linux_nfnetlink.h
++++ b/include/libnfnetlink/linux_nfnetlink.h
+@@ -1,6 +1,6 @@
+ #ifndef _NFNETLINK_H
+ #define _NFNETLINK_H
+-#include <linux/types.h>
++#include <sys/types.h>
+ #include <libnfnetlink/linux_nfnetlink_compat.h>
+ 
+ enum nfnetlink_groups {
diff --git a/package/network/utils/conntrack-tools/Makefile b/package/network/utils/conntrack-tools/Makefile
index c697d6565c..6a47095a7d 100644
--- a/package/network/utils/conntrack-tools/Makefile
+++ b/package/network/utils/conntrack-tools/Makefile
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=conntrack-tools
-PKG_VERSION:=1.0.0
+PKG_VERSION:=1.4.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
@@ -16,7 +16,7 @@ PKG_SOURCE_URL:= \
 	http://www.netfilter.org/projects/conntrack-tools/files \
 	ftp://ftp.netfilter.org/pub/conntrack-tools \
 	http://mirrors.evolva.ro/netfilter.org/conntrack-tools
-PKG_MD5SUM:=5add24d4761baf17af630d5627a71752
+PKG_MD5SUM:=b1f9d006e7bf000a77395ff7cd3fac16
 
 PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org>
 PKG_LICENSE:=GPL-2.0
@@ -31,7 +31,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/conntrack-tools
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+libnetfilter-conntrack
+  DEPENDS:=+libnetfilter-conntrack +libnetfilter-cttimeout +libnetfilter-cthelper +libnetfilter-queue
   SUBMENU:=Firewall
   TITLE:=Connection tracking userspace tools
   URL:=http://conntrack-tools.netfilter.org/
@@ -49,6 +49,8 @@ define Package/conntrack-tools/conffiles
 /etc/conntrackd/conntrackd.conf
 endef
 
+TARGET_CFLAGS += -D_GNU_SOURCE=1
+
 define Package/conntrack-tools/install
 	$(INSTALL_DIR) $(1)/etc/conntrackd
 	$(INSTALL_CONF) \
diff --git a/package/network/utils/conntrack-tools/patches/100-compile_fix.patch b/package/network/utils/conntrack-tools/patches/100-compile_fix.patch
deleted file mode 100644
index 492f88facc..0000000000
--- a/package/network/utils/conntrack-tools/patches/100-compile_fix.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/parse.c
-+++ b/src/parse.c
-@@ -16,6 +16,7 @@
-  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-  */
- 
-+#include <stdlib.h>
- #include "network.h"
- 
- #include <libnetfilter_conntrack/libnetfilter_conntrack.h>
diff --git a/package/network/utils/conntrack-tools/patches/100-missing_include.patch b/package/network/utils/conntrack-tools/patches/100-missing_include.patch
new file mode 100644
index 0000000000..a4c7f9b625
--- /dev/null
+++ b/package/network/utils/conntrack-tools/patches/100-missing_include.patch
@@ -0,0 +1,10 @@
+--- a/include/mcast.h
++++ b/include/mcast.h
+@@ -4,6 +4,7 @@
+ #include <stdint.h>
+ #include <netinet/in.h>
+ #include <net/if.h>
++#include <sys/select.h>
+ 
+ struct mcast_conf {
+ 	int ipproto;
-- 
GitLab