From: Michael Tremer Date: Sat, 13 Oct 2012 18:50:32 +0000 (+0000) Subject: dns: Move getting all search domains into an own function. X-Git-Tag: 006~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b1d1b5cebf01893b593d2d3dc0c860a2a9392e64;p=network.git dns: Move getting all search domains into an own function. --- diff --git a/functions.dns b/functions.dns index 66066376..2563f9ca 100644 --- a/functions.dns +++ b/functions.dns @@ -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