From 1705cd872b0d82473730c8e1cd08c40ea9eacc71 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Mon, 8 Dec 2008 16:44:46 +0000 Subject: Modified ipsec-tools to add viewvert. git-svn-id: svn://svn.alpinelinux.org/acf/ipsec-tools/trunk@1628 ab2d0c66-481e-0410-8bed-d214d4d58bed --- ipsectools-controller.lua | 4 ++++ ipsectools-listcerts-html.lsp | 3 +++ ipsectools-model.lua | 14 ++++++++++++++ ipsectools-viewcert-html.lsp | 8 ++++++++ ipsectools.roles | 4 ++-- 5 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 ipsectools-viewcert-html.lsp 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 @@ <%= 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 %> <%= cert %> 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)) +--]] %> + +

Certificate Details

+
<%= view.value.value %>
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 -- cgit v1.2.3