From ba1f26a445ca39686c6afad4239e857b9eeee228 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Fri, 30 Aug 2019 18:52:42 +0200 Subject: [PATCH] :ambulance: Fixes CIDR for automated handling of AllowedIPs --- wireguard/rootfs/etc/cont-init.d/config.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/wireguard/rootfs/etc/cont-init.d/config.sh b/wireguard/rootfs/etc/cont-init.d/config.sh index 30bf430..b480ccf 100644 --- a/wireguard/rootfs/etc/cont-init.d/config.sh +++ b/wireguard/rootfs/etc/cont-init.d/config.sh @@ -225,16 +225,20 @@ for peer in $(bashio::config 'peers|keys'); do # Determine allowed IPs for server side config, by default use # peer defined addresses. - allowed_ips="${addresses}" + list=() if bashio::config.has_value "peers[${peer}].allowed_ips"; then # Use allowed IP's defined by the user. - list=() for address in $(bashio::config "peers[${peer}].allowed_ips"); do - [[ "${address}" == *"/"* ]] || address="${address}/24" + [[ "${address}" == *"/"* ]] || address="${address}/32" + list+=("${address}") + done + else + for address in $(bashio::config "peers[${peer}].addresses"); do + [[ "${address}" == *"/"* ]] || address="${address}/32" list+=("${address}") done - allowed_ips=$(IFS=", "; echo "${list[*]}") fi + allowed_ips=$(IFS=", "; echo "${list[*]}") # Determine persistent keep alive keep_alive=25