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
lede-17.01
Jo-Philipp Wich 2011-05-24 09:12:50 +00:00
parent be906f6be5
commit 50b69073d6
2 changed files with 4 additions and 5 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dnsmasq PKG_NAME:=dnsmasq
PKG_VERSION:=2.57 PKG_VERSION:=2.57
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq

View File

@ -206,20 +206,19 @@ dhcp_vendorclass_add() {
dhcp_host_add() { dhcp_host_add() {
local cfg="$1" local cfg="$1"
config_get name "$cfg" name
config_get networkid "$cfg" networkid config_get networkid "$cfg" networkid
[ -n "$networkid" ] && dhcp_option_add "$cfg" "$networkid" [ -n "$networkid" ] && dhcp_option_add "$cfg" "$networkid"
config_get name "$cfg" name
config_get ip "$cfg" ip config_get ip "$cfg" ip
[ -n "$ip" ] || return 0 [ -n "$ip" ] || [ -n "$name" ] || return 0
macs="" macs=""
config_get mac "$cfg" mac config_get mac "$cfg" mac
for m in $mac; do append macs "$m" ","; done for m in $mac; do append macs "$m" ","; done
[ -n "$macs" ] || return 0 [ -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() { dhcp_mac_add() {