zerotier: update zerotier to 1.2.2
authorMoritz Warning <moritzwarning@web.de>
Sun, 19 Mar 2017 00:20:58 +0000 (01:20 +0100)
committerMoritz Warning <moritzwarning@web.de>
Sun, 19 Mar 2017 16:57:14 +0000 (17:57 +0100)
Signed-off-by: Moritz Warning <moritzwarning@web.de>
net/zerotier/Config.in
net/zerotier/Makefile
net/zerotier/patches/0001-Fix-for-running-under-MUSL-libc-e.g.-Alpine-Linux.patch [deleted file]
net/zerotier/patches/0001-prevent-D_FORTIFY_SOURCE-from-being-defined-twice.patch [new file with mode: 0644]
net/zerotier/patches/0002-fix-build.patch [deleted file]
net/zerotier/patches/0002-make-natpmp-miniupnpc-configurable.patch [new file with mode: 0644]
net/zerotier/patches/0003-workaround_to_avoid_seg_faults.patch [deleted file]
net/zerotier/patches/0005-use-external-miniupnpc-and-natpmp.patch [deleted file]

index dd6f2caab14965e34d708987e023d7c3f0cc4d50..bf38b0bcaed7175de1503eaa79a9f3b5e2041354 100644 (file)
@@ -6,18 +6,18 @@ config ZEROTIER_ENABLE_DEBUG
        depends on PACKAGE_zerotier
        default n
 
-config ZEROTIER_USE_MINIUPNPC
-       bool "Build with MiniUPnPc"
+config ZEROTIER_ENABLE_PORTMAPPING
+       bool "Build with MiniUPnPc and NAT-PMP support"
        depends on PACKAGE_zerotier
        default n
 
-config ZEROTIER_ENABLE_NETWORK_CONTROLLER
-       bool "Build with network controller"
+config ZEROTIER_ENABLE_CLUSTER
+       bool "Build with cluster support"
        depends on PACKAGE_zerotier
        default n
 
 config ZEROTIER_ENABLE_SELFTEST
-       bool "Build self test program"
+       bool "Build self test program"
        depends on PACKAGE_zerotier
        default n
 
index f838ffc061d0bfe6d5fc0238a6b51967a5233b26..c2443f520b0c8e6b9962d93a8e646b0122a8f6cd 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zerotier
-PKG_VERSION:=1.1.14
+PKG_VERSION:=1.2.2
 PKG_RELEASE:=4
 
 PKG_LICENSE:=GPL-3.0
@@ -14,19 +14,18 @@ PKG_LICENSE:=GPL-3.0
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/zerotier/ZeroTierOne
 PKG_SOURCE_SUBDIR:=ZeroTierOne-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=ae491c277e6f35d1acbdcbf700e2b834957295ae
+PKG_SOURCE_VERSION:=cfe0d0971f3ce5972d955250dc1ff6ec7a30e3f7
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_MIRROR_MD5SUM:=c8c3219c995a59161832d580a194f6280de7a4eef75cebece6f38400b64f003e
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
 
-PKG_BUILD_DEPENDS:=uclibcxx
 PKG_BUILD_PARALLEL:=1
 include $(INCLUDE_DIR)/package.mk
 
 define Package/zerotier
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+libpthread +kmod-tun +ip +ZEROTIER_ENABLE_NETWORK_CONTROLLER:libsqlite3 +ZEROTIER_USE_MINIUPNPC:libminiupnpc +ZEROTIER_USE_MINIUPNPC:libnatpmp
+  DEPENDS:=+libpthread +kmod-tun +ip +libstdcpp +ZEROTIER_ENABLE_PORTMAPPING:libminiupnpc +ZEROTIER_ENABLE_PORTMAPPING:libnatpmp
   TITLE:=Create flat virtual Ethernet networks of almost unlimited size
   URL:=https://www.zerotier.com
   SUBMENU:=VPN
@@ -41,25 +40,18 @@ define Package/zerotier/config
        source "$(SOURCE)/Config.in"
 endef
 
