summaryrefslogtreecommitdiffstats
path: root/snort-model.lua
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2008-04-08 15:13:54 +0000
committerMika Havela <mika.havela@gmail.com>2008-04-08 15:13:54 +0000
commit132a51a124fb1fa5e48f3b0982b9742572bc922c (patch)
tree8f776bdec1d5228dad70a6ae9a87c02037c1e6cf /snort-model.lua
parent4baa9420979051e89c0758fd66ce71f0179b1532 (diff)
downloadacf-snort-132a51a124fb1fa5e48f3b0982b9742572bc922c.tar.bz2
acf-snort-132a51a124fb1fa5e48f3b0982b9742572bc922c.tar.xz
Cleaning up code.
git-svn-id: svn://svn.alpinelinux.org/acf/snort/trunk@962 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'snort-model.lua')
-rw-r--r--snort-model.lua47
1 files changed, 14 insertions, 33 deletions
diff --git a/snort-model.lua b/snort-model.lua
index 8a4450a..f933283 100644
--- a/snort-model.lua
+++ b/snort-model.lua
@@ -1,46 +1,29 @@
-- acf model for displaying logfiles recusivly
module (..., package.seeall)
--- no initializer in model - use controller.init for that
-
+-- Load libraries
require("fs")
require("posix")
require("procps")
require("daemoncontrol")
require("format")
+require("processinfo")
+-- Set variables
+local packagename = "snort"
local processname = "snort"
local configfile = "/etc/snort/snort.conf"
-- ################################################################################
-- LOCAL FUNCTIONS
-local function get_version()
- 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"
+local function process_status_text(procname)
+ local t = procps.pidof(procname)
+ if (t) and (#t > 0) then
+ return "Enabled"
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
+ return "Disabled"
+ end
end
-- ################################################################################
@@ -49,20 +32,19 @@ end
function getstatus ()
local status = {}
- local value, errtxt = get_version()
+ local value, errtxt = processinfo.package_version(packagename)
status.version = cfe({ name = "version",
label="Program version",
value=value,
errtxt=errtxt,
})
- status.status = cfe({
- name="status",
+ status.status = cfe({ name="status",
label="Program status",
- value=procps.pidof(processname) or "",
+ value=process_status_text(processname),
})
- local autostart_sequense, autostart_errtxt = autostarts()
+ local autostart_sequense, autostart_errtxt = processinfo.process_botsequence(processname)
status.autostart = cfe({ name="autostart",
label="Autostart sequence",
value=autostart_sequense,
@@ -139,7 +121,6 @@ function startstop_service ( self, action )
local cmdresult,cmdmessage,cmderror,cmdaction = daemoncontrol.daemoncontrol("snort", cmd)
action.descr=cmdmessage
action.errtxt=cmderror
- -- Reporting back (true|false, the original acition)
return cmdresult,action
end