aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArjen de Korte <build+lede@de-korte.org>2017-05-12 11:26:49 +0200
committerHans Dedecker <dedeckeh@gmail.com>2017-05-16 22:27:02 +0200
commit070a46121dff0cf233e4c12f2a5bae6c9300c0eb (patch)
treed91e3e8ea3988be9ddf3405fffa6638b87900276
parent74395d97a9d47f1cf8afa4bb6b2f90120072489e (diff)
downloadupstream-070a46121dff0cf233e4c12f2a5bae6c9300c0eb.tar.gz
upstream-070a46121dff0cf233e4c12f2a5bae6c9300c0eb.tar.bz2
upstream-070a46121dff0cf233e4c12f2a5bae6c9300c0eb.zip
dnsmasq: add IPv6 nameserver configuration in server mode
When in ra server mode, configure nameservers passed in router announcements from the dns value (which is already used by odhcpd). This also fixes FS#677 by using the global IPv6 address of the router instead of the link local address (if no nameservers are configured). Signed-off-by: Arjen de Korte <build+lede@de-korte.org> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
-rw-r--r--package/network/services/dnsmasq/Makefile2
-rw-r--r--package/network/services/dnsmasq/files/dnsmasq.init10
2 files changed, 11 insertions, 1 deletions
diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile
index b94f222fa5..784912a9e0 100644
--- a/package/network/services/dnsmasq/Makefile
+++ b/package/network/services/dnsmasq/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dnsmasq
PKG_VERSION:=2.77rc3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq/release-candidates
diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init
index 30fec7a4ee..5221db46f6 100644
--- a/package/network/services/dnsmasq/files/dnsmasq.init
+++ b/package/network/services/dnsmasq/files/dnsmasq.init
@@ -470,6 +470,7 @@ dhcp_add() {
config_get ra "$cfg" ra
config_get ra_management "$cfg" ra_management
config_get ra_preference "$cfg" ra_preference
+ config_get dns "$cfg" dns
config_list_foreach "$cfg" "interface_name" append_interface_name "$ifname"
@@ -539,6 +540,15 @@ dhcp_add() {
xappend "--dhcp-range=$nettag$dhcp6range,constructor:$ifname,slaac,ra-names,$leasetime"
;;
esac
+
+ if [ -n "$dns" ]; then
+ dnss=""
+ for d in $dns; do append dnss "[$d]" ","; done
+ else
+ dnss="[::]"
+ fi
+
+ dhcp_option_append "option6:dns-server,$dnss" "$networkid"
fi
dhcp_option_add "$cfg" "$networkid"