summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2008-04-04 11:14:41 +0000
committerMika Havela <mika.havela@gmail.com>2008-04-04 11:14:41 +0000
commit4f54a99126e25b88258c0a31cea66d7259a6fede (patch)
tree1a00244a7c6381956904683ec027600d7d87695b
parent15f432dd230df053f861e97638aed42befab24f9 (diff)
downloadacf-ipsec-tools-4f54a99126e25b88258c0a31cea66d7259a6fede.tar.bz2
acf-ipsec-tools-4f54a99126e25b88258c0a31cea66d7259a6fede.tar.xz
Adding show-logfile functionallity.
git-svn-id: svn://svn.alpinelinux.org/acf/ipsec-tools/trunk@912 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--Makefile1
-rw-r--r--ipsectools-controller.lua12
-rw-r--r--ipsectools-logfile-html.lsp78
-rw-r--r--ipsectools-model.lua22
-rw-r--r--ipsectools.menu1
5 files changed, 114 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 4226acc..de856cc 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,7 @@ APP_DIST=\
ipsectools-model.lua \
ipsectools-status-html.lsp \
ipsectools-expert-html.lsp \
+ ipsectools-logfile-html.lsp \
ipsectools.menu \
diff --git a/ipsectools-controller.lua b/ipsectools-controller.lua
index 1689b36..6d3fb3c 100644
--- a/ipsectools-controller.lua
+++ b/ipsectools-controller.lua
@@ -122,3 +122,15 @@ expert = function (self)
cmdmanagement = cmdmanagement,
url = url, } )
end
+
+logfile = function (self)
+
+ local status=self.model.getstatus()
+ local logfile = self.model:get_logfile()
+
+ return ({
+ status = status,
+ logfile = logfile,
+ url = url,
+ })
+end
diff --git a/ipsectools-logfile-html.lsp b/ipsectools-logfile-html.lsp
new file mode 100644
index 0000000..6f8f8f7
--- /dev/null
+++ b/ipsectools-logfile-html.lsp
@@ -0,0 +1,78 @@
+<? local form = ... ?>
+
+<?
+--[[ DEBUG INFORMATION
+io.write("<H1>DEBUGGING</H1><span style='color:red'><H2>DEBUG INFO: CFE</H2>")
+io.write(html.cfe_unpack(form))
+io.write("</span>")
+--]]
+?>
+<?
+function displayinfo(myform,tags,viewtype)
+ for k,v in pairs(tags) do
+ if (myform[v]) and (myform[v]["value"]) then
+ local val = myform[v]
+ io.write("\n\t<DT")
+ if (#val.errtxt > 0) then
+ val.class = "error"
+ io.write(" class='error'")
+ end
+ io.write(">" .. val.label .. "</DT>")
+ io.write("\n\t\t<DD>")
+ if (viewtype == "viewonly") then
+ io.write(val.value)
+ elseif (val.type == "radio") and (type(val.option) == "table") and (#val.option > 0) then
+ io.write("<span style='display:inline' class='" .. ( val.class or "") .. "'>")
+ for k1,v1 in pairs(val.option) do
+ io.write(tostring(v1.label) .. ":")
+ io.write("<input style='margin-right:20px;margin-left:5px;' type='radio' class='" .. ( val.class or "") .. "' name='" .. val.name .. "'")
+ if (tostring(val.value) == tostring(v1.value)) then io.write(" checked='yes'") end
+ io.write(" value='" .. v1.value .. "'>")
+ end
+ io.write("</input></span>")
+ else
+ io.write(html.form[val.type](val))
+ end
+ if (val.descr) and (#val.descr > 0) then io.write("\n\t\t<P CLASS='descr'>" .. string.gsub(val.descr, "\n", "<BR>") .. "</P>") end
+ if (#val.errtxt > 0) then io.write("\n\t\t<P CLASS='error'>" .. string.gsub(val.errtxt, "\n", "<BR>") .. "</P>") end
+ io.write("\n\t\t</DD>\n")
+ end
+ end
+end
+?>
+
+<H1>SYSTEM INFO</H1>
+<DL>
+<?
+local myform = form.status
+local tags = { "status", "version", "autostart", }
+displayinfo(myform,tags,"viewonly")
+?>
+</DL>
+
+
+<? local myform = form.logfile ?>
+<form name="myform" action="" method="POST">
+<h1>LOGFILE</h1>
+<h2>Details</h2>
+<DL>
+<?
+local tags = { "filename", "filesize", "mtime", "sumerrors", }
+displayinfo(myform,tags,"viewonly")
+?>
+</DL>
+
+<H3>FILE CONTENT</H3>
+<?
+io.write(html.form[myform.filecontent.type](myform.filecontent))
+?>
+
+</form>
+
+<?
+--[[ DEBUG INFORMATION
+io.write("<H1>DEBUGGING</H1><span style='color:red'><H2>DEBUG INFO: CFE</H2>")
+io.write(html.cfe_unpack(form))
+io.write("</span>")
+--]]
+?>
diff --git a/ipsectools-model.lua b/ipsectools-model.lua
index 6eed873..4b91fdf 100644
--- a/ipsectools-model.lua
+++ b/ipsectools-model.lua
@@ -255,3 +255,25 @@ function update_filecontent2 (self, modifications)
local file_result,err = fs.write_file(path, format.dostounix(modifications))
return file_result
end
+function get_logfile ()
+ local file = {}
+ local cmdtxt = "cat /var/log/messages | grep " .. processname
+ local cmd, error = io.popen(cmdtxt ,r)
+ local cmdoutput = cmd:read("*a")
+ cmd:close()
+
+ file["filename"] = cfe({
+ name="filename",
+ label="File name",
+ value=cmdtxt,
+ })
+
+ file["filecontent"] = cfe({
+ type="longtext",
+ name="filecontent",
+ label="File content",
+ value=cmdoutput,
+ })
+
+ return file
+end
diff --git a/ipsectools.menu b/ipsectools.menu
index b46dfdd..b194bec 100644
--- a/ipsectools.menu
+++ b/ipsectools.menu
@@ -1,4 +1,5 @@
#CAT GROUP/DESC TAB ACTION
Networking 45IPsec Status status
Networking 45IPsec Expert expert
+Networking 45IPsec Logfile logfile