dnsmasq: make bind-dynamic 'non-wildcard' interfaces default

'non-wildcard' interfaces enables dnsmasq's '--bind-dynamic' mode.  This
binds to interfaces rather than wildcard addresses *and* keeps track of
interface comings/goings via a unique Linux api.

Quoting dnsmasq's author "bind-dynamic (bind individual addresses, keep
up with changes in interface config) ... On linux, there's actually no
sane reason not to use --bind-dynamic, and it's only not the default for
historical reasons."

Let's change history, well on LEDE at least, and change the default!

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
openwrt-18.06
Kevin Darbyshire-Bryant 2017-02-24 10:08:30 +00:00 committed by Hans Dedecker
parent ab11618001
commit 16a905b322
3 changed files with 6 additions and 4 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dnsmasq PKG_NAME:=dnsmasq
PKG_VERSION:=2.77 PKG_VERSION:=2.77
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq/ PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq/

View File

@ -15,7 +15,7 @@ config dnsmasq
option leasefile '/tmp/dhcp.leases' option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto' option resolvfile '/tmp/resolv.conf.auto'
#list server '/mycompany.local/1.2.3.4' #list server '/mycompany.local/1.2.3.4'
#option nonwildcard 1 option nonwildcard 1 # bind to & keep track of interfaces
#list interface br-lan #list interface br-lan
#list notinterface lo #list notinterface lo
#list bogusnxdomain '64.94.110.11' #list bogusnxdomain '64.94.110.11'

View File

@ -103,8 +103,10 @@ append_bool() {
local section="$1" local section="$1"
local option="$2" local option="$2"
local value="$3" local value="$3"
local default="$4"
local _loctmp local _loctmp
config_get_bool _loctmp "$section" "$option" 0 [ -z "$default" ] && default="0"
config_get_bool _loctmp "$section" "$option" "$default"
[ $_loctmp -gt 0 ] && xappend "$value" [ $_loctmp -gt 0 ] && xappend "$value"
} }
@ -791,7 +793,7 @@ dnsmasq_start()
config_get tftp_root "$cfg" "tftp_root" config_get tftp_root "$cfg" "tftp_root"
[ -n "$tftp_root" ] && mkdir -p "$tftp_root" && append_bool "$cfg" enable_tftp "--enable-tftp" [ -n "$tftp_root" ] && mkdir -p "$tftp_root" && append_bool "$cfg" enable_tftp "--enable-tftp"
append_bool "$cfg" tftp_no_fail "--tftp-no-fail" append_bool "$cfg" tftp_no_fail "--tftp-no-fail"
append_bool "$cfg" nonwildcard "--bind-dynamic" append_bool "$cfg" nonwildcard "--bind-dynamic" 1
append_bool "$cfg" fqdn "--dhcp-fqdn" append_bool "$cfg" fqdn "--dhcp-fqdn"
append_bool "$cfg" proxydnssec "--proxy-dnssec" append_bool "$cfg" proxydnssec "--proxy-dnssec"
append_bool "$cfg" localservice "--local-service" append_bool "$cfg" localservice "--local-service"