summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2012-12-26 21:31:05 +0000
committerTed Trask <ttrask01@yahoo.com>2012-12-26 21:31:05 +0000
commit8f8b9ceb346b8d102c02ce37700c10ae313fcd1e (patch)
treed25d69757dadef6517918e06969bf03f48b2d562
parenta3d85f4a1a4c7a5856a4c6ddec2db9115a54ab89 (diff)
downloadacf-alpine-baselayout-8f8b9ceb346b8d102c02ce37700c10ae313fcd1e.tar.bz2
acf-alpine-baselayout-8f8b9ceb346b8d102c02ce37700c10ae313fcd1e.tar.xz
Replace io.popen with modelfunction.run_executable
-rw-r--r--health-model.lua22
-rw-r--r--hostname-model.lua17
-rw-r--r--interfaces-model.lua5
-rw-r--r--logfiles-model.lua4
-rw-r--r--modules-model.lua4
5 files changed, 22 insertions, 30 deletions
diff --git a/health-model.lua b/health-model.lua
index 81d0bb4..8007ff0 100644
--- a/health-model.lua
+++ b/health-model.lua
@@ -4,31 +4,29 @@ module (..., package.seeall)
fs = require("acf.fs")
date = require("acf.date")
format = require("acf.format")
-
-local path = "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin "
+require("modelfunctions")
-- ###############################################################
-- Private functions
local function querycmd ( cmdline )
- local cmd = io.popen( path..format.escapespecialcharacters(cmdline) )
- local cmd_result = cmd:read("*a") or "unknown"
- cmd:close()
+ local cmd_result = modelfunctions.run_executable(format.string_to_table(cmdline, "%s+"))
+ if not cmd_result or cmd_result == "" then
+ cmd_result = "unknown"
+ end
return cmd_result
end
local function indexversion ( )
- local cmd = io.popen( path.."apk version --index 2>/dev/null" )
- local cmd_result = cmd:read("*a")
+ local cmd_result = modelfunctions.run_executable({"apk", "version", "--index"})
if cmd_result == "" then cmd_result = nil end
- cmd:close()
return cmd_result
end
local function diskfree ( media )
- if not (media) then media = "" end
- local cmd = io.popen( path.."df -h " .. format.escapespecialcharacters(media) )
- local cmd_result = cmd:read("*a") or "unknown"
- cmd:close()
+ local cmd_result = modelfunctions.run_executable({"df", "-h", media})
+ if not cmd_result or cmd_result == "" then
+ cmd_result = "unknown"
+ end
return cmd_result
end
diff --git a/hostname-model.lua b/hostname-model.lua
index 87b3b5f..11aacae 100644
--- a/hostname-model.lua
+++ b/hostname-model.lua
@@ -2,18 +2,18 @@
module (..., package.seeall)
fs = require("acf.fs")
+require("modelfunctions")
get = function (fqdn)
- local f,n
+ local n
if fqdn then
- f = io.popen("/bin/hostname -f 2>/dev/null")
- n = f:read("*a")
- f:close()
+ n = modelfunctions.run_executable({"hostname", "-f"})
end
if not n or n == "" then
- f = io.popen("/bin/hostname")
- n = f:read("*a") or "unknown"
- f:close()
+ n = modelfunctions.run_executable({"hostname"})
+ end
+ if not n or n == "" then
+ n = "unknown"
end
return cfe({value=n, label="Hostname"})
@@ -29,8 +29,7 @@ update_name = function(self, name)
if success then
fs.write_file("/etc/hostname", name.value.hostname.value)
- local f = io.popen("/bin/hostname -F /etc/hostname")
- f:close()
+ modelfunctions.run_executable({"hostname", "-F", "/etc/hostname"})
else
name.errtxt = "Failed to set hostname"
end
diff --git a/interfaces-model.lua b/interfaces-model.lua
index bfe41a8..ab1ec68 100644
--- a/interfaces-model.lua
+++ b/interfaces-model.lua
@@ -8,7 +8,6 @@ format = require("acf.format")
local servicename = "networking"
local filename = "/etc/network/interfaces"
-local path = "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin "
local array
@@ -388,7 +387,7 @@ ifup_by_name = function (self, ifuprequest)
local success = modelfunctions.validateselect(ifuprequest.value.name)
if success then
name = ifuprequest.value.name.value or ""
- ifuprequest.descr, ifuprequest.errtxt = modelfunctions.run_executable({"ifup", name})
+ ifuprequest.descr, ifuprequest.errtxt = modelfunctions.run_executable({"ifup", name}, true)
if not ifuprequest.errtxt and ifuprequest.descr == "" then
ifuprequest.descr = "Interface up"
@@ -411,7 +410,7 @@ ifdown_by_name = function (self, ifdownrequest)
local success = modelfunctions.validateselect(ifdownrequest.value.name)
if success then
name = ifdownrequest.value.name.value or ""
- ifdownrequest.descr, ifdownrequest.errtxt = modelfunctions.run_executable({"ifdown", name})
+ ifdownrequest.descr, ifdownrequest.errtxt = modelfunctions.run_executable({"ifdown", name}, true)
if not ifdownrequest.errtxt and ifdownrequest.descr == "" then
ifdownrequest.descr = "Interface down"
diff --git a/logfiles-model.lua b/logfiles-model.lua
index 31fb088..0c26f22 100644
--- a/logfiles-model.lua
+++ b/logfiles-model.lua
@@ -15,9 +15,7 @@ local function file_info ( path )
end
local size = st.size or "0"
local lastmod = st.mtime or "---"
- local file_inuse = io.popen("fuser " .. format.escapespecialcharacters(path) )
- local fileinuseresult = file_inuse:read("*a") or "unknown"
- file_inuse:close()
+ local fileinuseresult = modelfunctions.run_executable({"fuser", path}) or "unknown"
fileinuseresult = (fileinuseresult ~= "")
return lastmod,size,fileinuseresult
end
diff --git a/modules-model.lua b/modules-model.lua
index 301a7a2..89180c5 100644
--- a/modules-model.lua
+++ b/modules-model.lua
@@ -6,9 +6,7 @@ fs = require("acf.fs")
local configfile = "/etc/modules"
function read_modules()
- local f = io.popen("/sbin/lsmod")
- local retval = f:read("*a")
- f:close()
+ local retval = modelfunctions.run_executable({"lsmod"})
return cfe({ type="longtext", value=retval, label="Modules List" })
end