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". git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38648 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
355c50d67c
commit
a193e1c1eb
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=dnsmasq
|
PKG_NAME:=dnsmasq
|
||||||
PKG_VERSION:=2.66
|
PKG_VERSION:=2.66
|
||||||
PKG_RELEASE:=4
|
PKG_RELEASE:=5
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
|
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
|
||||||
|
|
|
@ -408,6 +408,9 @@ dhcp_domain_add() {
|
||||||
[ -n "$ip" ] || return 0
|
[ -n "$ip" ] || return 0
|
||||||
|
|
||||||
for name in $names; do
|
for name in $names; do
|
||||||
|
[ "${name%.*}" == "$name" ] && \
|
||||||
|
name="$name${DOMAIN:+.$DOMAIN}"
|
||||||
|
|
||||||
record="${record:+$record/}$name"
|
record="${record:+$record/}$name"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -531,7 +534,7 @@ start_service() {
|
||||||
# add own hostname
|
# add own hostname
|
||||||
[ $ADD_LOCAL_HOSTNAME -eq 1 ] && [ -n "$lanaddr" ] && {
|
[ $ADD_LOCAL_HOSTNAME -eq 1 ] && [ -n "$lanaddr" ] && {
|
||||||
local hostname="$(uci_get system @system[0] hostname OpenWrt)"
|
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
|
echo >> $CONFIGFILE
|
||||||
|
|
Loading…
Reference in New Issue