]> git.ipfire.org Git - network.git/commitdiff
dns: Move getting all search domains into an own function.
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 13 Oct 2012 18:50:32 +0000 (18:50 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 13 Oct 2012 18:50:32 +0000 (18:50 +0000)
functions.dns

index 660663761641e52119272526b8428b7c9812a6bb..2563f9ca6210ca21eebe15053b1759adc7d05a17 100644 (file)
@@ -225,29 +225,12 @@ function dns_generate_resolvconf() {
                print "option rotate\n" >> ${file}
        fi
 
-       # Add search domains.
-       local search_domains="$(unquote ${DNS_SEARCH_DOMAINS})"
-
-       # Get search domains from DHCP clients, etc.
-       local proto
-       local zone
-       local domainname
-       for zone in $(zones_get_all); do
-               for proto in ${IP_SUPPORTED_PROTOCOLS}; do
-                       domainname=$(routing_db_get ${zone} ${proto} domain-name)
-                       if [ -n "${domainname}" ]; then
-                               list_append search_domains "${domainname}"
-                       fi
-               done
-       done
-
-       # Sort out duplicate entries.
-       search_domains=$(list_unique ${search_domains})
-
        # Write search domains to file.
        print "# Search domains" >> ${file}
-       for domainname in ${search_domains}; do
-               print "search ${domainname}"
+
+       local domain
+       for domain in $(dns_get_search_domains); do
+               print "search ${domain}"
        done >> ${file}
 
        print "\n# Nameservers" >> ${file}
@@ -263,6 +246,26 @@ function dns_generate_resolvconf() {
        done >> ${file}
 }
 
+function dns_get_search_domains() {
+       # Add search domains.
+       local search_domains="$(unquote ${DNS_SEARCH_DOMAINS})"
+
+       # Get search domains from DHCP clients, etc.
+       local domain proto zone
+
+       for zone in $(zones_get_all); do
+               for proto in ${IP_SUPPORTED_PROTOCOLS}; do
+                       domain=$(routing_db_get ${zone} ${proto} domain-name)
+                       isset domain || continue
+
+                       list_append search_domains "${domainname}"
+               done
+       done
+
+       # Sort out duplicate entries.
+       list_unique ${search_domains}
+}
+
 function dns_server_get_zone_name_servers() {
        local priority proto server servers zone