summaryrefslogtreecommitdiffstats
path: root/openvpn-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'openvpn-model.lua')
-rw-r--r--openvpn-model.lua32
1 files changed, 22 insertions, 10 deletions
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