X-Git-Url: http://git.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=applications%2Fluci-app-openvpn%2Fluasrc%2Fcontroller%2Fopenvpn.lua;h=b41fff21dcf6e4f1eca63ee8260cefcdaf8a3684;hp=2d57e8d3ad8b2a4c258831682ad07d8573be2c04;hb=HEAD;hpb=d1134c1a40692e0151e71c9b6ce1d5e07f2ddbcd diff --git a/applications/luci-app-openvpn/luasrc/controller/openvpn.lua b/applications/luci-app-openvpn/luasrc/controller/openvpn.lua index 2d57e8d3ad..b41fff21dc 100644 --- a/applications/luci-app-openvpn/luasrc/controller/openvpn.lua +++ b/applications/luci-app-openvpn/luasrc/controller/openvpn.lua @@ -13,21 +13,25 @@ function index() end function ovpn_upload() - local fs = require("nixio.fs") - local http = require("luci.http") - local util = require("luci.util") - local uci = require("luci.model.uci").cursor() - local upload = http.formvalue("ovpn_file") - local name = http.formvalue("instance_name2") - local file = "/etc/openvpn/" ..name.. ".ovpn" + local fs = require("nixio.fs") + local http = require("luci.http") + local util = require("luci.util") + local uci = require("luci.model.uci").cursor() + local upload = http.formvalue("ovpn_file") + local name = http.formvalue("instance_name2") + local basedir = "/etc/openvpn" + local file = basedir.. "/" ..name.. ".ovpn" + + if not fs.stat(basedir) then + fs.mkdir(basedir) + end if name and upload then local fp http.setfilehandler( function(meta, chunk, eof) - local data = util.trim(chunk:gsub("\r\n", "\n")) .. "\n" - data = util.trim(data:gsub("[\128-\255]", "")) + local data = chunk:gsub("\r\n", "\n") if not fp and meta and meta.name == "ovpn_file" then fp = io.open(file, "w")