Просмотр исходного кода

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
Jo-Philipp Wich 14 лет назад
Родитель
Сommit
50b69073d6
2 измененных файлов с 4 добавлено и 5 удалено
  1. 1 1
      package/dnsmasq/Makefile
  2. 3 4
      package/dnsmasq/files/dnsmasq.init

+ 1 - 1
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

+ 3 - 4
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() {