]> git.ipfire.org Git - people/stevee/network.git/blobdiff - src/functions/functions.dns
network fix parameter passing when using ""
[people/stevee/network.git] / src / functions / functions.dns
index de08c4c7aa592b553036ba5065ff4bb82c54524f..e7c3e471b801360d605d1a41d087fcffd5866104 100644 (file)
@@ -199,13 +199,13 @@ dns_server_parse_line() {
        while read -r arg; do
                case "${arg}" in
                        server=*)
-                               server=$(cli_get_val ${arg})
+                               server=$(cli_get_val "${arg}")
                                ;;
                        priority=*)
-                               priority=$(cli_get_val ${arg})
+                               priority=$(cli_get_val "${arg}")
                                ;;
                esac
-       done <<< "$(args $@)"
+       done <<< "$(args "$@")"
 
        # The server address must be set.
        isset server || return ${EXIT_ERROR}
@@ -225,6 +225,16 @@ dns_server_parse_line() {
        return ${EXIT_OK}
 }
 
+# This function should be called after any configuration
+# changes have been made to the DNS servers.
+dns_server_update() {
+       # Regenerate /etc/resolv.conf
+       dns_generate_resolvconf
+
+       # Restart radvd which propagates IPv6 DNS servers
+       radvd_update
+}
+
 # Update resolv.conf(5) when initializing the network.
 init_register dns_generate_resolvconf
 
@@ -276,6 +286,9 @@ dns_get_search_domains() {
                done
        done
 
+       # Add our own domain
+       list_append search_domains "$(config_domainname)"
+
        # Sort out duplicate entries.
        list_unique ${search_domains}
 }