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

dnsmasq: add option broadcast to host sections

There are certain consumer devices which are outliers in protocol conformance.
An example is Samsung bluray players, which require broadcast DHCP responses
(on Ethernet only, strangely not on Wifi).

By specifying:

config host
	...
	option broadcast 1

this will enable the response to be sent as an Ethernet broadcast and not as
a unicast.

Signed-off-by: Philip Prindeville <[email protected]>

SVN-Revision: 38365
Jo-Philipp Wich 12 лет назад
Родитель
Сommit
78f69b66d4

+ 1 - 1
package/network/services/dnsmasq/Makefile

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

+ 6 - 1
package/network/services/dnsmasq/files/dnsmasq.init

@@ -163,6 +163,8 @@ dnsmasq() {
 
 	dhcp_option_add "$cfg" "" 0
 
+	xappend "--dhcp-broadcast=tag:needs-broadcast"
+
 	echo >> $CONFIGFILE
 }
 
@@ -270,7 +272,10 @@ dhcp_host_add() {
 
 	config_get tag "$cfg" tag
 
-	xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}"
+	config_get_bool broadcast "$cfg" broadcast 0
+	[ "$broadcast" = "0" ] && broadcast=
+
+	xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}"
 }
 
 dhcp_tag_add() {