From 71f990ccfb1ee6a9d1e8303019b5f8231d400871 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Tue, 24 May 2011 09:12:50 +0000 Subject: [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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26983 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/dnsmasq/files/dnsmasq.init | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'package/dnsmasq/files/dnsmasq.init') 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() { -- cgit v1.2.3