]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
convert-dns-settings: remove DNS settings also if no server config is generated
authorArne Fitzenreiter <arne_f@ipfire.org>
Tue, 28 Jan 2020 20:31:22 +0000 (20:31 +0000)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 28 Jan 2020 20:31:22 +0000 (20:31 +0000)
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
src/scripts/convert-dns-settings

index 1d9b22dcdbf78f5d520a050631d0e16dd3e6c512..23d76ec8892251e80efbf2d6c54b213373735e0f 100755 (executable)
 #                                                                             #
 ###############################################################################
 
+FILES=(
+       /var/ipfire/ethernet/settings
+       /var/ipfire/dns/settings
+       /var/ipfire/ppp/settings-*
+)
+
 main() {
        # Do not convert anything if we already have some servers set
        if [ ! -s "/var/ipfire/dns/servers" ]; then
@@ -27,7 +33,7 @@ main() {
 
                # Loop through all PPP profiles
                local file
-               for file in /var/ipfire/ethernet/settings /var/ipfire/dns/settings /var/ipfire/ppp/settings-*; do
+               for file in "${FILES[@]}"; do
                        if [ -s "${file}" ]; then
                                local DNS0 DNS1 DNS2
                                eval $(/usr/local/bin/readhash "${file}")
@@ -37,9 +43,6 @@ main() {
                                for var in DNS0 DNS1 DNS2; do
                                        SERVERS+=( "${!var}" )
                                done
-
-                               # Remove DNS, DNS0, DNS1 and DNS2 settings from profile file
-                               sed -Ei "/^DNS[012]?=/d" "${file}"
                        fi
                done
 
@@ -62,6 +65,13 @@ main() {
                fi
        fi
 
+       # Remove all old settings from files
+       local file
+       for file in "${FILES[@]}"; do   
+               # Remove DNS, DNS0, DNS1 and DNS2
+               sed -Ei "/^DNS[012]?=/d" "${file}"
+       done
+
        # Set correct ownership.
        chown nobody:nobody /var/ipfire/dns/settings