diff options
Diffstat (limited to 'openvpn-model.lua')
-rw-r--r-- | openvpn-model.lua | 32 |
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 |