wg-installer: create wireguard key if it does not exist
authorNick Hainke <[email protected]>
Thu, 20 Jan 2022 13:10:12 +0000 (14:10 +0100)
committerNick Hainke <[email protected]>
Thu, 20 Jan 2022 13:44:26 +0000 (14:44 +0100)
Check if the key exists which is given by
    option wg_key '/etc/wgserver/wg.key'

Signed-off-by: Nick Hainke <[email protected]>
net/wg-installer/Makefile
net/wg-installer/wg-server/lib/wg_functions.sh

index 1d81271053fab43a08d63606fa78de40643ef305..9718b9c168a5f0be26c7c7a4ba8660e4cb0eecc3 100644 (file)
@@ -22,7 +22,7 @@ define Package/wg-installer-server
        $(call Package/wg-installer/Default)
        TITLE+= (server)
        MENU:=1
-       DEPENDS+=+rpcd +uhttpd +uhttpd-mod-ubus
+       DEPENDS+=+rpcd +uhttpd +uhttpd-mod-ubus +coreutils-dirname
 endef
 
 define Package/wg-installer-server/install
@@ -57,7 +57,7 @@ endef
 
 define Package/wg-installer-server-hotplug-babeld
        $(call Package/wg-installer-server)
-       DEPENDS:=wg-installer-server +coreutils-dirname +coreutils-realpath
+       DEPENDS:=wg-installer-server +coreutils-realpath
 endef
 
 define Package/wg-installer-server-hotplug-babeld/install
@@ -67,7 +67,7 @@ endef
 
 define Package/wg-installer-server-hotplug-olsrd
        $(call Package/wg-installer-server)
-       DEPENDS:=wg-installer-server +coreutils-dirname +coreutils-realpath
+       DEPENDS:=wg-installer-server +coreutils-realpath
 endef
 
 define Package/wg-installer-server-hotplug-olsrd/install
index 98f823324e0fde33ca4afd79b1501b6fdcda526b..56bec24c6594d562dc061a94c6c84e201fd96cc5 100644 (file)
@@ -75,6 +75,9 @@ wg_register () {
                gw_key="/tmp/run/wgserver/${ifname}.key"
                gw_pub="/tmp/run/wgserver/${ifname}.pub"
                wg genkey | tee "$gw_key" | wg pubkey > "$gw_pub"
+       else
+               [ -d "$(dirname $gw_key)" ] || mkdir -p "$(dirname $gw_key)"
+               [ -f "$gw_key" ] || wg genkey | tee "$gw_key" | wg pubkey > "$gw_pub"
        fi
        wg_server_pubkey=$(cat "$gw_pub")