dnsmasq: Allow creating static DNS entries from static lease entries
[openwrt/openwrt.git] / package / network / services / dnsmasq / files / dnsmasq.init
index b5fb58c..f7edb28 100644 (file)
@@ -13,6 +13,7 @@ ADD_LOCAL_DOMAIN=1
 ADD_LOCAL_HOSTNAME=1
 
 CONFIGFILE="/var/etc/dnsmasq.conf"
+HOSTFILE="/tmp/hosts/dhcp"
 
 xappend() {
        local value="$1"
@@ -300,6 +301,11 @@ 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() {
@@ -528,6 +534,7 @@ start_service() {
        mkdir -p $(dirname $CONFIGFILE)
 
        echo "# auto-generated config file from /etc/config/dhcp" > $CONFIGFILE
+       echo "# auto-generated config file from /etc/config/dhcp" > $HOSTFILE
 
        # if we did this last, we could override auto-generated config
        [ -f /etc/dnsmasq.conf ] && {