luci-app-openvpn: Handle missing openvpn config file.

With this change if the specified config file (from UCI) doesn't exist,
it won't error out. instead it treats it as an empty file.
Previously, when clicking edit on the custom_config option in the UI, it
will show an error because the file doesn't exist there by default. As a
result, a user can't easily add (paste) a config file content.

Signed-off-by: Milad Mohtashamirad <milad.mohtashamirad@morsemicro.com>
This commit is contained in:
Milad Mohtashamirad
2024-11-18 14:09:53 +11:00
committed by Paul Donald
parent 63b7e637c9
commit a30ae19006

View File

@@ -18,15 +18,7 @@ local function makeForm(id, title, desc)
return f return f
end end
if not cfg_file or not fs.access(cfg_file) then if fs.access(cfg_file) and fs.stat(cfg_file).size >= 102400 then
local f = makeForm("error", nil, translatef("The OVPN config file (%s) could not be found, please check your configuration.", cfg_file or "n/a"))
f:append(Template("openvpn/ovpn_css"))
f.reset = false
f.submit = false
return f
end
if fs.stat(cfg_file).size >= 102400 then
local f = makeForm("error", nil, local f = makeForm("error", nil,
translatef("The size of the OVPN config file (%s) is too large for online editing in LuCI (&ge; 100 KB). ", cfg_file) translatef("The size of the OVPN config file (%s) is too large for online editing in LuCI (&ge; 100 KB). ", cfg_file)
.. translate("Please edit this file directly in a terminal session.")) .. translate("Please edit this file directly in a terminal session."))