]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/initscripts/system/unbound
unbound: check if red/iface exists before read it
[ipfire-2.x.git] / src / initscripts / system / unbound
index e797079c4f1f3afa8f2e32083e91bbbe9794d39f..5d3c5062ff5accbd8fa13f038d78595282023b1f 100644 (file)
@@ -48,7 +48,7 @@ config_header() {
 }
 
 update_forwarders() {
-       if [ "${USE_FORWARDERS}" = "1" -a -e "/var/ipfire/red/active" ]; then
+       if [ "${USE_FORWARDERS}" = "1" -a -e "/var/ipfire/red/iface" -a "$(</sys/class/net/$(</var/ipfire/red/iface)/carrier)" = "1" ]; then
                local forwarders
                local broken_forwarders
 
@@ -473,7 +473,7 @@ disable_dnssec() {
 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
+       if [ -e "/var/ipfire/red/iface" -a "$(</sys/class/net/$(</var/ipfire/red/iface)/carrier)" = "1" ]; then
                host 0.ipfire.pool.ntp.org > /dev/null 2>&1
                if [ "${?}" != "0" ]; then
                        boot_mesg "DNS still not functioning... Trying to sync time with ntp.ipfire.org (81.3.27.46)..."
@@ -711,13 +711,13 @@ write_safe_search_conf() {
                echo "server:"
 
                # Bing
-               echo "  local-zone: www.bing.com transparent"
+               echo "  local-zone: bing.com transparent"
                for address in $(resolve "strict.bing.com"); do
                        echo "  local-data: \"www.bing.com ${LOCAL_TTL} IN A ${address}\""
                done
 
                # DuckDuckGo
-               echo "  local-zone: duckduckgo.com transparent"
+               echo "  local-zone: duckduckgo.com typetransparent"
                for address in $(resolve "safe.duckduckgo.com"); do
                        echo "  local-data: \"duckduckgo.com ${LOCAL_TTL} IN A ${address}\""
                done
@@ -733,8 +733,12 @@ write_safe_search_conf() {
                done
 
                # Yandex
-               echo "  local-zone: yandex.ru transparent"
-               echo "  local-data: \"yandex.ru A 213.180.193.56\""
+               for domain in yandex.com yandex.ru; do
+                       echo "  local-zone: ${domain} typetransparent"
+                       for address in $(resolve "familysearch.${domain}"); do
+                               echo "  local-data: \"${domain} ${LOCAL_TTL} IN A ${address}\""
+                       done
+               done
 
                # YouTube
                echo "  local-zone: youtube.com transparent"