summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2012-12-11 16:08:24 +0000
committerTed Trask <ttrask01@yahoo.com>2012-12-11 16:08:24 +0000
commita3d85f4a1a4c7a5856a4c6ddec2db9115a54ab89 (patch)
treed777aa26e6b494ac32527ae956dd7b1f331e232c
parent52865b9bf0fa41ffb4e2e22c505ea23d4feb23a8 (diff)
downloadacf-alpine-baselayout-a3d85f4a1a4c7a5856a4c6ddec2db9115a54ab89.tar.bz2
acf-alpine-baselayout-a3d85f4a1a4c7a5856a4c6ddec2db9115a54ab89.tar.xz
Interfaces: Replaced subprocess.call_capture with modelfunction.run_executable
-rw-r--r--interfaces-model.lua23
1 files changed, 10 insertions, 13 deletions
diff --git a/interfaces-model.lua b/interfaces-model.lua
index 6b3db5b..bfe41a8 100644
--- a/interfaces-model.lua
+++ b/interfaces-model.lua
@@ -5,7 +5,6 @@ module (..., package.seeall)
require("modelfunctions")
fs = require("acf.fs")
format = require("acf.format")
-require("subprocess")
local servicename = "networking"
local filename = "/etc/network/interfaces"
@@ -334,11 +333,10 @@ get_status = function ()
status.filename.errtxt = "File not found"
end
- local code
- code,status.iproute.value = subprocess.call_capture({"ip", "route"})
- code,status.ipaddr.value = subprocess.call_capture({"ip", "addr"})
- code,status.iptunnel.value = subprocess.call_capture({"ip", "tunnel"})
-
+ status.iproute.value, status.iproute.errtxt = modelfunctions.run_executable({"ip", "route"})
+ status.ipaddr.value, status.ipaddr.errtxt = modelfunctions.run_executable({"ip", "addr"})
+ status.iptunnel.value, status.iptunnel.errtxt = modelfunctions.run_executable({"ip", "tunnel"})
+
return cfe({ type="group", value=status, label="Status" })
end
@@ -352,7 +350,7 @@ write_file = function (self, newfile)
end
get_interfaces = function()
- local code,ipaddr = subprocess.call_capture({"ip", "addr"})
+ local ipaddr = modelfunctions.run_executable({"ip", "addr"})
-- now parse the result to find the interfaces
local retval = {}
for line in string.gmatch(ipaddr, "[^\n]*\n?") do
@@ -365,7 +363,7 @@ get_interfaces = function()
end
get_addresses = function()
- local code,ipaddr = subprocess.call_capture({"ip", "addr"})
+ local ipaddr = modelfunctions.run_executable({"ip", "addr"})
-- now parse the result to find the interfaces and IP addresses
local retval = {}
local interface
@@ -390,10 +388,9 @@ ifup_by_name = function (self, ifuprequest)
local success = modelfunctions.validateselect(ifuprequest.value.name)
if success then
name = ifuprequest.value.name.value or ""
- local code
- code,ifuprequest.descr = subprocess.call_capture({"ifup", name, stderr=subprocess.STDOUT})
+ ifuprequest.descr, ifuprequest.errtxt = modelfunctions.run_executable({"ifup", name})
- if ifuprequest.descr == "" then
+ if not ifuprequest.errtxt and ifuprequest.descr == "" then
ifuprequest.descr = "Interface up"
end
else
@@ -414,9 +411,9 @@ ifdown_by_name = function (self, ifdownrequest)
local success = modelfunctions.validateselect(ifdownrequest.value.name)
if success then
name = ifdownrequest.value.name.value or ""
- code,ifdownrequest.descr = subprocess.call_capture({"ifdown", name, stderr=subprocess.STDOUT})
+ ifdownrequest.descr, ifdownrequest.errtxt = modelfunctions.run_executable({"ifdown", name})
- if ifdownrequest.descr == "" then
+ if not ifdownrequest.errtxt and ifdownrequest.descr == "" then
ifdownrequest.descr = "Interface down"
end
else