]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
unbound: Use recursor mode if no nameservers are configured
authorStefan Schantl <stefan.schantl@ipfire.org>
Tue, 21 Jan 2020 16:13:06 +0000 (17:13 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 21 Jan 2020 19:32:34 +0000 (19:32 +0000)
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
src/initscripts/system/unbound

index 7df50e9d4632d48bc04d27984eec4f8477a854c1..3322c15b5fe0cdeda42d009a64c1c39eb6df55b5 100644 (file)
@@ -162,19 +162,29 @@ write_forward_conf() {
                        done
                fi
 
-               echo "forward-zone:"
-               echo "  name: \".\""
+               # Read name servers.
+               nameservers=$(read_name_servers)
 
-               # Force using TLS only
-               if [ "${PROTO}" = "TLS" ]; then
-                       echo "  forward-tls-upstream: yes"
+               # Only write forward zones if any nameservers are configured.
+               #
+               # Otherwise fall-back into recursor mode.
+               if [ -n "${nameservers}" ]; then
+
+                       echo "forward-zone:"
+                       echo "  name: \".\""
+
+                       # Force using TLS only
+                       if [ "${PROTO}" = "TLS" ]; then
+                               echo "  forward-tls-upstream: yes"
+                       fi
+
+                       # Add upstream name servers
+                       local ns
+                       for ns in ${nameservers}; do
+                               echo "  forward-addr: ${ns}"
+                       done
                fi
 
-               # Add upstream name servers
-               local ns
-               for ns in $(read_name_servers); do
-                       echo "  forward-addr: ${ns}"
-               done
        ) > /etc/unbound/forward.conf
 }