From 949fbaa4ba75512c62adc07feebe2056d7bd1552 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Thu, 31 Aug 2023 08:03:44 +0200 Subject: [PATCH] net/wireguard: hook up 'newwanip' and 'vpn' facilities #3565 --- net/wireguard/Makefile | 3 +- .../src/etc/inc/plugins.inc.d/wireguard.inc | 34 +++++++++++++++++++ .../src/etc/rc.syshook.d/start/50-wireguard | 2 -- 3 files changed, 35 insertions(+), 4 deletions(-) delete mode 100755 net/wireguard/src/etc/rc.syshook.d/start/50-wireguard diff --git a/net/wireguard/Makefile b/net/wireguard/Makefile index e597f4f97..4092c7e06 100644 --- a/net/wireguard/Makefile +++ b/net/wireguard/Makefile @@ -1,6 +1,5 @@ PLUGIN_NAME= wireguard -PLUGIN_VERSION= 2.0 -PLUGIN_REVISION= 2 +PLUGIN_VERSION= 2.1 PLUGIN_COMMENT= WireGuard VPN service kernel implementation PLUGIN_DEPENDS= wireguard-kmod PLUGIN_CONFLICTS= wireguard-go diff --git a/net/wireguard/src/etc/inc/plugins.inc.d/wireguard.inc b/net/wireguard/src/etc/inc/plugins.inc.d/wireguard.inc index aed267382..4474b4089 100644 --- a/net/wireguard/src/etc/inc/plugins.inc.d/wireguard.inc +++ b/net/wireguard/src/etc/inc/plugins.inc.d/wireguard.inc @@ -102,3 +102,37 @@ function wireguard_devices() { return [['pattern' => '^wg', 'volatile' => true]]; } + +function wireguard_configure() +{ + return [ + 'newwanip' => ['wireguard_renew:2'], + 'vpn' => ['wireguard_configure_do:2'], + ]; +} + +function wireguard_configure_do($verbose = false, $unused = '') +{ + if (!wireguard_enabled()) { + return; + } + + service_log('Configuring WireGuard VPN...', $verbose); + + configd_run('wireguard configure'); + + service_log("done.\n", $verbose); +} + +function wireguard_renew($verbose = false, $unused = '') +{ + if (!wireguard_enabled()) { + return; + } + + service_log('Renewing WireGuard VPN...', $verbose); + + configd_run('wireguard renew'); + + service_log("done.\n", $verbose); +} diff --git a/net/wireguard/src/etc/rc.syshook.d/start/50-wireguard b/net/wireguard/src/etc/rc.syshook.d/start/50-wireguard deleted file mode 100755 index 826ba71cd..000000000 --- a/net/wireguard/src/etc/rc.syshook.d/start/50-wireguard +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -configctl -dq wireguard configure