From: Jo-Philipp Wich Date: Tue, 24 May 2011 09:12:50 +0000 (+0000) Subject: [PATCH] dnsmasq: allow hostname assignment without static lease X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;hb=28d2ca0d7e70a3b306a6066a61fce1bf57a0c817 [PATCH] dnsmasq: allow hostname assignment without static lease The attached patch for dnsmasq.init allows to assign a hostname to a particular mac-address. It's useful to override the client supplied hostname, especially if the client does not supply a hostname at all. It corresponds to the following example in dnsmasq.conf.example: # Always set the name of the host with hardware address # 11:22:33:44:55:66 to be "fred" #dhcp-host=11:22:33:44:55:66,fred Regards Mathias SVN-Revision: 26983 --- diff --git a/package/dnsmasq/Makefile b/package/dnsmasq/Makefile index b71db58587..accce6e40e 100644 --- a/package/dnsmasq/Makefile +++ b/package/dnsmasq/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dnsmasq PKG_VERSION:=2.57 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq diff --git a/package/dnsmasq/files/dnsmasq.init b/package/dnsmasq/files/dnsmasq.init index cd5a78ae83..a0e893c5fd 100644 --- a/package/dnsmasq/files/dnsmasq.init +++ b/package/dnsmasq/files/dnsmasq.init @@ -206,20 +206,19 @@ dhcp_vendorclass_add() { dhcp_host_add() { local cfg="$1" - config_get name "$cfg" name - config_get networkid "$cfg" networkid [ -n "$networkid" ] && dhcp_option_add "$cfg" "$networkid" + config_get name "$cfg" name config_get ip "$cfg" ip - [ -n "$ip" ] || return 0 + [ -n "$ip" ] || [ -n "$name" ] || return 0 macs="" config_get mac "$cfg" mac for m in $mac; do append macs "$m" ","; done [ -n "$macs" ] || return 0 - append args "--dhcp-host=$macs,${networkid:+net:$networkid,}$ip${name:+,$name}" + append args "--dhcp-host=$macs${networkid:+,net:$networkid}${ip:+,$ip}${name:+,$name}" } dhcp_mac_add() {