dnsmasq: Create rDNS records for LuCI "Hostnames"
authorJohn Crispin <john@openwrt.org>
Mon, 1 Sep 2014 13:22:05 +0000 (13:22 +0000)
committerJohn Crispin <john@openwrt.org>
Mon, 1 Sep 2014 13:22:05 +0000 (13:22 +0000)
LuCI creates "domain" UCI config sections, which the dnsmasq init file
then, currently, translates into "address" config lines. This is not
the correct usage of "address" (see r36943), and also causes rDNS
records to not be created. This patches dnsmasq.init to utilize the
additional hosts file introduced in r40799 for such domain names,
resolving both issues.

Signed-off-by: Tyler Fenby <tylerf@securecominc.com>
Backport of r42318

SVN-Revision: 42388

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

index 2ea73af9474fcb7cdbd596bc2aca427b144d1f68..c2704e4b9a06537e949229aa0e62b48312f53eeb 100644 (file)
@@ -441,13 +441,10 @@ dhcp_domain_add() {
        [ -n "$ip" ] || return 0
 
        for name in $names; do
-               [ "${name%.*}" == "$name" ] && \
-                       name="$name${DOMAIN:+.$DOMAIN}"
-
-               record="${record:+$record/}$name"
+               record="${record:+$record }$name"
        done
 
-       xappend "--address=/$record/$ip"
+       echo "$ip $record" >> $HOSTFILE
 }
 
 dhcp_srv_add() {
@@ -572,7 +569,7 @@ start_service() {
        local lanaddr
        [ $ADD_LOCAL_HOSTNAME -eq 1 ] && network_get_ipaddr lanaddr "lan" && {
                local hostname="$(uci_get system @system[0] hostname OpenWrt)"
-               dhcp_hostrecord_add "" "${hostname%.$DOMAIN}${DOMAIN:+.$DOMAIN ${hostname%.$DOMAIN}}" "$lanaddr"
+               dhcp_domain_add "" "$hostname" "$lanaddr"
        }
 
        echo >> $CONFIGFILE