From c067858fdfe2778ea64192f4d0ca6b4fdac337d4 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Wed, 16 Sep 2009 18:15:31 +0000
Subject: [PATCH] dnsmasq startup script update: add notinterface parameter

This tiny patch makes the dnsmasq init.d script listen to a parameter called "notinterface", which tells dnsmasq to not listen on a defined set of interfaces.

By default dnsmasq *always* listens on the loopback interface, even if you tell it to specifically listen on a certain other interface. Sometimes this is not desirable behaviour, so you might want to turn it off. This is useful when, for example, you want to have your own DNS server listening on the loopback interface.

Signed-off-by: Johnny Halfmoon <jhalfmoon at milksnot.com>

SVN-Revision: 17599
---
 package/dnsmasq/files/dhcp.conf    | 3 ++-
 package/dnsmasq/files/dnsmasq.init | 5 +++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/dnsmasq/files/dhcp.conf b/package/dnsmasq/files/dhcp.conf
index 85228974a1..25ecde6f5d 100644
--- a/package/dnsmasq/files/dhcp.conf
+++ b/package/dnsmasq/files/dhcp.conf
@@ -12,8 +12,9 @@ config dnsmasq
 	option leasefile	'/tmp/dhcp.leases'
 	option resolvfile	'/tmp/resolv.conf.auto'
 	#list server		'/mycompany.local/1.2.3.4'
-	#option nonwildcard	0
+	#option nonwildcard	1
 	#list interface		br-lan
+	#list notinterface	lo
 
 config dhcp lan
 	option interface	lan
diff --git a/package/dnsmasq/files/dnsmasq.init b/package/dnsmasq/files/dnsmasq.init
index b5ecf1de27..1aeeb94b26 100644
--- a/package/dnsmasq/files/dnsmasq.init
+++ b/package/dnsmasq/files/dnsmasq.init
@@ -44,6 +44,10 @@ append_interface() {
 	append args "-i $1"
 }
 
+append_notinterface() {
+	append args "-I $1"
+}
+
 dnsmasq() {
 	local cfg="$1"
 	append_bool "$cfg" authoritative "-K"
@@ -73,6 +77,7 @@ dnsmasq() {
 	append_parm "$cfg" "local" "-S"
 	config_list_foreach "$cfg" "server" append_server
 	config_list_foreach "$cfg" "interface" append_interface
+	config_list_foreach "$cfg" "notinterface" append_notinterface
 	append_parm "$cfg" "leasefile" "-l"
 	append_parm "$cfg" "resolvfile" "-r"
 	append_parm "$cfg" "tftp_root" "--tftp-root"
-- 
GitLab