projects
/
project
/
luci.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
applications/luci-commands, applications/luci-upnp, modules/admin-core, modules/admin...
[project/luci.git]
/
modules
/
admin-full
/
luasrc
/
controller
/
admin
/
network.lua
diff --git
a/modules/admin-full/luasrc/controller/admin/network.lua
b/modules/admin-full/luasrc/controller/admin/network.lua
index
6f55ff7
..
f401ecd
100644
(file)
--- a/
modules/admin-full/luasrc/controller/admin/network.lua
+++ b/
modules/admin-full/luasrc/controller/admin/network.lua
@@
-68,7
+68,7
@@
function index()
page = entry({"admin", "network", "wireless_reconnect"}, call("wifi_reconnect"), nil)
page.leaf = true
page = entry({"admin", "network", "wireless_reconnect"}, call("wifi_reconnect"), nil)
page.leaf = true
- page = entry({"admin", "network", "wireless_shutdown"}, call("wifi_
reconnect
"), nil)
+ page = entry({"admin", "network", "wireless_shutdown"}, call("wifi_
shutdown
"), nil)
page.leaf = true
page = entry({"admin", "network", "wireless"}, arcombine(template("admin_network/wifi_overview"), cbi("admin_network/wifi")), _("Wifi"), 15)
page.leaf = true
page = entry({"admin", "network", "wireless"}, arcombine(template("admin_network/wifi_overview"), cbi("admin_network/wifi")), _("Wifi"), 15)
@@
-241,13
+241,12
@@
function wifi_delete(network)
luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless"))
end
luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless"))
end
-function iface_status()
- local path = luci.dispatcher.context.requestpath
+function iface_status(ifaces)
local netm = require "luci.model.network".init()
local rv = { }
local iface
local netm = require "luci.model.network".init()
local rv = { }
local iface
- for iface in
path[#path]
:gmatch("[%w%.%-_]+") do
+ for iface in
ifaces
:gmatch("[%w%.%-_]+") do
local net = netm:get_network(iface)
local device = net and net:get_interface()
if device then
local net = netm:get_network(iface)
local device = net and net:get_interface()
if device then
@@
-324,11
+323,8
@@
function iface_status()
luci.http.status(404, "No such device")
end
luci.http.status(404, "No such device")
end
-function iface_reconnect()
- local path = luci.dispatcher.context.requestpath
- local iface = path[#path]
+function iface_reconnect(iface)
local netmd = require "luci.model.network".init()
local netmd = require "luci.model.network".init()
-
local net = netmd:get_network(iface)
if net then
luci.sys.call("env -i /sbin/ifup %q >/dev/null 2>/dev/null" % iface)
local net = netmd:get_network(iface)
if net then
luci.sys.call("env -i /sbin/ifup %q >/dev/null 2>/dev/null" % iface)
@@
-339,11
+335,8
@@
function iface_reconnect()
luci.http.status(404, "No such interface")
end
luci.http.status(404, "No such interface")
end
-function iface_shutdown()
- local path = luci.dispatcher.context.requestpath
- local iface = path[#path]
+function iface_shutdown(iface)
local netmd = require "luci.model.network".init()
local netmd = require "luci.model.network".init()
-
local net = netmd:get_network(iface)
if net then
luci.sys.call("env -i /sbin/ifdown %q >/dev/null 2>/dev/null" % iface)
local net = netmd:get_network(iface)
if net then
luci.sys.call("env -i /sbin/ifdown %q >/dev/null 2>/dev/null" % iface)
@@
-354,11
+347,8
@@
function iface_shutdown()
luci.http.status(404, "No such interface")
end
luci.http.status(404, "No such interface")
end
-function iface_delete()
- local path = luci.dispatcher.context.requestpath
- local iface = path[#path]
+function iface_delete(iface)
local netmd = require "luci.model.network".init()
local netmd = require "luci.model.network".init()
-
local net = netmd:del_network(iface)
if net then
luci.sys.call("env -i /sbin/ifdown %q >/dev/null 2>/dev/null" % iface)
local net = netmd:del_network(iface)
if net then
luci.sys.call("env -i /sbin/ifdown %q >/dev/null 2>/dev/null" % iface)
@@
-371,13
+361,12
@@
function iface_delete()
luci.http.status(404, "No such interface")
end
luci.http.status(404, "No such interface")
end
-function wifi_status()
- local path = luci.dispatcher.context.requestpath
+function wifi_status(devs)
local s = require "luci.tools.status"
local rv = { }
local dev
local s = require "luci.tools.status"
local rv = { }
local dev
- for dev in
path[#path]
:gmatch("[%w%.%-]+") do
+ for dev in
devs
:gmatch("[%w%.%-]+") do
rv[#rv+1] = s.wifi_network(dev)
end
rv[#rv+1] = s.wifi_network(dev)
end
@@
-390,23
+379,19
@@
function wifi_status()
luci.http.status(404, "No such device")
end
luci.http.status(404, "No such device")
end
-function wifi_reconnect()
- local path = luci.dispatcher.context.requestpath
- local mode = path[#path-1]
- local wnet = path[#path]
+local function wifi_reconnect_shutdown(shutdown, wnet)
local netmd = require "luci.model.network".init()
local netmd = require "luci.model.network".init()
-
local net = netmd:get_wifinet(wnet)
local dev = net:get_device()
if dev and net then
luci.sys.call("env -i /sbin/wifi down >/dev/null 2>/dev/null")
dev:set("disabled", nil)
local net = netmd:get_wifinet(wnet)
local dev = net:get_device()
if dev and net then
luci.sys.call("env -i /sbin/wifi down >/dev/null 2>/dev/null")
dev:set("disabled", nil)
- net:set("disabled",
(mode == "wireless_shutdown")
and 1 or nil)
+ net:set("disabled",
shutdown
and 1 or nil)
netmd:commit("wireless")
luci.sys.call("env -i /sbin/wifi up >/dev/null 2>/dev/null")
netmd:commit("wireless")
luci.sys.call("env -i /sbin/wifi up >/dev/null 2>/dev/null")
- luci.http.status(200,
(mode == "wireless_shutdown")
and "Shutdown" or "Reconnected")
+ luci.http.status(200,
shutdown
and "Shutdown" or "Reconnected")
return
end
return
end
@@
-414,6
+399,14
@@
function wifi_reconnect()
luci.http.status(404, "No such radio")
end
luci.http.status(404, "No such radio")
end
+function wifi_reconnect(wnet)
+ wifi_reconnect_shutdown(false, wnet)
+end
+
+function wifi_shutdown(wnet)
+ wifi_reconnect_shutdown(true, wnet)
+end
+
function lease_status()
local s = require "luci.tools.status"
function lease_status()
local s = require "luci.tools.status"
@@
-425,18
+418,14
@@
function lease_status()
luci.http.write(']')
end
luci.http.write(']')
end
-function switch_status()
- local path = luci.dispatcher.context.requestpath
+function switch_status(switches)
local s = require "luci.tools.status"
luci.http.prepare_content("application/json")
local s = require "luci.tools.status"
luci.http.prepare_content("application/json")
- luci.http.write_json(s.switch_status(
path[#path]
))
+ luci.http.write_json(s.switch_status(
switches
))
end
end
-function diag_command(cmd)
- local path = luci.dispatcher.context.requestpath
- local addr = path[#path]
-
+function diag_command(cmd, addr)
if addr and addr:match("^[a-zA-Z0-9%-%.:_]+$") then
luci.http.prepare_content("text/plain")
if addr and addr:match("^[a-zA-Z0-9%-%.:_]+$") then
luci.http.prepare_content("text/plain")
@@
-458,22
+447,22
@@
function diag_command(cmd)
luci.http.status(500, "Bad address")
end
luci.http.status(500, "Bad address")
end
-function diag_ping()
- diag_command("ping -c 5 -W 1 %q 2>&1")
+function diag_ping(
addr
)
+ diag_command("ping -c 5 -W 1 %q 2>&1"
, addr
)
end
end
-function diag_traceroute()
- diag_command("traceroute -q 1 -w 1 -n %q 2>&1")
+function diag_traceroute(
addr
)
+ diag_command("traceroute -q 1 -w 1 -n %q 2>&1"
, addr
)
end
end
-function diag_nslookup()
- diag_command("nslookup %q 2>&1")
+function diag_nslookup(
addr
)
+ diag_command("nslookup %q 2>&1"
, addr
)
end
end
-function diag_ping6()
- diag_command("ping6 -c 5 %q 2>&1")
+function diag_ping6(
addr
)
+ diag_command("ping6 -c 5 %q 2>&1"
, addr
)
end
end
-function diag_traceroute6()
- diag_command("traceroute6 -q 1 -w 2 -n %q 2>&1")
+function diag_traceroute6(
addr
)
+ diag_command("traceroute6 -q 1 -w 2 -n %q 2>&1"
, addr
)
end
end