summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYegor Yefremov2024-02-15 08:43:09 +0000
committerJo-Philipp Wich2024-02-22 08:17:25 +0000
commit62acd9a2f9f18f30997d23b479abaea4940a4273 (patch)
tree09d860231607c628a4ee77badcba3a6371b0e7ee
parent97ad8501ad94726d8146bd8797036aa134b60435 (diff)
downloadopenwrt-62acd9a2f9f18f30997d23b479abaea4940a4273.tar.gz
dnsmasq: rework network interface ignore
In some situations (slow protocol or interfaces with auto 0), the interfaces are not available during the dnsmasq initialization and hence, the ignore setting will be skipped. Install an interface trigger for ignored interfaces in case their ifname cannot be resolved. Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> [bump PKG_RELEASE] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r--package/network/services/dnsmasq/Makefile2
-rwxr-xr-xpackage/network/services/dnsmasq/files/dnsmasq.init3
2 files changed, 3 insertions, 2 deletions
diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile
index 241f3463e2..e33d866304 100644
--- a/package/network/services/dnsmasq/Makefile
+++ b/package/network/services/dnsmasq/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dnsmasq
PKG_UPSTREAM_VERSION:=2.89
PKG_VERSION:=$(subst test,~~test,$(subst rc,~rc,$(PKG_UPSTREAM_VERSION)))
-PKG_RELEASE:=7
+PKG_RELEASE:=8
PKG_SOURCE:=$(PKG_NAME)-$(PKG_UPSTREAM_VERSION).tar.xz
PKG_SOURCE_URL:=https://thekelleys.org.uk/dnsmasq/
diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init
index 510d328cd2..b43abdb8f7 100755
--- a/package/network/services/dnsmasq/files/dnsmasq.init
+++ b/package/network/services/dnsmasq/files/dnsmasq.init
@@ -1244,10 +1244,11 @@ dnsmasq_stop()
add_interface_trigger()
{
- local interface ignore
+ local interface ifname ignore
config_get interface "$1" interface
config_get_bool ignore "$1" ignore 0
+ network_get_device ifname "$interface" || ignore=0
[ -n "$interface" ] && [ $ignore -eq 0 ] && procd_add_interface_trigger "interface.*" "$interface" /etc/init.d/dnsmasq reload
}