diff options
author | Ted Trask <ttrask01@yahoo.com> | 2012-12-26 22:26:14 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2012-12-26 22:26:14 +0000 |
commit | f498d2b0c03fa067677bbaa9da69e790ec17e27f (patch) | |
tree | c5fb6d3af6a2212935233eeb0f14a6b0a08e4635 | |
parent | 172b5853f30065a06153d580aa57c0fd85d69b37 (diff) | |
download | acf-heimdal-f498d2b0c03fa067677bbaa9da69e790ec17e27f.tar.bz2 acf-heimdal-f498d2b0c03fa067677bbaa9da69e790ec17e27f.tar.xz |
Replaced io.popen calls with modelfunction.run_executable
-rw-r--r-- | heimdal-model.lua | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/heimdal-model.lua b/heimdal-model.lua index 24a55d9..7af12c4 100644 --- a/heimdal-model.lua +++ b/heimdal-model.lua @@ -3,14 +3,11 @@ module(..., package.seeall) -- Load libraries require("modelfunctions") fs = require("acf.fs") -format = require("acf.format") -- Set variables local configfile = "/etc/krb5.conf" local packagename = "heimdal" -local path = "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin " - -- ################################################################################ -- LOCAL FUNCTIONS @@ -39,22 +36,16 @@ end function set_kinit(self, data) local tmp = "/tmp/k"..os.time() fs.write_file(tmp, data.value.password.value) - local cmd = path.."kinit --password-file="..tmp.." "..format.escapespecialcharacters(data.value.login.value).." 2>&1" - local f = io.popen(cmd) - data.descr = f:read("*a") or "" - f:close() + data.descr, data.errtxt = modelfunctions.run_executable({"kinit", "--password-file="..tmp, data.value.login.value}, true) os.remove(tmp) - if data.descr == "" then data.descr = "Success" end + if not data.errtxt and data.descr == "" then data.descr = "Success" end return data end function klist() - local cmd = path.."klist" - local f = io.popen(cmd) - local result = f:read("*a") or "" - f:close() - if result == "" then result = "No tickets found" end - return cfe({ value=result, label="List of Kerberos Tickets" }) + local result, errtxt = modelfunctions.run_executable({"klist"}) + if not errtxt and result == "" then result = "No tickets found" end + return cfe({ value=result, label="List of Kerberos Tickets", errtxt=errtxt }) end function get_kdestroy() @@ -62,10 +53,7 @@ function get_kdestroy() end function kdestroy(self, kd) - local cmd = path.."kdestroy" - local f = io.popen(cmd) - kd.descr = f:read("*a") or "" - f:close() - if kd.descr == "" then kd.descr = "Successfully Destroyed Tickets" end + kd.descr, kd.errtxt = modelfunctions.run_executable({"kdestroy"}) + if not kd.errtxt and kd.descr == "" then kd.descr = "Successfully Destroyed Tickets" end return kd end |