dnsmasq: Don't add local hostname if ula prefix is not specified
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 25 Jan 2016 17:47:22 +0000 (17:47 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 25 Jan 2016 17:47:22 +0000 (17:47 +0000)
Commit 6a7e56b adds support for adding local hostname for own lan ula adress
but if ula prefix is not specified results into an invalid config (address=/OpenWrt.lan/1)
causing dnsmasq not to start up.
Use lanaddr6 when adding local hostname as the lan ula address is constructed based on the
UCI parameters ip6hint and ip6ifaceid and thus not always ula prefix suffixed with 1

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48495 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/network/services/dnsmasq/Makefile
package/network/services/dnsmasq/files/dnsmasq.init

index de0237b..89799ee 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dnsmasq
 PKG_VERSION:=2.75
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
index efc9627..db342e7 100644 (file)
@@ -609,11 +609,11 @@ start_service() {
                        dhcp_domain_add "" "$hostname" "$lanaddr"
                }
 
-               network_get_ipaddrs6 lanaddr6 "lan" && {
+               [ -n "$ulaprefix" ] && network_get_ipaddrs6 lanaddr6 "lan" && {
                        for lanaddr6 in $lanaddr6; do
                                case "$lanaddr6" in
                                        "${ulaprefix%%:/*}"*)
-                                               dhcp_domain_add "" "$hostname" "${ulaprefix%%/*}1"
+                                               dhcp_domain_add "" "$hostname" "$lanaddr6"
                                        ;;
                                esac
                        done