diff --git a/back/srv/dashboard/add b/back/srv/dashboard/add index 214ea24..220fe6e 100755 --- a/back/srv/dashboard/add +++ b/back/srv/dashboard/add @@ -70,10 +70,9 @@ hostnames="$(<<<"${peers}" awk '{print $1}' | cut -d'.' -f1)" ipv4s="$(<<<"${peers}" awk '{print $2}')" ipv6s="$(<<<"${peers}" awk '{print $3}')" usernumber="$(<<<"${ipv4s}" head -n1 | cut -d'.' -f3)" -used_ips="$(<<<"${ipv4s}" cut -d'.' -f3)\n$(<<<"${ipv6s}" cut -d'.' -f3)" -used_hostnumbers="$(<<<"${used_ips}" sort | uniq)" -hostnumber=1 -while printf '%s' "${used_hostnumbers}" | grep "${hostnumber}" +# Increment hostnumber from 1 until an unused one is found +used_hostnumbers="$(<<<"${ipv4s}" cut -d'.' -f4 | sort | uniq)" +hostnumber=1; while printf <<<"${used_hostnumbers}" grep "${hostnumber}" do ((hostnumber++)) done ipv4="${IPV4_NET%.*.*}.${usernumber}.${hostnumber}"