-ifeq ($(CONFIG_ZEROTIER_ENABLE_NETWORK_CONTROLLER),y)
-MAKE_FLAGS += ZT_ENABLE_NETWORK_CONTROLLER=1
-MAKE_FLAGS += LDLIBS+=" -lsqlite3 "
+ifeq ($(CONFIG_ZEROTIER_ENABLE_CLUSTER),y)
+MAKE_FLAGS += ZT_ENABLE_CLUSTER=1
 endif
 
-ifeq ($(CONFIG_ZEROTIER_USE_MINIUPNPC),y)
-MAKE_FLAGS += ZT_USE_MINIUPNPC=1
+ifeq ($(CONFIG_ZEROTIER_ENABLE_PORTMAPPING),y)
+MAKE_FLAGS += ZT_ENABLE_PORTMAPPING=1
 endif
 
 ifeq ($(CONFIG_ZEROTIER_ENABLE_DEBUG),y)
 TARGET_CXXFLAGS += -DZT_TRACE -ggdb3
 endif
 
-MAKE_FLAGS += \
-       DEFS="" \
-       LDFLAGS+=" -L$(STAGING_DIR)/usr/lib/uClibc++ -pthread " \
-       LDLIBS+=" -fno-builtin -nodefaultlibs -Wl,-Bstatic -luClibc++ -Wl,-Bdynamic -lpthread -lm -lc -lsupc++ -lc -lgcc -lgcc_eh -lgcc_s -lssp_nonshared " \
-       CXXFLAGS+=" -fno-builtin -nostdinc++ -I$(STAGING_DIR)/usr/include/uClibc++ -DGCC_HASCLASSVISIBILITY -Wall -fPIE -fvisibility=hidden "
-
 define Build/Compile
        $(call Build/Compile/Default,one)
 ifeq ($(CONFIG_ZEROTIER_ENABLE_SELFTEST),y)
@@ -71,7 +63,7 @@ define Package/zerotier/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/zerotier-one $(1)/usr/bin/
        $(LN) zerotier-one $(1)/usr/bin/zerotier-cli
