aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValentyn Datsko <valikk.d@gmail.com>2022-04-06 16:13:13 +0300
committerDaniel Golle <daniel@makrotopia.org>2022-04-10 16:26:01 +0100
commit660923cd74e6c31abc4a81c6b504d4a651973071 (patch)
tree6ddf5b32b86ea04361c3cbc8a8380c2115eab2f7
parentce7ee54c550aca656d932b742de8d2b7d7eb1286 (diff)
downloadupstream-660923cd74e6c31abc4a81c6b504d4a651973071.tar.gz
upstream-660923cd74e6c31abc4a81c6b504d4a651973071.tar.bz2
upstream-660923cd74e6c31abc4a81c6b504d4a651973071.zip
dnsmasq: add procd interface index tracking
Problem exist when dnsmasq is exclusively bind to particular interface. After reconfiguring or restarting this interface, its index changes, but dnsmasq uses the old one. When this problem occurs, dnsmasq does not listen on the correct interface so DHCP does not work, and clients do not get an IP address. Procd netdev param can be added to restart dnsmasq when the interface index is changed. Signed-off-by: Valentyn Datsko <valikk.d@gmail.com> [combined into a single &&-connected statement] Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 76f55e3c3f32dea63a385e9b3c8eaed1322089c7)
-rwxr-xr-xpackage/network/services/dnsmasq/files/dnsmasq.init5
1 files changed, 5 insertions, 0 deletions
diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init
index 09dce0a78d..d95502c0da 100755
--- a/package/network/services/dnsmasq/files/dnsmasq.init
+++ b/package/network/services/dnsmasq/files/dnsmasq.init
@@ -1156,6 +1156,11 @@ dnsmasq_start()
[ -n "$user_dhcpscript" ] && procd_set_param env USER_DHCPSCRIPT="$user_dhcpscript"
procd_set_param respawn
+ local instance_ifc instance_netdev
+ config_get instance_ifc "$cfg" interface
+ [ -n "$instance_ifc" ] && network_get_device instance_netdev "$instance_ifc" &&
+ [ -n "$instance_netdev" ] && procd_set_param netdev $instance_netdev
+
procd_add_jail dnsmasq ubus log
procd_add_jail_mount $CONFIGFILE $DHCPBOGUSHOSTNAMEFILE $DHCPSCRIPT $DHCPSCRIPT_DEPENDS
procd_add_jail_mount $EXTRA_MOUNT $RFC6761FILE $TRUSTANCHORSFILE