]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/initscripts/system/unbound
unbound: Silence error when upstream name servers cannot be read
[ipfire-2.x.git] / src / initscripts / system / unbound
index 3002f480050cd4f7c63c228843caf15cc5950978..4e7e63e5fa72727f2d7c80079bc35ea0b15ec9d0 100644 (file)
@@ -61,7 +61,7 @@ read_name_servers() {
        local i
        for i in 1 2; do
                echo "$(</var/ipfire/red/dns${i})"
-       done | xargs echo
+       done 2>/dev/null | xargs echo
 }
 
 config_header() {
@@ -454,6 +454,18 @@ disable_dnssec() {
        unbound-control -q set_option val-permissive-mode: yes
 }
 
+fix_time_if_dns_fail() {
+       # If DNS still not work try to init ntp with
+       # hardcoded ntp.ipfire.org (81.3.27.46)
+       if [ -e /var/ipfire/red/active ]; then
+               host 0.ipfire.pool.ntp.org > /dev/null 2>&1
+               if [ "${?}" != "0" ]; then
+                       boot_mesg "DNS still not work ... init time with ntp.ipfire.org at 81.3.27.46 ..."
+                       loadproc /usr/local/bin/settime 81.3.27.46
+               fi
+       fi
+}
+
 case "$1" in
        start)
                # Print a nicer messagen when unbound is already running
@@ -485,15 +497,7 @@ case "$1" in
                # Update hosts
                update_hosts
 
-               # If DNS still not work try to init ntp with
-               # hardcoded ntp.ipfire.org (81.3.27.46)
-               if [ -e /var/ipfire/red/active ]; then
-                       host 0.ipfire.pool.ntp.org > /dev/null 2>&1
-                       if [ "${?}" != "0" ]; then
-                               boot_mesg "DNS still not work ... init time with ntp.ipfire.org at 81.3.27.46 ..."
-                               loadproc /usr/local/bin/settime 81.3.27.46
-                       fi
-               fi
+               fix_time_if_dns_fail
                ;;
 
        stop)
@@ -518,6 +522,11 @@ case "$1" in
                fi
 
                update_forwarders
+
+               unbound-control flush_negative > /dev/null
+               unbound-control flush_bogus > /dev/null
+
+               fix_time_if_dns_fail
                ;;
 
        test-name-server)