summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2007-11-19 14:43:46 +0000
committerMika Havela <mika.havela@gmail.com>2007-11-19 14:43:46 +0000
commit723453ae5dced317e70f6597efe17b4872ea35a2 (patch)
tree91863556987ac06972503c6d115621ef3043e060
parent31ff3ba51554722d2afbdc8153801c5496ff02b8 (diff)
downloadacf-openvpn-723453ae5dced317e70f6597efe17b4872ea35a2.tar.bz2
acf-openvpn-723453ae5dced317e70f6597efe17b4872ea35a2.tar.xz
Building up ideas on different functions
git-svn-id: svn://svn.alpinelinux.org/acf/openvpn/trunk@335 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--openvpn-client_config-html.lsp66
-rw-r--r--openvpn-controller.lua19
-rw-r--r--openvpn-logfile-html.lsp12
-rw-r--r--openvpn-model.lua15
-rw-r--r--openvpn-pem_info-html.lsp40
-rw-r--r--openvpn-read-html.lsp4
-rw-r--r--openvpn-server_config-html.lsp34
-rw-r--r--openvpn-status_info-html.lsp40
-rw-r--r--openvpn-unknown_config-html.lsp12
9 files changed, 226 insertions, 16 deletions
diff --git a/openvpn-client_config-html.lsp b/openvpn-client_config-html.lsp
new file mode 100644
index 0000000..cd0c754
--- /dev/null
+++ b/openvpn-client_config-html.lsp
@@ -0,0 +1,66 @@
+<? local view = ... ?>
+<html>
+<body>
+<h1>Client config 'xxx.conf'</h1>
+<h2>Client settings</h2>
+
+<dt>Mode</dt>
+<dd>client</dd>
+
+<dt>User device</dt>
+<dd>xxx</dd>
+
+<dt>Remote server</dt>
+<dd>xxx.xxx.xxx.xxx:xxxx (xxx)</dd>
+
+<dt>Logfile</dt>
+<dd><?= html.link{value = view.url .. "/logfile?name=xxx" , label="xxx.log" } ?> (Verbosity level: x)</dd>
+
+<dt>Configfile</dt>
+<dd><?= html.link{value = view.url .. "/unknown_config?name=xxx" , label="xxx.conf" } ?></dd>
+
+<h3>Client properties</h3>
+
+<dt>Common name</dt>
+<dd>xxx</dd>
+
+<dt>Virtual address</dt>
+<dd>xxx.xxx.xxx.xxx</dd>
+
+<dt>Real address</dt>
+<dd>xxx.xxx.xxx.xxx:xxxx</dd>
+
+<h2>Startup options</h2>
+
+<dt>Process running</dt>
+<dd><input type="checkbox">xxx</input></dd>
+
+<dt>Init.d script exists</dt>
+<dd><input type="checkbox">xxx</input></dd>
+
+<dt>Autostarts at boot</dt>
+<dd><input type="checkbox">xxx</input></dd>
+
+<h2>Certificate files</h2>
+
+<dt>DH</dt>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?></dd>
+
+<dt>CA Certificate</dt>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?></dd>
+
+<dt>Client Certificate</dt>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?></dd>
+
+<dt>Client Private Key</dt>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?></dd>
+
+<dt>TLS Authentication</dt>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?></dd>
+
+<dt>CRL Verify File</dt>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?> (client side)</dd>
+
+
+</body>
+</html>
diff --git a/openvpn-controller.lua b/openvpn-controller.lua
index b088758..a0c973b 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()} )
+ return ( {conflistfiles = self.model:list_conffiles(), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} )
-- return ({conflistfiles = me})
-- return self.model:get()
-- return build_form(self)
@@ -123,6 +123,23 @@ end
server_config = function (self)
+ return ( {url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} )
+end
+
+client_config = function (self)
+ return ( {url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} )
+end
+
+pem_info = function (self)
+end
+
+status_info = function (self)
+end
+
+unknown_config = function (self)
+end
+
+logfile = function (self)
end
create = update
diff --git a/openvpn-logfile-html.lsp b/openvpn-logfile-html.lsp
new file mode 100644
index 0000000..c1db75e
--- /dev/null
+++ b/openvpn-logfile-html.lsp
@@ -0,0 +1,12 @@
+<? local view = ... ?>
+<html>
+<body>
+<h1>Logfile 'xxx.log'</h1>
+
+<h2>Details</h2>
+
+<input type=text style="width:100%;height:500px"></input>
+
+
+</body>
+</html>
diff --git a/openvpn-model.lua b/openvpn-model.lua
index c5210b3..4e60764 100644
--- a/openvpn-model.lua
+++ b/openvpn-model.lua
@@ -21,6 +21,21 @@ local function read_file_as_array ( path )
return f
end
+
+local is_running = function( process )
+ local retval = false
+ local file = io.popen("pidof " .. process)
+ if file ~= nil then
+ local line = file:read( "*l" )
+ file:close()
+ if #line > 0 then
+ retval = true
+ end
+ end
+
+ return retval
+end
+
local function has_init_script ( f )
local initprefix = "/etc/init.d/openvpn"
local file = initprefix .. "." .. f
diff --git a/openvpn-pem_info-html.lsp b/openvpn-pem_info-html.lsp
new file mode 100644
index 0000000..028ba03
--- /dev/null
+++ b/openvpn-pem_info-html.lsp
@@ -0,0 +1,40 @@
+<? local view = ... ?>
+<html>
+<body>
+<h1>Certificate Info 'xxx.conf'</h1>
+<h2>General</h2>
+
+<dt>Serial</dt>
+<dd>xxx</dd>
+
+<dt>Common name</dt>
+<dd>xxx</dd>
+
+<dt>Country</dt>
+<dd>xxx</dd>
+
+<dt>State or Province</dt>
+<dd>xxx</dd>
+
+<dt>City</dt>
+<dd>xxx</dd>
+
+<dt>Company</dt>
+<dd>xxx</dd>
+
+<dt>Departement II</dt>
+<dd>xxx</dd>
+
+<dt>e-mail</dt>
+<dd>xxx</dd>
+
+<dt>Status</dt>
+<dd>xxx</dd>
+
+<h2>Certificate Details</h2>
+
+<input type=text style="width:100%;height:300px"></input>
+
+
+</body>
+</html>
diff --git a/openvpn-read-html.lsp b/openvpn-read-html.lsp
index 521e6b3..6854054 100644
--- a/openvpn-read-html.lsp
+++ b/openvpn-read-html.lsp
@@ -5,7 +5,7 @@
]]-- ?>
<html>
<body>
-<h1>General</h1>
+<h1>Welcome</h1>
<h2>Available configs</h2>
<TABLE BORDER=0 WIDTH="100%">
<TR style="background:#eee;font-weight:bold;vertical-align:top;">
@@ -17,7 +17,7 @@
<? for i = 1, table.maxn(view.conflistfiles) do ?>
<TR >
- <TD><a href=""><?= view.conflistfiles[i].value ?></a></TD>
+ <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>xxx</TD>
diff --git a/openvpn-server_config-html.lsp b/openvpn-server_config-html.lsp
index 41b28c5..6c26398 100644
--- a/openvpn-server_config-html.lsp
+++ b/openvpn-server_config-html.lsp
@@ -7,9 +7,6 @@
<dt>Mode</dt>
<dd>server</dd>
-<dt>Process running</dt>
-<dd><input type="checkbox">xxx</input></dd>
-
<dt>User device</dt>
<dd>xxx</dd>
@@ -17,42 +14,53 @@
<dd>xxx.xxx.xxx.xxx:xxxx (xxx)</dd>
<dt>Logfile</dt>
-<dd><a href="">xxx.log</a> (Verbosity level: x)</dd>
+<dd><?= html.link{value = view.url .. "/logfile?name=xxx" , label="xxx.log" } ?> (Verbosity level: x)</dd>
<dt>Configfile</dt>
-<dd><a href="">xxx.conf</a></dd>
+<dd><?= html.link{value = view.url .. "/unknown_config?name=xxx" , label="xxx.conf" } ?></dd>
<h3>Connected clients status</h3>
<dt>Last status was recorded</dt>
-<dd><a href="">YYYY-MM-DD HH:MM:SS</a> (xx minutes ago)</dd>
+<dd>YYYY-MM-DD HH:MM:SS (xx minutes ago)</dd>
<dt>Maximum clients</dt>
<dd>xxx</dd>
<dt>Connected clients</dt>
-<dd><a href="">xxx</a></dd>
+<dd><?= html.link{value = view.url .. "/status_info?name=xxx" , label="xxx" } ?></dd>
+
+<h2>Startup options</h2>
+
+<dt>Process running</dt>
+<dd><input type="checkbox">xxx</input></dd>
+
+<dt>Init.d script exists</dt>
+<dd><input type="checkbox">xxx</input></dd>
+
+<dt>Autostarts at boot</dt>
+<dd><input type="checkbox">xxx</input></dd>
<h2>Certificate files</h2>
<dt>DH</dt>
-<dd><a href="">xxx.pem</a></dd>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?></dd>
<dt>CA Certificate</dt>
-<dd><a href="">xxx.pem</a></dd>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?></dd>
<dt>Server Certificate</dt>
-<dd><a href="">xxx.pem</a></dd>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?></dd>
<dt>Server Private Key</dt>
-<dd><a href="">xxx.pem</a></dd>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?></dd>
<dt>TLS Authentication</dt>
-<dd><a href="">xxx.pem</a></dd>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?></dd>
<dt>CRL Verify File</dt>
-<dd><a href="">xxx.pem</a> (server side)</dd>
+<dd><?= html.link{value = view.url .. "/pem_info?name=xxx" , label="xxx.pem" } ?> (server side)</dd>
</body>
diff --git a/openvpn-status_info-html.lsp b/openvpn-status_info-html.lsp
new file mode 100644
index 0000000..e538cd1
--- /dev/null
+++ b/openvpn-status_info-html.lsp
@@ -0,0 +1,40 @@
+<? local view = ... ?>
+<html>
+<body>
+<h1>Status</h1>
+<h2>Connected clients</h2>
+
+<TABLE BORDER=0 WIDTH="100%">
+ <TR style="background:#eee;font-weight:bold;vertical-align:top;">
+ <TD WIDTH=120>Common Name<BR>Connected at</TD>
+ <TD WIDTH=110>Virtual Address</TD>
+ <TD WIDTH=140>Real Address</TD>
+ <TD WIDTH=100>Bytes Received</TD>
+ <TD>Bytes Sent</TD>
+ </TR>
+ <TR>
+ <TD>XXX</TD>
+ <TD>XXX.XXX.XXX.XXX</TD>
+ <TD>XXX.XXX.XXX.XXX:XXXX</TD>
+ <TD>XXXX</TD>
+ <TD>XXXX</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=5 style="border-bottom: 1px solid #ccc;">YYYY-MM-DD HH:MM:SS (Which is xx minutes ago)</TD>
+ </TR>
+
+ <TR>
+ <TD>XXX</TD>
+ <TD>XXX.XXX.XXX.XXX</TD>
+ <TD>XXX.XXX.XXX.XXX:XXXX</TD>
+ <TD>XXXX</TD>
+ <TD>XXXX</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN=5 style="border-bottom: 1px solid #ccc;">YYYY-MM-DD HH:MM:SS (Which is xx minutes ago)</TD>
+ </TR>
+
+
+</TABLE>
+</body>
+</html>
diff --git a/openvpn-unknown_config-html.lsp b/openvpn-unknown_config-html.lsp
new file mode 100644
index 0000000..26787c5
--- /dev/null
+++ b/openvpn-unknown_config-html.lsp
@@ -0,0 +1,12 @@
+<? local view = ... ?>
+<html>
+<body>
+<h1>Configuration file 'xxx.conf'</h1>
+
+<h2>Details</h2>
+
+<input type=text style="width:100%;height:500px"></input>
+
+
+</body>
+</html>