diff options
author | Hannu Nyman <hannu.nyman@iki.fi> | 2019-11-16 19:20:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-16 19:20:16 +0200 |
commit | eaa193336fc7b1f4bf2b8a51c120308d90e86e95 (patch) | |
tree | 585c05c3c2086a35a7ce4ad279017e7f1bb53964 /applications/luci-app-ddns/root | |
parent | 3b2f05b4b234a2b0e4caedb59e1434a049fd6fba (diff) | |
parent | bb7038edb2d0a228546cfb15b24ffeac1978f15f (diff) |
Merge pull request #3318 from Ansuel/rework-ddns
luci-app-ddns: fix missing check for bindhost
Diffstat (limited to 'applications/luci-app-ddns/root')
-rwxr-xr-x | applications/luci-app-ddns/root/usr/libexec/rpcd/luci.ddns | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/applications/luci-app-ddns/root/usr/libexec/rpcd/luci.ddns b/applications/luci-app-ddns/root/usr/libexec/rpcd/luci.ddns index 0d4278e45..8ba4ad316 100755 --- a/applications/luci-app-ddns/root/usr/libexec/rpcd/luci.ddns +++ b/applications/luci-app-ddns/root/usr/libexec/rpcd/luci.ddns @@ -228,12 +228,28 @@ local methods = { res['has_bindnet'] = has_curl() or has_wgetssl() or false local function has_bindhost() - if (sys.call( [[which host >/dev/null 2>&1]] ) == 0) then return true end - if (sys.call( [[which khost >/dev/null 2>&1]] ) == 0) then return true end - if (sys.call( [[which drill >/dev/null 2>&1]] ) == 0) then return true end + if cache['has_bindhost'] then return cache['has_bindhost'] end + local res = (sys.call( [[which host >/dev/null 2>&1]] ) == 0) + if res then + cache['has_bindhost'] = res + return true + end + res = (sys.call( [[which khost >/dev/null 2>&1]] ) == 0) + if res then + cache['has_bindhost'] = res + return true + end + res = (sys.call( [[which drill >/dev/null 2>&1]] ) == 0) + if res then + cache['has_bindhost'] = res + return true + end + cache['has_bindhost'] = false return false end + res['has_bindhost'] = cache['has_bindhost'] or has_bindhost() or false + local function has_hostip() return (sys.call( [[which hostip >/dev/null 2>&1]] ) == 0) end @@ -242,7 +258,7 @@ local methods = { return (sys.call( [[which nslookup >/dev/null 2>&1]] ) == 0) end - res['has_dnsserver'] = has_bindhost() or has_hostip() or has_nslookup() or false + res['has_dnsserver'] = cache['has_bindhost'] or has_nslookup() or has_hostip() or has_bindhost() or false local function check_certs() local _, v = fs.glob("/etc/ssl/certs/*.crt") |