dnsmasq: introduce "add_local_hostname" and "add_local_domain" options - add_local_do...
[openwrt/staging/chunkeey.git] / package / dnsmasq / files / dnsmasq.init
index a1334d05fcf16fc71c118fde22fedc8ce529662e..485a2f7b70d79859c18cb4d5b01d6bdef260f08d 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/sh /etc/rc.common
-# Copyright (C) 2007 OpenWrt.org
+# Copyright (C) 2007-2012 OpenWrt.org
 
 START=60
 
@@ -8,6 +8,9 @@ SERVICE_USE_PID=1
 DNS_SERVERS=""
 DOMAIN=""
 
+ADD_LOCAL_DOMAIN=1
+ADD_LOCAL_HOSTNAME=1
+
 CONFIGFILE="/var/etc/dnsmasq.conf"
 
 xappend() {
@@ -88,6 +91,7 @@ dnsmasq() {
        append_bool "$cfg" expandhosts "--expand-hosts"
        append_bool "$cfg" enable_tftp "--enable-tftp"
        append_bool "$cfg" nonwildcard "--bind-interfaces"
+       append_bool "$cfg" fqdn "--dhcp-fqdn"
 
        append_parm "$cfg" dhcpscript "--dhcp-script"
        append_parm "$cfg" cachesize "--cache-size"
@@ -110,6 +114,9 @@ dnsmasq() {
 
        config_get DOMAIN "$cfg" domain
 
+       config_get_bool ADD_LOCAL_DOMAIN "$cfg" add_local_domain 1
+       config_get_bool ADD_LOCAL_HOSTNAME "$cfg" add_local_hostname 1
+
        config_get_bool readethers "$cfg" readethers
        [ "$readethers" = "1" -a \! -e "/etc/ethers" ] && touch /etc/ethers
 
@@ -489,14 +496,16 @@ start() {
        echo >> $CONFIGFILE
 
        # add own hostname
-       [ -z "$lanaddr" ] || {
+       [ $ADD_LOCAL_HOSTNAME -eq 1 ] && [ -n "$lanaddr" ] && {
                local hostname="$(uci_get system.@system[0].hostname)"
                dhcp_domain_add "" "${hostname:-OpenWrt}" "$lanaddr"
        }
 
        service_start /usr/sbin/dnsmasq -C $CONFIGFILE && {
                rm -f /tmp/resolv.conf
-               [ -n "$DOMAIN" ] && echo "search $DOMAIN" >> /tmp/resolv.conf
+               [ $ADD_LOCAL_DOMAIN -eq 1 ] && [ -n "$DOMAIN" ] && {
+                       echo "search $DOMAIN" >> /tmp/resolv.conf
+               }
                DNS_SERVERS="$DNS_SERVERS 127.0.0.1"
                for DNS_SERVER in $DNS_SERVERS ; do
                        echo "nameserver $DNS_SERVER" >> /tmp/resolv.conf