[source] dnsmasq: add dhcp-script hook conditionally
LEDE Commits
lede-commits at lists.infradead.org
Fri Jun 9 07:44:25 PDT 2017
dedeckeh pushed a commit to source.git, branch master:
https://git.lede-project.org/8b486ec2b52056b737a4ce64a2040a9a27a6bd60
commit 8b486ec2b52056b737a4ce64a2040a9a27a6bd60
Author: Hans Dedecker <dedeckeh at gmail.com>
AuthorDate: Fri Jun 9 16:24:12 2017 +0200
dnsmasq: add dhcp-script hook conditionally
Commit b32689afd6a661339861086c669e15c936293cf8 added support for dhcp-script hook.
Adding dhcp-script config option results into two instances of dnsmasq being run
which triggered oom issues on platforms having low memory.
The dnsmasq dhcp-script config option will now only be added if at least one of the
dhcp, tftp, neigh hotplug dirs has a regular hotplug file or if the dhcpscript uci
config option is specified.
Signed-off-by: Hans Dedecker <dedeckeh at gmail.com>
---
package/network/services/dnsmasq/Makefile | 2 +-
package/network/services/dnsmasq/files/dnsmasq.init | 14 +++++++++++++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile
index 307b4de..5b1073f 100644
--- a/package/network/services/dnsmasq/Makefile
+++ b/package/network/services/dnsmasq/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dnsmasq
PKG_VERSION:=2.77
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq/
diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init
index 62a3169..2d05b77 100644
--- a/package/network/services/dnsmasq/files/dnsmasq.init
+++ b/package/network/services/dnsmasq/files/dnsmasq.init
@@ -89,6 +89,16 @@ log_once() {
logger -t dnsmasq "$@"
}
+has_handler() {
+ local file
+
+ for file in /etc/hotplug.d/dhcp/* /etc/hotplug.d/tftp/* /etc/hotplug.d/neigh/*; do
+ [ -f "$file" ] && return 0
+ done
+
+ return 1
+}
+
append_bool() {
local section="$1"
local option="$2"
@@ -832,8 +842,10 @@ dnsmasq_start()
config_get_bool readethers "$cfg" readethers
[ "$readethers" = "1" -a \! -e "/etc/ethers" ] && touch /etc/ethers
- xappend "--dhcp-script=$DHCPSCRIPT"
config_get user_dhcpscript $cfg dhcpscript
+ if has_handler || [ -n "$user_dhcpscript" ]; then
+ xappend "--dhcp-script=$DHCPSCRIPT"
+ fi
config_get leasefile $cfg leasefile "/tmp/dhcp.leases"
[ -n "$leasefile" -a \! -e "$leasefile" ] && touch "$leasefile"
More information about the lede-commits
mailing list