convert-dns-settings: Fix check to prevent doubble-adding the same server

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
Stefan Schantl
2020-01-28 16:14:35 +01:00
committed by Arne Fitzenreiter
parent 932cee06f1
commit 358bcfdb29

View File

@@ -43,17 +43,24 @@ main() {
for var in DNS1 DNS2; do
local server="${!var}"
# Check if the current server is allready part
# of the array.
for element in "${SERVERS[@]}"; do
[[ $element == $server ]] && continue
done
SERVERS+=($server)
# Check if the servers array is empty.
if [ ${#SERVERS[@]} -eq 0 ]; then
# Allways add the first found nameserver to the array.
SERVERS+=($server)
else
# Check if the current server is allready part ot the array.
if [[ ! "${SERVERS[@]}" =~ "${server}" ]]; then
# Add the server to the array.
SERVERS+=($server)
fi
fi
done
# Remove DNS1 and DNS2 settings from profile file.
sed -i "/^DNS[12]?=/d" $file
sed -i "/^DNS[12]=/d" $file
# Unset the local variables for the next round.
unset DNS1 DNS2
done
elif [ -s "/var/ipfire/dns/settings" ]; then