diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-12-08 16:44:46 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-12-08 16:44:46 +0000 |
commit | 1705cd872b0d82473730c8e1cd08c40ea9eacc71 (patch) | |
tree | 59e38c9bebd00e474d273e356bb7a184899b17e2 | |
parent | 83284ae6afcea7f9bdc0bbbb0ad85a2b069fa190 (diff) | |
download | acf-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.lua | 4 | ||||
-rw-r--r-- | ipsectools-listcerts-html.lsp | 3 | ||||
-rw-r--r-- | ipsectools-model.lua | 14 | ||||
-rw-r--r-- | ipsectools-viewcert-html.lsp | 8 | ||||
-rw-r--r-- | ipsectools.roles | 4 |
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 |