From a0b12895dcd88435dc68c9619dc1b9fc6dcaeca6 Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Thu, 12 Apr 2018 17:41:42 +0200 Subject: [PATCH 1/6] zerotier: disable -pie to avoid segfault Signed-off-by: Moritz Warning --- net/zerotier/patches/0005-remove-pie.patch | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 net/zerotier/patches/0005-remove-pie.patch diff --git a/net/zerotier/patches/0005-remove-pie.patch b/net/zerotier/patches/0005-remove-pie.patch new file mode 100644 index 0000000000..63f2efcbab --- /dev/null +++ b/net/zerotier/patches/0005-remove-pie.patch @@ -0,0 +1,26 @@ +From 14a8fe1f7cdef1f1e0c0842f6fedde154cf4ab57 Mon Sep 17 00:00:00 2001 +From: Moritz Warning +Date: Thu, 12 Apr 2018 17:09:16 +0200 +Subject: [PATCH 5/5] remove -pie + +this prevents immediate segfault on start +--- + make-linux.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/make-linux.mk b/make-linux.mk +index f5b3d8df..8589e5d6 100644 +--- a/make-linux.mk ++++ b/make-linux.mk +@@ -67,7 +67,7 @@ else + override CFLAGS+=-Wall -fPIE -pthread $(INCLUDES) -DNDEBUG $(DEFS) + CXXFLAGS?=-O3 -fstack-protector + override CXXFLAGS+=-Wall -Wno-unused-result -Wreorder -fPIE -std=c++11 -pthread $(INCLUDES) -DNDEBUG $(DEFS) +- override LDFLAGS+=-pie -Wl,-z,relro,-z,now ++ override LDFLAGS+=-Wl,-z,relro,-z,now + STRIP?=strip + STRIP+=--strip-all + endif +-- +2.16.3 + From 939a2a8e4b51ce68342393df50a307d17d4a713b Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Thu, 12 Apr 2018 17:43:13 +0200 Subject: [PATCH 2/6] zerotier: remove broken option interface Signed-off-by: Moritz Warning --- net/zerotier/files/zerotier.config | 3 --- net/zerotier/files/zerotier.init | 8 +------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/net/zerotier/files/zerotier.config b/net/zerotier/files/zerotier.config index 9d49490e3b..b62e15532d 100644 --- a/net/zerotier/files/zerotier.config +++ b/net/zerotier/files/zerotier.config @@ -5,9 +5,6 @@ config zerotier sample_config # persistent configuration folder (for ZT controller mode) #option config_path '/etc/zerotier' - # restart ZT when wan status changed - option interface 'wan' - #option port '9993' # Generate secret on first start diff --git a/net/zerotier/files/zerotier.init b/net/zerotier/files/zerotier.init index d4831bdd56..1c931256ca 100644 --- a/net/zerotier/files/zerotier.init +++ b/net/zerotier/files/zerotier.init @@ -14,7 +14,7 @@ section_enabled() { start_instance() { local cfg="$1" - local port secret interface config_path + local port secret config_path local ARGS="" section_enabled "$cfg" || return 1 @@ -22,7 +22,6 @@ start_instance() { config_get config_path $cfg 'config_path' config_get_bool port $cfg 'port' config_get secret $cfg 'secret' - config_get interface $cfg 'interface' # Remove existing link or folder rm -rf $CONFIG_PATH @@ -68,15 +67,10 @@ start_instance() { config_list_foreach $cfg 'join' add_join procd_open_instance - procd_add_reload_interface_trigger "$interface" procd_set_param command $PROG $ARGS $CONFIG_PATH procd_close_instance } -service_triggers() { - procd_add_reload_trigger zerotier -} - start_service() { config_load 'zerotier' config_foreach start_instance 'zerotier' From 488ac042f62cc65e750fa44e13e67ef6cd06cca6 Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Thu, 12 Apr 2018 17:43:36 +0200 Subject: [PATCH 3/6] zerotier: log errors Signed-off-by: Moritz Warning --- net/zerotier/files/zerotier.init | 1 + 1 file changed, 1 insertion(+) diff --git a/net/zerotier/files/zerotier.init b/net/zerotier/files/zerotier.init index 1c931256ca..78fe87e947 100644 --- a/net/zerotier/files/zerotier.init +++ b/net/zerotier/files/zerotier.init @@ -68,6 +68,7 @@ start_instance() { procd_open_instance procd_set_param command $PROG $ARGS $CONFIG_PATH + procd_set_param stderr 1 procd_close_instance } From a70f13dcba01b4d355a0b5242572c5d6d3fcac41 Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Thu, 12 Apr 2018 17:48:14 +0200 Subject: [PATCH 4/6] zerotier: abort on zerotier-idtool error Signed-off-by: Moritz Warning --- net/zerotier/files/zerotier.init | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/net/zerotier/files/zerotier.init b/net/zerotier/files/zerotier.init index 78fe87e947..6d0f4f239d 100644 --- a/net/zerotier/files/zerotier.init +++ b/net/zerotier/files/zerotier.init @@ -44,10 +44,13 @@ start_instance() { if [ "$secret" = "generate" ]; then echo "Generate secret - please wait..." - local tmp="/tmp/zt.$cfg.secret" - zerotier-idtool generate "$tmp" > /dev/null - secret="$(cat $tmp)" - rm "$tmp" + local sf="/tmp/zt.$cfg.secret" + + zerotier-idtool generate "$sf" > /dev/null + [ $? -ne 0 ] && return 1 + + secret="$(cat $sf)" + rm "$sf" uci set zerotier.$cfg.secret="$secret" uci commit zerotier From 279967df99fb51dd576f22d249d21a13d41357c4 Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Thu, 12 Apr 2018 17:48:32 +0200 Subject: [PATCH 5/6] zerotier: show message when section disabled Signed-off-by: Moritz Warning --- net/zerotier/files/zerotier.init | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/net/zerotier/files/zerotier.init b/net/zerotier/files/zerotier.init index 6d0f4f239d..390dbd3127 100644 --- a/net/zerotier/files/zerotier.init +++ b/net/zerotier/files/zerotier.init @@ -17,7 +17,10 @@ start_instance() { local port secret config_path local ARGS="" - section_enabled "$cfg" || return 1 + if ! section_enabled "$cfg"; then + echo "disabled in config" + return 1 + fi config_get config_path $cfg 'config_path' config_get_bool port $cfg 'port' From d014516ac0fff52d15b6f35dba2eef10c1e39785 Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Thu, 12 Apr 2018 17:54:59 +0200 Subject: [PATCH 6/6] zerotier: bump package version Signed-off-by: Moritz Warning --- net/zerotier/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/zerotier/Makefile b/net/zerotier/Makefile index 4731e0b4dc..3890092ab6 100644 --- a/net/zerotier/Makefile +++ b/net/zerotier/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=zerotier PKG_VERSION:=1.2.4 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_LICENSE:=GPL-3.0