dnsmasq: add host-specific lease time option for static hosts
authorJohn Crispin <john@openwrt.org>
Fri, 26 Feb 2016 09:13:03 +0000 (09:13 +0000)
committerJohn Crispin <john@openwrt.org>
Fri, 26 Feb 2016 09:13:03 +0000 (09:13 +0000)
Enable setting a host-specific lease time for static hosts.
The new option is called "leasetime" and the format is similar
as for the default lease time: e.g. 12h, 3d, infinite

Default lease time is used for all hosts for which there is
no host-specific definition.

The option is added to /etc/config/dhcp for the selected hosts:
  config host
        option name 'Nexus'
        option mac 'd8:50:66:55:59:7c'
        option ip '192.168.1.245'
        option leasetime '2h'

It gets appended to /var/etc/dnsmasq.conf like this:
  dhcp-host=d8:50:66:55:59:7c,192.168.1.245,Nexus,2h

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
SVN-Revision: 48801

package/network/services/dnsmasq/Makefile
package/network/services/dnsmasq/files/dnsmasq.init

index 89799eec6b0ca9429e806d108d23ebecf8d3352e..a5c37401798e4f9edf655e11f8a15eac7ddf8aea 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2015 OpenWrt.org
+# Copyright (C) 2006-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dnsmasq
 PKG_VERSION:=2.75
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
index 0904503fac127d2cc11d2a84b7eeb9da6872ebdc..61ded6a53a8dd9e6d6b2608dba62245474c3e63a 100644 (file)
@@ -342,7 +342,9 @@ dhcp_host_add() {
        config_get_bool broadcast "$cfg" broadcast 0
        [ "$broadcast" = "0" ] && broadcast=
 
-       xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}"
+       config_get leasetime "$cfg" leasetime
+
+       xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}${leasetime:+,$leasetime}"
 }
 
 dhcp_tag_add() {