From dbb5bc1160f1d263db685f72117aafc20790b661 Mon Sep 17 00:00:00 2001 From: Bjoern Franke <bjo@nord-west.org> Date: Mon, 24 Feb 2014 06:25:40 +0100 Subject: [PATCH] add minimalistic script for registering fastd-keys --- fastdreg/Makefile | 36 +++++++++++++++++++ .../files/etc/hotplug.d/iface/50-fastdstart | 5 +++ fastdreg/files/etc/init.d/fastdreg | 7 ++++ fastdreg/files/lib/ffol/fastdreg/fastdreg.sh | 19 ++++++++++ 4 files changed, 67 insertions(+) create mode 100644 fastdreg/Makefile create mode 100755 fastdreg/files/etc/hotplug.d/iface/50-fastdstart create mode 100755 fastdreg/files/etc/init.d/fastdreg create mode 100755 fastdreg/files/lib/ffol/fastdreg/fastdreg.sh diff --git a/fastdreg/Makefile b/fastdreg/Makefile new file mode 100644 index 0000000..d695cdc --- /dev/null +++ b/fastdreg/Makefile @@ -0,0 +1,36 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=ffol-fastdreg +PKG_VERSION:=1 +PKG_RELEASE:=1 + +PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) + +include $(INCLUDE_DIR)/package.mk + +define Package/ffol-fastdreg + SECTION:=fastd + CATEGORY:=Freifunk Oldenburg + TITLE:=Adds script which registers fastd-key + DEPENDS:=+gluon-mesh-vpn-fastd +endef + +define Package/ffol-fastdreg/description + Adds script which registers fastd-key +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/ffol-fastdreg/install + $(CP) ./files/* $(1)/ +endef + +$(eval $(call BuildPackage,fastdreg)) diff --git a/fastdreg/files/etc/hotplug.d/iface/50-fastdstart b/fastdreg/files/etc/hotplug.d/iface/50-fastdstart new file mode 100755 index 0000000..27b4da0 --- /dev/null +++ b/fastdreg/files/etc/hotplug.d/iface/50-fastdstart @@ -0,0 +1,5 @@ +#!/bin/sh +[ "$ACTION" = "ifup" -a "$INTERFACE" = "wan" ] && { + sleep 3 + /lib/ffol/fastdreg.sh +} diff --git a/fastdreg/files/etc/init.d/fastdreg b/fastdreg/files/etc/init.d/fastdreg new file mode 100755 index 0000000..44c4f48 --- /dev/null +++ b/fastdreg/files/etc/init.d/fastdreg @@ -0,0 +1,7 @@ +#!/bin/sh +fastdenabled=$(uci get fastd.mesh_vpn.enabled) +fastdregdone=$(uci get fastd.regdone) + +if [ $fastdenabled ] && [ ! $fastdregdone ]; then + /lib/ffol/fastdreg.sh +fi diff --git a/fastdreg/files/lib/ffol/fastdreg/fastdreg.sh b/fastdreg/files/lib/ffol/fastdreg/fastdreg.sh new file mode 100755 index 0000000..845d326 --- /dev/null +++ b/fastdreg/files/lib/ffol/fastdreg/fastdreg.sh @@ -0,0 +1,19 @@ +#!/bin/sh +. /lib/functions.sh + +keysrv="http://vpn.freifunk-ol.de" + +hostname=$(uci get system.@system[0].hostname) + +pubkey=$(/etc/init.d/fastd show_key mesh_vpn) + +regdone=$(uci get fastd.regdone) + +if [ -z $regdone ]; then + + reg=$(wget -T15 "$keysrv/reg.php?name=$hostname&key=$pubkey" -O -) + if [ "$reg" == "regdone" ]; then + uci set fastd.regdone=1 + fi + +fi -- GitLab