summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHannu Nyman <hannu.nyman@iki.fi>2019-03-24 10:08:18 +0200
committerGitHub <noreply@github.com>2019-03-24 10:08:18 +0200
commit80f2556eb23b9e61c4eb34df134c0cf0b970c97a (patch)
tree6cd6499cf5f6d1a411cf4362cd40cdacc0d6a588
parent594a884c2d6dbfeaa64705f34f17131bb900e952 (diff)
parent29c341684f6a68dece59a00ce0bac463c6cef8ed (diff)
Merge pull request #8479 from wfleurant/ygg-init-nodeinfo
yggdrasil: fix startup and generate nodeInfo info
-rw-r--r--net/yggdrasil/Makefile2
-rw-r--r--net/yggdrasil/files/yggdrasil.defaults37
-rwxr-xr-xnet/yggdrasil/files/yggdrasil.init1
3 files changed, 37 insertions, 3 deletions
diff --git a/net/yggdrasil/Makefile b/net/yggdrasil/Makefile
index ae1afc6bf..9c35acec2 100644
--- a/net/yggdrasil/Makefile
+++ b/net/yggdrasil/Makefile
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=yggdrasil
PKG_VERSION:=0.3.5
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE_URL:=https://codeload.github.com/yggdrasil-network/yggdrasil-go/tar.gz/v$(PKG_VERSION)?
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
diff --git a/net/yggdrasil/files/yggdrasil.defaults b/net/yggdrasil/files/yggdrasil.defaults
index 2f2bb1dba..368750013 100644
--- a/net/yggdrasil/files/yggdrasil.defaults
+++ b/net/yggdrasil/files/yggdrasil.defaults
@@ -2,9 +2,42 @@
yggConfig="/etc/yggdrasil.conf"
+first_boot_genConfig()
+{
+ . /usr/share/libubox/jshn.sh
+ boardcfg=$(ubus call system board)
+ yggcfg=$(yggdrasil -genconf -json | grep NodeInfo -v)
+
+ json_load "$boardcfg"
+ json_get_var kernel kernel
+ json_get_var hostname hostname
+ json_get_var system system
+ json_get_var model model
+ json_get_var board_name board_name
+
+ json_load "$yggcfg"
+ json_add_string "IfName" "ygg0"
+ json_add_object "NodeInfo"
+ json_add_string "kernel" "$kernel"
+ json_add_string "hostname" "$hostname"
+ json_add_string "system" "$system"
+ json_add_string "model" "$model"
+ json_add_string "board_name" "$board_name"
+ json_close_object
+ json_dump
+}
+
if [ ! -e ${yggConfig} ]; then
+ echo "first_boot: adding system board details to NodeInfo[] in NEW config: ${yggConfig}" | logger -t yggdrasil
- yggdrasil -genconf -json > ${yggConfig}
+ first_boot_genConfig > ${yggConfig}
+
+ # create the network interface
+ uci -q batch <<-EOF >/dev/null
+ set network.yggdrasil=interface
+ set network.yggdrasil.ifname=ygg0
+ set network.yggdrasil.proto=none
+EOF
# create the firewall zone
uci -q batch <<-EOF >/dev/null
@@ -58,6 +91,8 @@ EOF
set firewall.@rule[-1].target=ACCEPT
EOF
+ uci commit firewall
+ uci commit network
else
:
diff --git a/net/yggdrasil/files/yggdrasil.init b/net/yggdrasil/files/yggdrasil.init
index 82c209b4e..afdcdb433 100755
--- a/net/yggdrasil/files/yggdrasil.init
+++ b/net/yggdrasil/files/yggdrasil.init
@@ -11,7 +11,6 @@ start_service()
procd_open_instance
procd_set_param respawn
- procd_set_param command /usr/sbin/yggdrasil -useconffile /etc/yggdrasil.conf
procd_set_param command /bin/ash -c "/usr/sbin/yggdrasil -useconffile /etc/yggdrasil.conf | logger -t yggdrasil"
procd_close_instance