summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2012-08-06 16:52:09 +0000
committerTed Trask <ttrask01@yahoo.com>2012-08-06 16:52:09 +0000
commit12a610fb481f7b2c02df397f930f3cba015bfe90 (patch)
treea0ee67aca62c49f110bd457c2549283d414b676d
parent85cf1138ba7c5397e17f92b676561731b5e12152 (diff)
downloadacf-openvpn-12a610fb481f7b2c02df397f930f3cba015bfe90.tar.bz2
acf-openvpn-12a610fb481f7b2c02df397f930f3cba015bfe90.tar.xz
Removed calls to redirect_to_referrer
-rw-r--r--openvpn-controller.lua4
-rw-r--r--openvpn-listcerts-html.lsp4
-rw-r--r--openvpn-model.lua32
3 files changed, 26 insertions, 14 deletions
diff --git a/openvpn-controller.lua b/openvpn-controller.lua
index e9e6575..6c69253 100644
--- a/openvpn-controller.lua
+++ b/openvpn-controller.lua
@@ -36,7 +36,7 @@ function listcerts(self)
end
function deletecert(self)
- return self:redirect_to_referrer(self.model.delete_cert(self.clientdata.cert))
+ return self.handle_form(self, self.model.get_delete_cert, self.model.delete_cert, self.clientdata, "Delete", "Delete Certificate", "Certificate Deleted")
end
function uploadcert (self)
@@ -48,5 +48,5 @@ function viewcert(self)
end
function generatedhparams(self)
- return self:redirect_to_referrer(self.model.generate_dh_params())
+ return self.handle_form(self, self.model.get_generate_dh_params, self.model.generate_dh_params, self.clientdata, "Generate", "Generate Diffie Hellman parameters", "Diffie Hellman parameters generated")
end
diff --git a/openvpn-listcerts-html.lsp b/openvpn-listcerts-html.lsp
index 7e4a0ab..8f1cc6d 100644
--- a/openvpn-listcerts-html.lsp
+++ b/openvpn-listcerts-html.lsp
@@ -15,7 +15,7 @@
<% for i,cert in ipairs(view.value) do %>
<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 "} %>
+ <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/deletecert?submit=true&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 %>
@@ -34,7 +34,7 @@ end %>
<DL>
<form action="<%= html.html_escape(page_info.script .. page_info.prefix .. page_info.controller .. "/generatedhparams") %>">
<DT>Generate Diffie Hellman parameters</DT>
-<DD><input class="submit" type="submit" value="Generate"></DD>
+<DD><input class="submit" type="submit" name="submit" value="Generate"></DD>
</form>
</DL>
<% end %>
diff --git a/openvpn-model.lua b/openvpn-model.lua
index 8cdd1b3..6a7d7bb 100644
--- a/openvpn-model.lua
+++ b/openvpn-model.lua
@@ -211,18 +211,25 @@ function list_certs()
return cfe({ type="list", value=list, label="OpenVPN Certificates" })
end
-function delete_cert(certname)
+function get_delete_cert(self, clientdata)
+ local retval = {}
+ retval.cert = cfe({ value=clientdata.cert or "", label="Certificate Local Name" })
+ return cfe({ type="group", value=retval, label="Delete Certificate" })
+end
+
+function delete_cert(self, delcert)
local list = list_certs()
- local retval = cfe({ label="Delete Certificate result", errtxt="Invalid cert name" })
+ delcert.value.cert.errtxt = "Invalid cert name"
+ delcert.errtxt = "Failed to delete certificate"
for i,cert in ipairs(list.value) do
- if cert == certname then
- os.remove(certname)
- retval.value = "Certificate deleted"
- retval.errtxt = nil
+ if cert == delcert.value.cert.value then
+ os.remove(cert)
+ delcert.value.cert.errtxt = nil
+ delcert.errtxt = nil
break
end
end
- return retval
+ return delcert
end
function new_upload_cert()
@@ -323,11 +330,16 @@ view_cert = function(certname)
return cfe({ type="table", value={name=certname, value=cmdresult}, label="Certificate" })
end
-generate_dh_params = function()
+get_generate_dh_params = function(self, clientdata)
+ local retval = {}
+ return cfe({ type="group", value=retval, label="Generate Diffie Hellman parameters" })
+end
+
+generate_dh_params = function(self, gen)
local cmd = path .. "openssl dhparam -out "..certurl.."dh1024.pem 1024 2>&1"
f = io.popen(cmd)
- local cmdresult = f:read("*a")
+ gen.descr = f:read("*a")
f:close()
- return cfe({ value=cmdresult, label="Generate Diffie Hellman parameters result" })
+ return gen
end