summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
bb388f0)
Signed-off-by: Vladimir Ulrich <admin@evl.su>
{ ListValue, "mtu_disc", { "yes", "maybe", "no" }, translate("Enable Path MTU discovery") },
{ Flag, "mtu_test", 0, translate("Empirically measure MTU") },
{ 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") },
{ 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") },
{ 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") },
{ 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") },
{ 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") },
local fs = require "nixio.fs"
local sys = require "luci.sys"
local uci = require "luci.model.uci".cursor()
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") )
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") )
luci.cbi.CREATE_PREFIX .. self.config .. "." ..
self.sectiontype .. ".select"
)
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 )
uci:section(
"openvpn", "openvpn", name,
uci:get_all( "openvpn_recipes", recipe )
local active = s:option( DummyValue, "_active", translate("Started") )
function active.cfgvalue(self, section)
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)
if pid and #pid > 0 and tonumber(pid) ~= nil then
return (sys.process.signal(pid, 0))
and translatef("yes (%i)", pid)
local updown = s:option( Button, "_updown", translate("Start/Stop") )
updown._state = false
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)
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)
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)
end
function updown.write(self, section, value)
if self.option == "stop" then
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)
- luci.sys.call("/etc/init.d/openvpn up %s" % section)
+ luci.sys.call("/etc/init.d/openvpn start %s" % section)
+ luci.http.redirect( self.redirect )
local port = s:option( DummyValue, "port", translate("Port") )
function port.cfgvalue(self, section)
local val = AbstractValue.cfgvalue(self, section)
local port = s:option( DummyValue, "port", translate("Port") )
function port.cfgvalue(self, section)
local val = AbstractValue.cfgvalue(self, section)
<div class="cbi-section-create">
<% if self.invalid_cts then -%><div class="cbi-section-error"><% end %>
<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>
<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>
option ifconfig "10.0.0.1 10.0.0.2"
option secret "shared-secret.key"
option keepalive "10 60"
option ifconfig "10.0.0.1 10.0.0.2"
option secret "shared-secret.key"
option keepalive "10 60"
option verb "3"
option mssfix "1420"
option verb "3"
option mssfix "1420"
- option management "127.0.0.1 31194"
#
# Routed point-to-point client
#
# Routed point-to-point client
option ifconfig "10.0.0.2 10.0.0.1"
option secret "shared-secret.key"
option nobind "1"
option ifconfig "10.0.0.2 10.0.0.1"
option secret "shared-secret.key"
option nobind "1"
- option management "127.0.0.1 31194"
#
# Routed multi-client server
#
# Routed multi-client server
option key "server.key"
option dh "dh1024.pem"
option keepalive "10 60"
option key "server.key"
option dh "dh1024.pem"
option keepalive "10 60"
option verb "3"
option mssfix "1420"
option verb "3"
option mssfix "1420"
- option management "127.0.0.1 31194"
list remote "vpnserver.example.org"
option pkcs12 "my_client.p12"
option remote_cert_tls "server"
list remote "vpnserver.example.org"
option pkcs12 "my_client.p12"
option remote_cert_tls "server"
option nobind "1"
option persist_key "1"
option persist_tun "1"
option verb "3"
option reneg_sec "0"
option float "1"
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
#
# Multi-client ethernet bridge server
option key "server.key"
option dh "dh1024.pem"
option keepalive "10 60"
option key "server.key"
option dh "dh1024.pem"
option keepalive "10 60"
option verb "3"
option mssfix "1420"
option verb "3"
option mssfix "1420"
- option management "127.0.0.1 31194"
#
# Ethernet bridge client
#
# Ethernet bridge client
option key "my_client.key"
option dh "dh1024.pem"
option remote_cert_tls "server"
option key "my_client.key"
option dh "dh1024.pem"
option remote_cert_tls "server"
option nobind "1"
option persist_key "1"
option verb "3"
option reneg_sec "0"
option float "1"
option nobind "1"
option persist_key "1"
option verb "3"
option reneg_sec "0"
option float "1"
- option management "127.0.0.1 31194"
$(eval $(call application,hd-idle,Hard Disk Idle Spin-Down module,hd-idle))
$(eval $(call application,tinyproxy,Tinyproxy - HTTP(S)-Proxy configuration,tinyproxy))
$(eval $(call application,polipo,LuCI Support for the Polipo Proxy,polipo))
$(eval $(call application,hd-idle,Hard Disk Idle Spin-Down module,hd-idle))
$(eval $(call application,tinyproxy,Tinyproxy - HTTP(S)-Proxy configuration,tinyproxy))
$(eval $(call application,polipo,LuCI Support for the Polipo Proxy,polipo))
-$(eval $(call application,openvpn,LuCI Support for OpenVPN,openvpn @BROKEN))
+$(eval $(call application,openvpn,LuCI Support for OpenVPN,openvpn))
$(eval $(call application,p2pblock,LuCI Support for the Freifunk P2P-Block addon,luci-app-firewall freifunk-p2pblock))
$(eval $(call application,multiwan,LuCI Support for the OpenWrt MultiWAN agent,luci-app-firewall multiwan))
$(eval $(call application,wol,LuCI Support for Wake-on-LAN,etherwake))
$(eval $(call application,p2pblock,LuCI Support for the Freifunk P2P-Block addon,luci-app-firewall freifunk-p2pblock))
$(eval $(call application,multiwan,LuCI Support for the OpenWrt MultiWAN agent,luci-app-firewall multiwan))
$(eval $(call application,wol,LuCI Support for Wake-on-LAN,etherwake))