Last active
December 30, 2015 04:29
-
-
Save Wedmer/7775956 to your computer and use it in GitHub Desktop.
Obsolete as all patches were commited to main repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Index: applications/luci-openvpn/luasrc/model/cbi/openvpn-advanced.lua | |
=================================================================== | |
--- applications/luci-openvpn/luasrc/model/cbi/openvpn-advanced.lua (revision 9951) | |
+++ applications/luci-openvpn/luasrc/model/cbi/openvpn-advanced.lua (working copy) | |
@@ -88,7 +88,7 @@ | |
{ ListValue, "mtu_disc", { "yes", "maybe", "no" }, translate("Enable Path MTU discovery") }, | |
{ Flag, "mtu_test", 0, translate("Empirically measure MTU") }, | |
- { Flag, "comp_lzo", 0, translate("Use fast LZO compression") }, | |
+ { ListValue, "comp_lzo", { "yes", "no", "adaptive" }, translate("Use fast LZO compression") }, | |
{ Flag, "comp_noadapt", 0, translate("Don't use adaptive lzo compression"), { comp_lzo=1 } }, | |
{ Value, "link_mtu", 1500, translate("Set TCP/UDP MTU") }, | |
{ Value, "tun_mtu", 1500, translate("Set tun/tap device MTU") }, | |
Index: applications/luci-openvpn/luasrc/model/cbi/openvpn-basic.lua | |
=================================================================== | |
--- applications/luci-openvpn/luasrc/model/cbi/openvpn-basic.lua (revision 9951) | |
+++ applications/luci-openvpn/luasrc/model/cbi/openvpn-basic.lua (working copy) | |
@@ -32,7 +32,7 @@ | |
{ Value,"server_bridge","192.168.1.1 255.255.255.0 192.168.1.128 192.168.1.254", translate("Configure server bridge") }, | |
{ Flag,"nobind",0, translate("Do not bind to local address and port") }, | |
- { Flag,"comp_lzo",0, translate("Use fast LZO compression") }, | |
+ { ListValue,"comp_lzo",{"yes","no","adaptive"}, translate("Use fast LZO compression") }, | |
{ Value,"keepalive","10 60", translate("Helper directive to simplify the expression of --ping and --ping-restart in server mode configurations") }, | |
{ ListValue,"proto",{ "udp", "tcp" }, translate("Use protocol") }, | |
Index: applications/luci-openvpn/luasrc/model/cbi/openvpn.lua | |
=================================================================== | |
--- applications/luci-openvpn/luasrc/model/cbi/openvpn.lua (revision 9951) | |
+++ applications/luci-openvpn/luasrc/model/cbi/openvpn.lua (working copy) | |
@@ -15,6 +15,8 @@ | |
local fs = require "nixio.fs" | |
local sys = require "luci.sys" | |
local uci = require "luci.model.uci".cursor() | |
+local testfullps = luci.sys.exec("ps --help 2>&1 | grep BusyBox") --check which ps do we have | |
+local psstring = (string.len(testfullps)>0) and "ps w" or "ps axfw" --set command we use to get pid | |
local m = Map("openvpn", translate("OpenVPN")) | |
local s = m:section( TypedSection, "openvpn", translate("OpenVPN instances"), translate("Below is a list of configured OpenVPN instances and their current state") ) | |
@@ -52,8 +54,11 @@ | |
luci.cbi.CREATE_PREFIX .. self.config .. "." .. | |
self.sectiontype .. ".select" | |
) | |
- | |
- if name and not name:match("[^a-zA-Z0-9_]") then | |
+ name = luci.http.formvalue( | |
+ luci.cbi.CREATE_PREFIX .. self.config .. "." .. | |
+ self.sectiontype .. ".text" | |
+ ) | |
+ if string.len(name)>3 and not name:match("[^a-zA-Z0-9_]") then | |
uci:section( | |
"openvpn", "openvpn", name, | |
uci:get_all( "openvpn_recipes", recipe ) | |
@@ -74,19 +79,22 @@ | |
local active = s:option( DummyValue, "_active", translate("Started") ) | |
function active.cfgvalue(self, section) | |
- local pid = fs.readfile("/var/run/openvpn-%s.pid" % section) | |
+ local pid = sys.exec("%s | grep %s | grep openvpn | grep -v grep | awk '{print $1}'" % { psstring,section} ) | |
if pid and #pid > 0 and tonumber(pid) ~= nil then | |
return (sys.process.signal(pid, 0)) | |
and translatef("yes (%i)", pid) | |
or translate("no") | |
end | |
- return translate("no") | |
+ return translate("no") | |
end | |
local updown = s:option( Button, "_updown", translate("Start/Stop") ) | |
updown._state = false | |
+updown.redirect = luci.dispatcher.build_url( | |
+ "admin", "services", "openvpn" | |
+) | |
function updown.cbid(self, section) | |
- local pid = fs.readfile("/var/run/openvpn-%s.pid" % section) | |
+ local pid = sys.exec("%s | grep %s | grep openvpn | grep -v grep | awk '{print $1}'" % { psstring,section} ) | |
self._state = pid and #pid > 0 and sys.process.signal(pid, 0) | |
self.option = self._state and "stop" or "start" | |
return AbstractValue.cbid(self, section) | |
@@ -97,12 +105,15 @@ | |
end | |
function updown.write(self, section, value) | |
if self.option == "stop" then | |
- luci.sys.call("/etc/init.d/openvpn down %s" % section) | |
+ local pid = sys.exec("%s | grep %s | grep openvpn | grep -v grep | awk '{print $1}'" % { psstring,section} ) | |
+ sys.process.signal(pid,15) | |
else | |
- luci.sys.call("/etc/init.d/openvpn up %s" % section) | |
+ luci.sys.call("/etc/init.d/openvpn start %s" % section) | |
end | |
+ luci.http.redirect( self.redirect ) | |
end | |
+ | |
local port = s:option( DummyValue, "port", translate("Port") ) | |
function port.cfgvalue(self, section) | |
local val = AbstractValue.cfgvalue(self, section) | |
Index: applications/luci-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm | |
=================================================================== | |
--- applications/luci-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm (revision 9951) | |
+++ applications/luci-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm (working copy) | |
@@ -1,6 +1,6 @@ | |
<div class="cbi-section-create"> | |
<% if self.invalid_cts then -%><div class="cbi-section-error"><% end %> | |
- <input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" /> | |
+ <input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.text" /> | |
<select class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.select"> | |
<%- for k, v in luci.util.kspairs(self.add_select_options) do %> | |
<option value="<%=k%>"><%=luci.util.pcdata(v)%></option> | |
Index: applications/luci-openvpn/root/etc/config/openvpn_recipes | |
=================================================================== | |
--- applications/luci-openvpn/root/etc/config/openvpn_recipes (revision 9951) | |
+++ applications/luci-openvpn/root/etc/config/openvpn_recipes (working copy) | |
@@ -8,10 +8,9 @@ | |
option ifconfig "10.0.0.1 10.0.0.2" | |
option secret "shared-secret.key" | |
option keepalive "10 60" | |
- option comp_lzo "1" | |
+ option comp_lzo "yes" | |
option verb "3" | |
option mssfix "1420" | |
- option management "127.0.0.1 31194" | |
# | |
# Routed point-to-point client | |
@@ -24,9 +23,8 @@ | |
option ifconfig "10.0.0.2 10.0.0.1" | |
option secret "shared-secret.key" | |
option nobind "1" | |
- option comp_lzo "1" | |
+ option comp_lzo "yes" | |
option verb "3" | |
- option management "127.0.0.1 31194" | |
# | |
# Routed multi-client server | |
@@ -41,10 +39,9 @@ | |
option key "server.key" | |
option dh "dh1024.pem" | |
option keepalive "10 60" | |
- option comp_lzo "1" | |
+ option comp_lzo "yes" | |
option verb "3" | |
option mssfix "1420" | |
- option management "127.0.0.1 31194" | |
# | |
# Routed client | |
@@ -57,14 +54,13 @@ | |
list remote "vpnserver.example.org" | |
option pkcs12 "my_client.p12" | |
option remote_cert_tls "server" | |
- option comp_lzo "1" | |
+ option comp_lzo "yes" | |
option nobind "1" | |
option persist_key "1" | |
option persist_tun "1" | |
option verb "3" | |
option reneg_sec "0" | |
option float "1" | |
- option management "127.0.0.1 31194" | |
# | |
# Multi-client ethernet bridge server | |
@@ -79,10 +75,9 @@ | |
option key "server.key" | |
option dh "dh1024.pem" | |
option keepalive "10 60" | |
- option comp_lzo "1" | |
+ option comp_lzo "yes" | |
option verb "3" | |
option mssfix "1420" | |
- option management "127.0.0.1 31194" | |
# | |
# Ethernet bridge client | |
@@ -98,10 +93,10 @@ | |
option key "my_client.key" | |
option dh "dh1024.pem" | |
option remote_cert_tls "server" | |
- option comp_lzo "1" | |
+ option comp_lzo "yes" | |
option nobind "1" | |
option persist_key "1" | |
option verb "3" | |
option reneg_sec "0" | |
option float "1" | |
- option management "127.0.0.1 31194" | |
+ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment