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
Index: files/dnsmasq.init
===================================================================
--- files/dnsmasq.init	(Revision 26950)
+++ files/dnsmasq.init	(Arbeitskopie)
@@ -205,20 +205,19 @@
 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() {
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to