summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2008-12-08 16:44:46 +0000
committerTed Trask <ttrask01@yahoo.com>2008-12-08 16:44:46 +0000
commit1705cd872b0d82473730c8e1cd08c40ea9eacc71 (patch)
tree59e38c9bebd00e474d273e356bb7a184899b17e2
parent83284ae6afcea7f9bdc0bbbb0ad85a2b069fa190 (diff)
downloadacf-ipsec-tools-1705cd872b0d82473730c8e1cd08c40ea9eacc71.tar.bz2
acf-ipsec-tools-1705cd872b0d82473730c8e1cd08c40ea9eacc71.tar.xz
Modified ipsec-tools to add viewvert.
git-svn-id: svn://svn.alpinelinux.org/acf/ipsec-tools/trunk@1628 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--ipsectools-controller.lua4
-rw-r--r--ipsectools-listcerts-html.lsp3
-rw-r--r--ipsectools-model.lua14
-rw-r--r--ipsectools-viewcert-html.lsp8
-rw-r--r--ipsectools.roles4
5 files changed, 31 insertions, 2 deletions
diff --git a/ipsectools-controller.lua b/ipsectools-controller.lua
index 937830f..ef59fdb 100644
--- a/ipsectools-controller.lua
+++ b/ipsectools-controller.lua
@@ -42,3 +42,7 @@ end
function uploadcert (self)
return controllerfunctions.handle_form(self, self.model.new_upload_cert, self.model.upload_cert, self.clientdata, "Upload", "Upload Certificate", "Certificate Uploaded")
end
+
+function viewcert(self)
+ return self.model.view_cert(self.clientdata.cert)
+end
diff --git a/ipsectools-listcerts-html.lsp b/ipsectools-listcerts-html.lsp
index 2388d3c..90f8849 100644
--- a/ipsectools-listcerts-html.lsp
+++ b/ipsectools-listcerts-html.lsp
@@ -16,6 +16,9 @@
<TR>
<TD style="padding-right:20px;white-space:nowrap;">
<%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/deletecert?cert="..cert.."&redir="..page_info.orig_action, label="Delete "} %>
+ <% if not string.find(cert, "%-key") then %>
+ <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/viewcert?cert="..cert.."&redir="..page_info.orig_action, label="View "} %>
+ <% end %>
</TD>
<TD style="white-space:nowrap;"><%= cert %></TD>
</TR>
diff --git a/ipsectools-model.lua b/ipsectools-model.lua
index 5497bd0..433a261 100644
--- a/ipsectools-model.lua
+++ b/ipsectools-model.lua
@@ -244,3 +244,17 @@ function upload_cert(newcert)
return newcert
end
+
+view_cert = function(certname)
+ local list = list_certs()
+ local cmdresult = "Invalid cert name"
+ for i,cert in ipairs(list.value) do
+ if cert == certname then
+ local cmd = path .. "openssl x509 -in "..baseurl..certname.." -noout -text"
+ local f = io.popen(cmd)
+ cmdresult = f:read("*a")
+ f:close()
+ end
+ end
+ return cfe({ type="table", value={name=certname, value=cmdresult}, label="Certificate" })
+end
diff --git a/ipsectools-viewcert-html.lsp b/ipsectools-viewcert-html.lsp
new file mode 100644
index 0000000..d23cb53
--- /dev/null
+++ b/ipsectools-viewcert-html.lsp
@@ -0,0 +1,8 @@
+<% local view, viewlibrary = ... %>
+
+<% --[[ DEBUG INFORMATION
+io.write(html.cfe_unpack(view))
+--]] %>
+
+<H1>Certificate Details</H1>
+<pre><%= view.value.value %></pre>
diff --git a/ipsectools.roles b/ipsectools.roles
index ac183cd..81cd8c1 100644
--- a/ipsectools.roles
+++ b/ipsectools.roles
@@ -1,3 +1,3 @@
USER=ipsectools:status,ipsectools:logfile,ipsectools:details,ipsectools:startstop
-EXPERT=ipsectools:editracoon,ipsectools:editipsec,ipsectools:expert,ipsectools:listcerts,ipsectools:deletecert,ipsectools:uploadcert
-ADMIN=ipsectools:status,ipsectools:logfile,ipsectools:details,ipsectools:startstop,ipsectools:editracoon,ipsectools:editipsec,ipsectools:expert,ipsectools:listcerts,ipsectools:deletecert,ipsectools:uploadcert
+EXPERT=ipsectools:editracoon,ipsectools:editipsec,ipsectools:expert,ipsectools:listcerts,ipsectools:deletecert,ipsectools:uploadcert,ipsectools:viewcert
+ADMIN=ipsectools:status,ipsectools:logfile,ipsectools:details,ipsectools:startstop,ipsectools:editracoon,ipsectools:editipsec,ipsectools:expert,ipsectools:listcerts,ipsectools:deletecert,ipsectools:uploadcert,ipsectools:viewcert