diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2013-11-04 22:40:56 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2013-11-04 22:40:56 +0000 |
commit | 5db9587b5f5d3a64fbd5f4c4a1f74f1a4fa65177 (patch) | |
tree | e20ceb08693417ba66addb650fa3f1ce626af4f1 /package/network/services/dnsmasq | |
parent | d5555de5b0f65140791594ea485cd9528a58b560 (diff) | |
download | mtk-20170518-5db9587b5f5d3a64fbd5f4c4a1f74f1a4fa65177.zip mtk-20170518-5db9587b5f5d3a64fbd5f4c4a1f74f1a4fa65177.tar.gz mtk-20170518-5db9587b5f5d3a64fbd5f4c4a1f74f1a4fa65177.tar.bz2 |
dnsmasq: fix backward compatibility with existing configs
Changeset r36943 ("dnsmasq: use host-record instead of address") removed
the automatic domain expansion for config domain sections, this breaks
existing setups and alters the old behaviour in unexpected ways, therfore
restore behaviour of the current stable release.
Additionally handle fully qualified hostnames properly when setting up the
own hostrecord by stripping the local domain part form the given name
instead of unconditionally appending it, so that "example.lan" results
in "example example.lan" and not "example.lan example.lan.lan".
SVN-Revision: 38648
Diffstat (limited to 'package/network/services/dnsmasq')
-rw-r--r-- | package/network/services/dnsmasq/Makefile | 2 | ||||
-rw-r--r-- | package/network/services/dnsmasq/files/dnsmasq.init | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile index ae3662b..02712bd 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.66 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index 561f89d..ca3bb52 100644 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -408,6 +408,9 @@ dhcp_domain_add() { [ -n "$ip" ] || return 0 for name in $names; do + [ "${name%.*}" == "$name" ] && \ + name="$name${DOMAIN:+.$DOMAIN}" + record="${record:+$record/}$name" done @@ -531,7 +534,7 @@ start_service() { # add own hostname [ $ADD_LOCAL_HOSTNAME -eq 1 ] && [ -n "$lanaddr" ] && { local hostname="$(uci_get system @system[0] hostname OpenWrt)" - dhcp_hostrecord_add "" "$hostname${DOMAIN:+.$DOMAIN $hostname}" "$lanaddr" + dhcp_hostrecord_add "" "${hostname%.$DOMAIN}${DOMAIN:+.$DOMAIN ${hostname%.$DOMAIN}}" "$lanaddr" } echo >> $CONFIGFILE |