]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
unbound: Convert forward zones to stub zones
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 12 Nov 2019 12:43:28 +0000 (12:43 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 7 Jan 2020 11:14:30 +0000 (11:14 +0000)
It was incorrect to use forward zones here, because that
assumes that unbound is talking a recursive resolver here.

The feature is however designed to be talking to an authoritative
server.

Fixes: #12230
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/initscripts/system/unbound

index cafc2e61c81e555330bc7e5af1b0a575a8391499..a4a356a23075c10315f438392f25a81d3e0b9c76 100644 (file)
@@ -220,35 +220,24 @@ write_forward_conf() {
                                        ;;
                        esac
 
-                       # Reverse-lookup zones must be stubs
+                       echo "stub-zone:"
+                       echo "  name: ${zone}"
+                       for server in ${servers//|/ }; do
+                               if [[ ${server} =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
+                                       echo "  stub-addr: ${server}"
+                               else
+                                       echo "  stub-host: ${server}"
+                               fi
+                       done
+                       echo
+
+                       # Make all reverse lookup zones transparent
                        case "${zone}" in
                                *.in-addr.arpa)
-                                       echo "stub-zone:"
-                                       echo "  name: ${zone}"
-                                       for server in ${servers//|/ }; do
-                                               if [[ ${server} =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
-                                                       echo "  stub-addr: ${server}"
-                                               else
-                                                       echo "  stub-host: ${server}"
-                                               fi
-                                       done
-                                       echo
                                        echo "server:"
                                        echo "  local-zone: \"${zone}\" transparent"
                                        echo
                                        ;;
-                               *)
-                                       echo "forward-zone:"
-                                       echo "  name: ${zone}"
-                                       for server in ${servers//|/ }; do
-                                               if [[ ${server} =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
-                                                       echo "  forward-addr: ${server}"
-                                               else
-                                                       echo "  forward-host: ${server}"
-                                               fi
-                                       done
-                                       echo
-                                       ;;
                        esac
                done < /var/ipfire/dnsforward/config