diff options
Diffstat (limited to 'package/network/services/dnsmasq/files/dnsmasq.init')
-rw-r--r-- | package/network/services/dnsmasq/files/dnsmasq.init | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index 2ea73af..942acd7 100644 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -293,15 +293,22 @@ dhcp_host_add() { config_get ip "$cfg" ip [ -n "$ip" -o -n "$name" ] || return 0 + config_get_bool dns "$cfg" dns 0 + [ "$dns" = "1" -a -n "$ip" -a -n "$name" ] && { + echo "$ip $name${DOMAIN:+.$DOMAIN}" >> $HOSTFILE + } + config_get mac "$cfg" mac - [ -z "$mac" ] && { + if [ -n "$mac" ]; then + # --dhcp-host=00:20:e0:3b:13:af,192.168.0.199,lap + macs="" + for m in $mac; do append macs "$m" ","; done + else + # --dhcp-host=lap,192.168.0.199 [ -n "$name" ] || return 0 - mac="$name" + macs="$name" name="" - } - - macs="" - for m in $mac; do append macs "$m" ","; done + fi config_get tag "$cfg" tag @@ -309,11 +316,6 @@ dhcp_host_add() { [ "$broadcast" = "0" ] && broadcast= xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}" - - config_get_bool dns "$cfg" dns 0 - [ "$dns" = "1" ] && { - echo "$ip $name${DOMAIN:+.$DOMAIN}" >> $HOSTFILE - } } dhcp_tag_add() { @@ -441,13 +443,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() { @@ -572,7 +571,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 |