dnsmasq: Create rDNS records for LuCI "Hostnames"
[openwrt/openwrt.git] / package / network / services / dnsmasq / files / dnsmasq.init
index 9f16d5f5d45f9543cf8dc8c08b11a15337376eff..c2704e4b9a06537e949229aa0e62b48312f53eeb 100644 (file)
@@ -187,7 +187,7 @@ dnsmasq() {
                config_list_foreach "$cfg" rebind_domain append_rebind_domain
        }
 
-       config_get dnssec "$cfg" dnssec
+       config_get_bool dnssec "$cfg" dnssec 0
        [ "$dnssec" -gt 0 ] && {
                xappend "--conf-file=$TRUSTANCHORSFILE"
                xappend "--dnssec"
@@ -373,6 +373,9 @@ dhcp_add() {
        config_get net "$cfg" interface
        [ -n "$net" ] || return 0
 
+       config_get dhcpv4 "$cfg" dhcpv4
+       [ "$dhcpv4" != "disabled" ] || return 0
+
        config_get networkid "$cfg" networkid
        [ -n "$networkid" ] || networkid="$net"
 
@@ -438,13 +441,10 @@ dhcp_domain_add() {
        [ -n "$ip" ] || return 0
 
        for name in $names; do
-               [ "${name%.*}" == "$name" ] && \
-                       name="$name${DOMAIN:+.$DOMAIN}"
-
-               record="${record:+$record/}$name"
+               record="${record:+$record }$name"
        done
 
-       xappend "--address=/$record/$ip"
+       echo "$ip $record" >> $HOSTFILE
 }
 
 dhcp_srv_add() {
@@ -536,6 +536,7 @@ start_service() {
        procd_open_instance
        procd_set_param command $PROG -C $CONFIGFILE -k
        procd_set_param file $CONFIGFILE
+       procd_set_param respawn
        procd_close_instance
 
        # before we can call xappend
@@ -568,7 +569,7 @@ start_service() {
        local lanaddr
        [ $ADD_LOCAL_HOSTNAME -eq 1 ] && network_get_ipaddr lanaddr "lan" && {
                local hostname="$(uci_get system @system[0] hostname OpenWrt)"
-               dhcp_hostrecord_add "" "${hostname%.$DOMAIN}${DOMAIN:+.$DOMAIN ${hostname%.$DOMAIN}}" "$lanaddr"
+               dhcp_domain_add "" "$hostname" "$lanaddr"
        }
 
        echo >> $CONFIGFILE