Browse Source

Merge pull request #5908 from mwarning/zerotier

zerotier: fix segfault on ARM
lilik-openwrt-22.03
Dirk Brenken 7 years ago
committed by GitHub
parent
commit
8f9f2a3044
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 40 additions and 16 deletions
  1. +1
    -1
      net/zerotier/Makefile
  2. +0
    -3
      net/zerotier/files/zerotier.config
  3. +13
    -12
      net/zerotier/files/zerotier.init
  4. +26
    -0
      net/zerotier/patches/0005-remove-pie.patch

+ 1
- 1
net/zerotier/Makefile View File

@ -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


+ 0
- 3
net/zerotier/files/zerotier.config View File

@ -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


+ 13
- 12
net/zerotier/files/zerotier.init View File

@ -14,15 +14,17 @@ 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
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'
config_get secret $cfg 'secret'
config_get interface $cfg 'interface'
# Remove existing link or folder
rm -rf $CONFIG_PATH
@ -45,10 +47,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
@ -68,15 +73,11 @@ 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_set_param stderr 1
procd_close_instance
}
service_triggers() {
procd_add_reload_trigger zerotier
}
start_service() {
config_load 'zerotier'
config_foreach start_instance 'zerotier'


+ 26
- 0
net/zerotier/patches/0005-remove-pie.patch View File

@ -0,0 +1,26 @@
From 14a8fe1f7cdef1f1e0c0842f6fedde154cf4ab57 Mon Sep 17 00:00:00 2001
From: Moritz Warning <moritzwarning@web.de>
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

Loading…
Cancel
Save