summaryrefslogtreecommitdiffstats
path: root/snort-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'snort-model.lua')
-rw-r--r--snort-model.lua44
1 files changed, 36 insertions, 8 deletions
diff --git a/snort-model.lua b/snort-model.lua
index 3666e6e..06809b7 100644
--- a/snort-model.lua
+++ b/snort-model.lua
@@ -16,11 +16,31 @@ local configfile = "/etc/snort/snort.conf"
-- LOCAL FUNCTIONS
local function get_version()
- local cmd = "/sbin/apk_version -v -s " .. processname .. " | cut -d ' ' -f 1"
- local cmd_output = io.popen( cmd )
- local cmd_output_result = cmd_output:read("*a") or ""
- cmd_output:close()
- return cmd_output_result
+ local cmd_output_result, cmd_output_error
+ local cmd = "/sbin/apk_version -vs " .. processname .." 2>/dev/null"
+ local f = io.popen( cmd )
+ local cmdresult = f:read("*l")
+ if (cmdresult) and (#cmdresult > 0) then
+ cmd_output_result = string.match(cmdresult,"^%S*") or "Unknown"
+ else
+ cmd_output_error = "Program not installed"
+ end
+ f:close()
+ return cmd_output_result,cmd_output_error
+end
+
+local function autostarts()
+ local cmd_output_result, cmd_output_error
+ local cmd = "/sbin/rc_status | egrep '^S' | egrep '" .. processname .."' 2>/dev/null"
+ local f = io.popen( cmd )
+ local cmdresult = f:read("*a")
+ if (cmdresult) and (#cmdresult > 0) then
+ cmd_output_result = "Process will autostart at next boot (at sequence '" .. string.match(cmdresult,"^%a+(%d%d)") .. "')"
+ else
+ cmd_output_error = "Not programmed to autostart"
+ end
+ f:close()
+ return cmd_output_result,cmd_output_error
end
-- ################################################################################
@@ -29,10 +49,11 @@ end
function getstatus ()
local status = {}
- status.version = cfe({
- name = "version",
+ local value, errtxt = get_version()
+ status.version = cfe({ name = "version",
label="Program version",
- value=get_version(),
+ value=value,
+ errtxt=errtxt,
})
status.status = cfe({
@@ -41,6 +62,13 @@ function getstatus ()
value=procps.pidof(processname) or "",
})
+ local autostart_sequense, autostart_errtxt = autostarts()
+ status.autostart = cfe({ name="autostart",
+ label="Autostart sequence",
+ value=autostart_sequense,
+ errtxt=autostart_errtxt,
+ })
+
return status
end