X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=package%2Fnetwork%2Fservices%2Fdnsmasq%2Ffiles%2Fdnsmasq.init;h=c2704e4b9a06537e949229aa0e62b48312f53eeb;hp=9f16d5f5d45f9543cf8dc8c08b11a15337376eff;hb=449994b8c21921f8894fe626ecea3ecbe5ffcd16;hpb=132cbe5e29a0f7e4f2b5b80dec42dec974571eac diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index 9f16d5f5d4..c2704e4b9a 100644 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -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