summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-07-01 11:32:46 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-07-01 11:32:46 +0000
commit8b203dc52782bb019225998e7411d5a3c12b78dc (patch)
tree50c116339a55353412bc2a1a590bd391ddba43e6
parent3a1e1be03a53fe424d9b7d7229edbd8e0e657fee (diff)
[package] dnsmasq: introduce "add_local_hostname" and "add_local_domain" options
- add_local_domain defaults to 1 and controls whether the local domain is written as search directive to the local resolv.conf - add_local_hostname defaults to 1 and controls whether A and PTR records are created automatically for the local hostname These change supersedes http://patchwork.openwrt.org/patch/2207/ and http://patchwork.openwrt.org/patch/2208/ git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32570 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/dnsmasq/files/dnsmasq.init14
1 files changed, 11 insertions, 3 deletions
diff --git a/package/dnsmasq/files/dnsmasq.init b/package/dnsmasq/files/dnsmasq.init
index e90d79336..485a2f7b7 100644
--- a/package/dnsmasq/files/dnsmasq.init
+++ b/package/dnsmasq/files/dnsmasq.init
@@ -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() {
@@ -111,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
@@ -490,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