From a69fbb2222f8f3f53dde00045d413d96e508e88b Mon Sep 17 00:00:00 2001 From: Hanspeter Portner Date: Sun, 18 Jun 2023 22:21:26 +0200 Subject: [PATCH] sxmo_networks.sh: support multiple VPNs Configurations with multiple VPNs currently fail to show the networks dialog due to a failing sed invocation due to multiple lines in VPNDEVICE env var: $ nmcli con show --active NAME UUID TYPE DEVICE wired xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ethernet eth0 mullvad-nl5 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx wireguard mullvad-nl5 lo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx loopback lo wg-forge xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx wireguard wg-forge This patch adds support for arbitrary numbers of VPNs by concatenating the VPN names with a '|' and running the latter through sed with support for extended regexp (needed for the '|' interpreted as an or). Signed-off-by: Peter John Hartman --- scripts/core/sxmo_networks.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/core/sxmo_networks.sh b/scripts/core/sxmo_networks.sh index 02c7a72..7445f4e 100755 --- a/scripts/core/sxmo_networks.sh +++ b/scripts/core/sxmo_networks.sh @@ -10,7 +10,7 @@ set -e -VPNDEVICE="$(nmcli con show --active | grep -E 'wireguard|vpn' | awk '{ print $1 }')" +VPNDEVICE="$(nmcli con show --active | grep -E 'wireguard|vpn' | awk '{ print $1 }' | paste -s -d '|')" nofail() { "$@" || return 0 @@ -33,7 +33,7 @@ connections() { sed "s/802-3-ethernet:/$icon_usb /" | \ sed "s/^:/$icon_dof /" |\ sed "s/^cdc-wdm.*:/$icon_don /" |\ - sed "s/^$VPNDEVICE.*:/$icon_don /" |\ + sed -E "s/^$VPNDEVICE.*:/$icon_don /" |\ sed "s/^wlan.*:/$icon_don /" |\ sed "s/^wwan.*:/$icon_don /" |\ sed "s/^eth.*:/$icon_don /" |\