-       $(LN) zerotier-one $(1)/usr/bin//zerotier-idtool
+       $(LN) zerotier-one $(1)/usr/bin/zerotier-idtool
 
 ifeq ($(CONFIG_ZEROTIER_ENABLE_SELFTEST),y)
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/zerotier-selftest $(1)/usr/bin/
diff --git a/net/zerotier/patches/0001-Fix-for-running-under-MUSL-libc-e.g.-Alpine-Linux.patch b/net/zerotier/patches/0001-Fix-for-running-under-MUSL-libc-e.g.-Alpine-Linux.patch
deleted file mode 100644 (file)
index 119491f..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-From 830250759cd4c14ca2ae5ddf24f0a0427f258622 Mon Sep 17 00:00:00 2001
-From: Adam Ierymenko <adam.ierymenko@gmail.com>
-Date: Tue, 26 Jul 2016 16:36:20 -0700
-Subject: [PATCH 1/2] Fix for running under MUSL libc (e.g. Alpine Linux)
-
----
- osdep/Thread.hpp | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/osdep/Thread.hpp b/osdep/Thread.hpp
-index 7fb38d8..4f90dc0 100644
---- a/osdep/Thread.hpp
-+++ b/osdep/Thread.hpp
-@@ -125,6 +125,10 @@ public:
-               throw()\r
-       {\r
-               memset(&_tid,0,sizeof(_tid));\r
-+              pthread_attr_init(&_tattr);\r
-+#ifdef __LINUX__\r
-+              pthread_attr_setstacksize(&_tattr,8388608); // for MUSL libc and others, has no effect in normal glibc environments\r
-+#endif\r
-               _started = false;\r
-       }\r
\r
-@@ -157,7 +161,7 @@ public:
-       {\r
-               Thread t;\r
-               t._started = true;\r
--              if (pthread_create(&t._tid,(const pthread_attr_t *)0,&___zt_threadMain<C>,instance))\r
-+              if (pthread_create(&t._tid,&t._tattr,&___zt_threadMain<C>,instance))\r
-                       throw std::runtime_error("pthread_create() failed, unable to create thread");\r
-               return t;\r
-       }\r
-@@ -184,6 +188,7 @@ public:
\r
- private:\r
-       pthread_t _tid;\r
-+      pthread_attr_t _tattr;\r
-       volatile bool _started;\r
- };\r
\r
--- 
-2.9.0
-
diff --git a/net/zerotier/patches/0001-prevent-D_FORTIFY_SOURCE-from-being-defined-twice.patch b/net/zerotier/patches/0001-prevent-D_FORTIFY_SOURCE-from-being-defined-twice.patch
new file mode 100644 (file)
index 0000000..fe9d04a
--- /dev/null
@@ -0,0 +1,28 @@
+From 4fd495fca8417a8fd4405951d1eee80f345eaf9b Mon Sep 17 00:00:00 2001
+From: Moritz Warning <moritzwarning@web.de>
+Date: Sun, 19 Mar 2017 01:13:14 +0100
+Subject: [PATCH 1/2] prevent D_FORTIFY_SOURCE from being defined twice
+
+---
+ make-linux.mk | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/make-linux.mk b/make-linux.mk
+index 7c77f58f..508d8c42 100644
+--- a/make-linux.mk
++++ b/make-linux.mk
+@@ -8,9 +8,10 @@ ifeq ($(origin CXX),default)
+ endif
+ INCLUDES?=
+-DEFS?=-D_FORTIFY_SOURCE=2
++DEFS?=
+ LDLIBS?=
+ DESTDIR?=
++ZT_ENABLE_PORTMAPPING?=0
+ include objects.mk
+-- 
+2.12.0
+
diff --git a/net/zerotier/patches/0002-fix-build.patch b/net/zerotier/patches/0002-fix-build.patch
deleted file mode 100644 (file)
index 34088c8..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-From 333bbabc6dfad0553fb63d560ab6442a50cc9e52 Mon Sep 17 00:00:00 2001
-From: Moritz Warning <moritzwarning@web.de>
-Date: Fri, 22 Jul 2016 23:27:31 +0200
-Subject: [PATCH 2/2] fix build
-
----
- make-linux.mk | 30 +++++++++++++++---------------
- 1 file changed, 15 insertions(+), 15 deletions(-)
-
---- a/make-linux.mk
-+++ b/make-linux.mk
-@@ -39,24 +39,24 @@ include objects.mk
- # On Linux we auto-detect the presence of some libraries and if present we
- # link against the system version. This works with our package build images.
--ifeq ($(wildcard /usr/include/lz4.h),)
-+#ifeq ($(wildcard $(STAGING_DIR)/usr/include/lz4.h),)
-       OBJS+=ext/lz4/lz4.o
--else
--      LDLIBS+=-llz4
--      DEFS+=-DZT_USE_SYSTEM_LZ4
--endif
--ifeq ($(wildcard /usr/include/http_parser.h),)
-+#else
-+#     LDLIBS+=-llz4
-+#     DEFS+=-DZT_USE_SYSTEM_LZ4
-+#endif
-+#ifeq ($(wildcard $(STAGING_DIR)/usr/include/http_parser.h),)
-       OBJS+=ext/http-parser/http_parser.o
--else
--      LDLIBS+=-lhttp_parser
--      DEFS+=-DZT_USE_SYSTEM_HTTP_PARSER
--endif
--ifeq ($(wildcard /usr/include/json-parser/json.h),)
-+#else
-+#     LDLIBS+=-lhttp_parser
-+#     DEFS+=-DZT_USE_SYSTEM_HTTP_PARSER
-+#endif
-+#ifeq ($(wildcard $(STAGING_DIR)/usr/include/json-parser/json.h),)
-       OBJS+=ext/json-parser/json.o
--else
--      LDLIBS+=-ljsonparser
--      DEFS+=-DZT_USE_SYSTEM_JSON_PARSER
--endif
-+#else
-+#     LDLIBS+=-ljsonparser
-+#     DEFS+=-DZT_USE_SYSTEM_JSON_PARSER
-+#endif
- ifeq ($(ZT_USE_MINIUPNPC),1)
-       OBJS+=osdep/PortMapper.o
diff --git a/net/zerotier/patches/0002-make-natpmp-miniupnpc-configurable.patch b/net/zerotier/patches/0002-make-natpmp-miniupnpc-configurable.patch
new file mode 100644 (file)
index 0000000..1ec8ea8
--- /dev/null
@@ -0,0 +1,56 @@
+From b8390696d81f66109560d12046bb63b9704e07f3 Mon Sep 17 00:00:00 2001
+From: Moritz Warning <moritzwarning@web.de>
+Date: Sun, 19 Mar 2017 01:14:10 +0100
+Subject: [PATCH 2/2] make natpmp/miniupnpc configurable
+
+also include staging_dir variable in the search paths
+---
+ make-linux.mk | 32 ++++++++++++++++++--------------
+ 1 file changed, 18 insertions(+), 14 deletions(-)
+
+diff --git a/make-linux.mk b/make-linux.mk
+index 508d8c42..36060857 100644
+--- a/make-linux.mk
++++ b/make-linux.mk
+@@ -22,20 +22,24 @@ OBJS+=ext/http-parser/http_parser.o
+ # Auto-detect miniupnpc and nat-pmp as well and use system libs if present,
+ # otherwise build into binary as done on Mac and Windows.
+ OBJS+=osdep/PortMapper.o
+-DEFS+=-DZT_USE_MINIUPNPC
+-MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2.."' /usr/include/miniupnpc/miniupnpc.h && echo 1)
+-ifeq ($(MINIUPNPC_IS_NEW_ENOUGH),1)
+-      DEFS+=-DZT_USE_SYSTEM_MINIUPNPC
+-      LDLIBS+=-lminiupnpc
+-else
+-      DEFS+=-DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING=\"Linux\" -DMINIUPNPC_VERSION_STRING=\"2.0\" -DUPNP_VERSION_STRING=\"UPnP/1.1\" -DENABLE_STRNATPMPERR
+-      OBJS+=ext/miniupnpc/connecthostport.o ext/miniupnpc/igd_desc_parse.o ext/miniupnpc/minisoap.o ext/miniupnpc/minissdpc.o ext/miniupnpc/miniupnpc.o ext/miniupnpc/miniwget.o ext/miniupnpc/minixml.o ext/miniupnpc/portlistingparse.o ext/miniupnpc/receivedata.o ext/miniupnpc/upnpcommands.o ext/miniupnpc/upnpdev.o ext/miniupnpc/upnperrors.o ext/miniupnpc/upnpreplyparse.o
+-endif
+-ifeq ($(wildcard /usr/include/natpmp.h),)
+-      OBJS+=ext/libnatpmp/natpmp.o ext/libnatpmp/getgateway.o
+-else
+-      LDLIBS+=-lnatpmp
+-      DEFS+=-DZT_USE_SYSTEM_NATPMP
++
++ifeq ($(ZT_ENABLE_PORTMAPPING),1)
++      DEFS+=-DZT_USE_MINIUPNPC
++      MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2.."' $(STAGING_DIR)/usr/include/miniupnpc/miniupnpc.h && echo 1)
++      ifeq ($(MINIUPNPC_IS_NEW_ENOUGH),1)
++              DEFS+=-DZT_USE_SYSTEM_MINIUPNPC
++              LDLIBS+=-lminiupnpc
++      else
++              DEFS+=-DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING=\"Linux\" -DMINIUPNPC_VERSION_STRING=\"2.0\" -DUPNP_VERSION_STRING=\"UPnP/1.1\" -DENABLE_STRNATPMPERR
++              OBJS+=ext/miniupnpc/connecthostport.o ext/miniupnpc/igd_desc_parse.o ext/miniupnpc/minisoap.o ext/miniupnpc/minissdpc.o ext/miniupnpc/miniupnpc.o ext/miniupnpc/miniwget.o ext/miniupnpc/minixml.o ext/miniupnpc/portlistingparse.o ext/miniupnpc/receivedata.o ext/miniupnpc/upnpcommands.o ext/miniupnpc/upnpdev.o ext/miniupnpc/upnperrors.o ext/miniupnpc/upnpreplyparse.o
++      endif
++
++      ifeq ($(wildcard $(STAGING_DIR)/usr/include/natpmp.h),)
++              OBJS+=ext/libnatpmp/natpmp.o ext/libnatpmp/getgateway.o
++      else
++              LDLIBS+=-lnatpmp
++              DEFS+=-DZT_USE_SYSTEM_NATPMP
++      endif
+ endif
+ ifeq ($(ZT_ENABLE_CLUSTER),1)
+-- 
+2.12.0
+
diff --git a/net/zerotier/patches/0003-workaround_to_avoid_seg_faults.patch b/net/zerotier/patches/0003-workaround_to_avoid_seg_faults.patch
deleted file mode 100644 (file)
index e27f872..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From 21f4958bd48cae59b478b1b3445e00fa4fb18991 Mon Sep 17 00:00:00 2001
-From: muebau <muebau@gmail.com>
-Date: Fri, 5 Aug 2016 19:22:45 +0200
-Subject: [PATCH] OpenWRT workaround to avoid seg faults
-
----
- service/OneService.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/service/OneService.cpp b/service/OneService.cpp
-index 13820f5..9ba3238 100644
---- a/service/OneService.cpp
-+++ b/service/OneService.cpp
-@@ -862,8 +862,8 @@ public:
-                       }
-                       // Start two background threads to handle expensive ops out of line
--                      Thread::start(_node);
--                      Thread::start(_node);
-+                      //Thread::start(_node);
-+                      //Thread::start(_node);
-                       _nextBackgroundTaskDeadline = 0;
-                       uint64_t clockShouldBe = OSUtils::now();
--- 
-2.7.4
-
diff --git a/net/zerotier/patches/0005-use-external-miniupnpc-and-natpmp.patch b/net/zerotier/patches/0005-use-external-miniupnpc-and-natpmp.patch
deleted file mode 100644 (file)
index 377abef..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/make-linux.mk
-+++ b/make-linux.mk
-@@ -64,7 +64,8 @@ ifeq ($(ZT_USE_MINIUPNPC),1)
-       DEFS+=-DZT_USE_MINIUPNPC
-       # Auto-detect libminiupnpc at least v2.0
--      MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2.."' /usr/include/miniupnpc/miniupnpc.h && echo 1)
-+      #MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2.."' $(STAGING_DIR)/usr/include/miniupnpc/miniupnpc.h && echo 1)
-+      MINIUPNPC_IS_NEW_ENOUGH=1
-       ifeq ($(MINIUPNPC_IS_NEW_ENOUGH),1)
-               DEFS+=-DZT_USE_SYSTEM_MINIUPNPC
-               LDLIBS+=-lminiupnpc
-@@ -74,7 +75,7 @@ ifeq ($(ZT_USE_MINIUPNPC),1)
-       endif
-       # Auto-detect libnatpmp
--      ifeq ($(wildcard /usr/include/natpmp.h),)
-+      ifeq ($(wildcard $(STAGING_DIR)/usr/include/natpmp.h),)
-               OBJS+=ext/libnatpmp/natpmp.o ext/libnatpmp/getgateway.o
-       else
-               LDLIBS+=-lnatpmp
---- a/osdep/PortMapper.cpp
-+++ b/osdep/PortMapper.cpp
-@@ -180,7 +180,7 @@ public:
-                               struct IGDdatas data;
-                               int upnpError = 0;
--                              UPNPDev *devlist = upnpDiscoverAll(5000,(const char *)0,(const char *)0,0,0,2,&upnpError);
-+                              UPNPDev *devlist = upnpDiscoverAll(5000,(const char *)0,(const char *)0,0,0,&upnpError);
-                               if (devlist) {
- #ifdef ZT_PORTMAPPER_TRACE