summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2007-11-20 16:21:18 +0000
committerMika Havela <mika.havela@gmail.com>2007-11-20 16:21:18 +0000
commit178d3b86a6e8b41de5b1d854c34c8f93b483444a (patch)
tree601df0cb22e64ebc9740f2f6b133adaadd6e28a2
parent14e6f71062ae0a775d49935fa1e7b5580e8c6606 (diff)
downloadacf-openvpn-178d3b86a6e8b41de5b1d854c34c8f93b483444a.tar.bz2
acf-openvpn-178d3b86a6e8b41de5b1d854c34c8f93b483444a.tar.xz
View.read got some functionallity, like displaying programversion
git-svn-id: svn://svn.alpinelinux.org/acf/openvpn/trunk@345 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--openvpn-controller.lua2
-rw-r--r--openvpn-model.lua52
-rw-r--r--openvpn-read-html.lsp4
3 files changed, 43 insertions, 15 deletions
diff --git a/openvpn-controller.lua b/openvpn-controller.lua
index a0c973b..52dbfe9 100644
--- a/openvpn-controller.lua
+++ b/openvpn-controller.lua
@@ -115,7 +115,7 @@ end
read = function (self)
local me = {}
me = cfe{name=conflistfilesaf, value="hej"}
- return ( {conflistfiles = self.model:list_conffiles(), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} )
+ return ( {conflistfiles = self.model:list_conffiles(), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller, version = self.model:openvpn_version()} )
-- return ({conflistfiles = me})
-- return self.model:get()
-- return build_form(self)
diff --git a/openvpn-model.lua b/openvpn-model.lua
index 2ef36d5..5d17dbb 100644
--- a/openvpn-model.lua
+++ b/openvpn-model.lua
@@ -21,21 +21,42 @@ local function read_file_as_array ( path )
return f
end
+local function is_cmdline(path, name)
+ local f = io.open(path.."/cmdline")
+ if f == nil then
+ return false
+ end
+ local line = f:read()
+ f:close()
+ if line == nil then
+ return false
+ end
+ local arg0 = string.gsub(line, string.char(0)..".*", "")
+ return posix.basename(arg0) == name
+end
+
+
+
+
local is_running = function( process, parameters )
- local retval = false
- local pidofs = io.popen("pidof " .. process)
- if pidofs ~= nil then
- require ("pidof")
- for k,v in pairs(pidof.pidof(process)) do
--- for pidof in split(pidofs) do
- local file = io.open( "/proc/" .. v .. "/cmdline" )
- local file_result = file:read("*a") or "unknown"
- file:close()
- retval = file_result
- end
+ strsplit = require("split")
+ local retval = nil
+ local pidofsx,error = io.popen("pidof " .. process ,r)
+ local pidofs = strsplit(" ", pidofsx:read("*a"))
+ pidofsx:close()
+ if ( pidofs ~= nil ) then
+ for k,v in pairs(pidofs) do
+ local path = string.gsub("/proc/".. v .. "/cmdline", "%s", "")
+ local f = io.open(path)
+ local file_resultx = f:read("*a")
+ local file_result = string.match(file_resultx, parameters)
+ f:close()
+ if ( file_result ) then
+ retval = "Running"
+ end
+ end
end
-
return retval
end
@@ -121,6 +142,13 @@ end
-- ################################################################################
-- PUBLIC FUNCTIONS
+function openvpn_version()
+ local f,error = io.popen("/usr/sbin/openvpn --version")
+ openvpnversion = f:read("*l")
+ f:close()
+ return openvpnversion
+end
+
function list_conffiles()
conlistfiles = {}
local files = list_rootfolder()
diff --git a/openvpn-read-html.lsp b/openvpn-read-html.lsp
index 6854054..00a419a 100644
--- a/openvpn-read-html.lsp
+++ b/openvpn-read-html.lsp
@@ -19,7 +19,7 @@
<TR >
<TD><?= html.link{value = view.url .. "/" .. view.conflistfiles[i].type .. "_config?config=" .. view.conflistfiles[i].value , label=view.conflistfiles[i].value } ?></TD>
<TD><?= view.conflistfiles[i].type ?></TD>
- <TD><?= view.conflistfiles[i].init ?></TD>
+ <TD><? if view.conflistfiles[i].init then ?><?= view.conflistfiles[i].init ?><? end ?></TD>
<TD>xxx</TD>
</TR>
<? end ?>
@@ -28,7 +28,7 @@
<h2>System info</h2>
<dt>Program version</dt>
-<dd>OpenVPN ver.x.x.x</dd>
+<dd><?= view.version ?></dd>