Browse Source

dnsmasq: add interface-name uci list.

This patch adds the interface-name option for each dhcp config
in /etc/config/dhcp.

With the interface_name option users can define a DNS name for each dhcp section
that will be resolved by dnsmasq with the underlaying interface address.

For example:
config dhcp 'lan'
	option interface 'lan'
	...
	list interface_name 'home.lan'
	...

Signed-off-by: Daniel Danzberger <[email protected]>
Signed-off-by: Hans Dedecker <[email protected]> [PKG_RELEASE increase]
Daniel Danzberger 8 years ago
parent
commit
eb99f8912a

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

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

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

@@ -142,6 +142,10 @@ append_pxe_service() {
 	xappend "--pxe-service=$1"
 	xappend "--pxe-service=$1"
 }
 }
 
 
+append_interface_name() {
+	xappend "--interface-name=$1,$2"
+}
+
 filter_dnsmasq() {
 filter_dnsmasq() {
 	local cfg="$1" func="$2" match_cfg="$3" found_cfg
 	local cfg="$1" func="$2" match_cfg="$3" found_cfg
 
 
@@ -467,6 +471,8 @@ dhcp_add() {
 	config_get ra_management "$cfg" ra_management
 	config_get ra_management "$cfg" ra_management
 	config_get ra_preference "$cfg" ra_preference
 	config_get ra_preference "$cfg" ra_preference
 
 
+	config_list_foreach "$cfg" "interface_name" append_interface_name "$ifname"
+
 	# Put the router host name on this DHCP served interface address(es)
 	# Put the router host name on this DHCP served interface address(es)
 	dhcp_this_host_add "$net" "$ifname" "$ADD_LOCAL_FQDN"
 	dhcp_this_host_add "$net" "$ifname" "$ADD_LOCAL_FQDN"