summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2019-10-31 14:42:03 +0100
committerJo-Philipp Wich <jo@mein.io>2019-11-01 12:03:33 +0100
commita96e7a664fa9ddd6de25f1a8d114cfd6d33d83e6 (patch)
treef23d51aa9326db9b230ae2f58935ad7ed3df752c /modules/luci-base
parent37b6092aef9f875b95debdafba7da9933fc10a34 (diff)
luci-base: migrate luci/getWirelessDevices to C plugin
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-base')
-rw-r--r--modules/luci-base/htdocs/luci-static/resources/network.js2
-rwxr-xr-xmodules/luci-base/root/usr/libexec/rpcd/luci60
-rw-r--r--modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json4
3 files changed, 3 insertions, 63 deletions
diff --git a/modules/luci-base/htdocs/luci-static/resources/network.js b/modules/luci-base/htdocs/luci-static/resources/network.js
index ed14af488..eaa4b3bb9 100644
--- a/modules/luci-base/htdocs/luci-static/resources/network.js
+++ b/modules/luci-base/htdocs/luci-static/resources/network.js
@@ -51,7 +51,7 @@ var callLuciNetworkDevices = rpc.declare({
});
var callLuciWirelessDevices = rpc.declare({
- object: 'luci',
+ object: 'luci-rpc',
method: 'getWirelessDevices',
expect: { '': {} }
});
diff --git a/modules/luci-base/root/usr/libexec/rpcd/luci b/modules/luci-base/root/usr/libexec/rpcd/luci
index 8a3e0b0c0..da36270a1 100755
--- a/modules/luci-base/root/usr/libexec/rpcd/luci
+++ b/modules/luci-base/root/usr/libexec/rpcd/luci
@@ -249,66 +249,6 @@ local methods = {
end
},
- getWirelessDevices = {
- call = function(args)
- local ubus = require "ubus".connect()
- if not ubus then
- return { error = "Unable to establish ubus connection" }
- end
-
- local status = ubus:call("network.wireless", "status", {})
- if type(status) == "table" then
- local radioname, radiodata
- for radioname, radiodata in pairs(status) do
- if type(radiodata) == "table" then
- radiodata.iwinfo = ubus:call("iwinfo", "info", { device = radioname }) or {}
- radiodata.iwinfo.bitrate = nil
- radiodata.iwinfo.bssid = nil
- radiodata.iwinfo.encryption = nil
- radiodata.iwinfo.mode = nil
- radiodata.iwinfo.quality = nil
- radiodata.iwinfo.quality_max = nil
- radiodata.iwinfo.ssid = nil
-
- local iwdata = nil
-
- if type(radiodata.interfaces) == "table" then
- local _, interfacedata
- for _, interfacedata in ipairs(radiodata.interfaces) do
- if type(interfacedata) == "table" and
- type(interfacedata.ifname) == "string"
- then
- local iwinfo = ubus:call("iwinfo", "info", { device = interfacedata.ifname })
-
- iwdata = iwdata or iwinfo
- interfacedata.iwinfo = iwinfo or {}
- end
- end
- end
-
- radiodata.iwinfo = {}
-
- local _, k, v
- for k, v in pairs(iwdata or ubus:call("iwinfo", "info", { device = radioname }) or {}) do
- if k ~= "bitrate" and k ~= "bssid" and k ~= "encryption" and
- k ~= "mode" and k ~= "quality" and k ~= "quality_max" and
- k ~= "ssid"
- then
- if type(v) == "table" then
- radiodata.iwinfo[k] = json.parse(json.stringify(v))
- else
- radiodata.iwinfo[k] = v
- end
- end
- end
- end
- end
- end
-
- return status
- end
- },
-
getConntrackHelpers = {
call = function()
local ok, fd = pcall(io.open, "/usr/share/fw3/helpers.conf", "r")
diff --git a/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json b/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json
index 6f08cd7df..912707a84 100644
--- a/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json
+++ b/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json
@@ -41,8 +41,8 @@
"ubus": {
"file": [ "list", "read", "stat" ],
"iwinfo": [ "assoclist", "freqlist", "txpowerlist", "countrylist" ],
- "luci": [ "getDUIDHints", "getIfaddrs", "getInitList", "getLocaltime", "getTimezones", "getLEDs", "getNetworkDevices", "getUSBDevices", "getWirelessDevices", "getSwconfigFeatures", "getSwconfigPortState", "getBlockDevices", "getMountPoints" ],
- "luci-rpc": [ "getBoardJSON", "getDHCPLeases", "getHostHints" ],
+ "luci": [ "getDUIDHints", "getIfaddrs", "getInitList", "getLocaltime", "getTimezones", "getLEDs", "getNetworkDevices", "getUSBDevices", "getSwconfigFeatures", "getSwconfigPortState", "getBlockDevices", "getMountPoints" ],
+ "luci-rpc": [ "getBoardJSON", "getDHCPLeases", "getHostHints", "getWirelessDevices" ],
"network.device": [ "status" ],
"network.interface": [ "dump" ],
"network": [ "get_proto_handlers" ],