diff options
Diffstat (limited to 'openvpn-model.lua')
-rw-r--r-- | openvpn-model.lua | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/openvpn-model.lua b/openvpn-model.lua index 70de3c8..177cf6b 100644 --- a/openvpn-model.lua +++ b/openvpn-model.lua @@ -298,16 +298,16 @@ function upload_cert(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 or certname == (baseurl .. cert) then - local cmd = path .. "openssl x509 -in "..baseurl..format.escapespecialcharacters(cert).." -noout -text" - local f = io.popen(cmd) - cmdresult = f:read("*a") - f:close() - cmdresult = cmdresult .. "Content:\n" .. (fs.read_file(baseurl..cert) or "") - end + if not string.find(certname, "/") then + certname = baseurl..certname + end + if validator.is_valid_filename(certname, baseurl) then + local cmd = path .. "openssl x509 -in "..format.escapespecialcharacters(certname).." -noout -text" + local f = io.popen(cmd) + cmdresult = f:read("*a") + f:close() + cmdresult = cmdresult .. "Content:\n" .. (fs.read_file(certname) or "") end return cfe({ type="table", value={name=certname, value=cmdresult}, label="Certificate" }) end |