dnsmasq: add support for RA option 31
authorRahul Thakur <rahul.thakur@iopsys.eu>
Fri, 20 Oct 2023 04:27:46 +0000 (09:57 +0530)
committerChristian Marangi <ansuelsmth@gmail.com>
Fri, 20 Oct 2023 14:04:59 +0000 (16:04 +0200)
The option 31 in the RA specifies the DNS search list, the support
to configure this via UCI is missing in case dnsmasq-dhcpv6 is used.

This commit uses the uci option domain (same as is done by odhcpd) to
read and pass the DNS search list to dnsmasq, which is then used by RA.

Hence, with this commit, we are able to configure DNS search list for the
RA messages via the uci config when dnsmsaq-dhcpv6 is used.

Signed-off-by: Rahul Thakur <rahul.thakur@iopsys.eu>
package/network/services/dnsmasq/files/dnsmasq.init

index af5ca5822ea8a615dfe073ee6684ccfb5d748c67..4cef2f4c2952686fa32c3cba3e08d7153316c29a 100755 (executable)
@@ -568,6 +568,7 @@ dhcp_add() {
        config_get ra_management "$cfg" ra_management
        config_get ra_preference "$cfg" ra_preference
        config_get dns "$cfg" dns
+       config_get dns_sl "$cfg" domain
 
        config_list_foreach "$cfg" "interface_name" append_interface_name "$ifname"
 
@@ -647,6 +648,13 @@ dhcp_add() {
                fi
 
                dhcp_option_append "option6:dns-server,$dnss" "$networkid"
+
+               if [ -n "$dns_sl" ]; then
+                       ddssl=""
+                       for dd in $dns_sl; do append ddssl "$dd" ","; done
+               fi
+
+               dhcp_option_append "option6:domain-search,$ddssl" "$networkid"
        fi
 
        dhcp_option_add "$cfg" "$networkid" 0