From: David Beitey Date: Fri, 21 Dec 2018 02:51:56 +0000 (+0000) Subject: luci-app-ddns: check existence of nslookup util rather than making DNS request X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=refs%2Fpull%2F2384%2Fhead;p=oweals%2Fluci.git luci-app-ddns: check existence of nslookup util rather than making DNS request This saves a DNS request whenever the check is performed. For systems with nameservers configured in `/etc/resolv.conf`, nslookup will sent a request to those servers (eg bypassing /etc/hosts), thus taking a lot more time than necessary. For servers that are remote, this will take a *lot* longer than just checking if the nslookup util exists. This change follows in the same vein as all the other checks and just using `which` without actually invoking the util's functionality. Signed-off-by: David Beitey --- diff --git a/applications/luci-app-ddns/luasrc/tools/ddns.lua b/applications/luci-app-ddns/luasrc/tools/ddns.lua index 6f0c7f095..2b92e3e63 100755 --- a/applications/luci-app-ddns/luasrc/tools/ddns.lua +++ b/applications/luci-app-ddns/luasrc/tools/ddns.lua @@ -103,7 +103,7 @@ function env_info(type) end local function has_nslookup() - return (SYS.call( [[$(which nslookup) localhost 2>&1 | grep -qF "(null)"]] ) ~= 0) + return (SYS.call( [[which nslookup >/dev/null 2>&1]] ) == 0) end if type == "has_bindhost" then