From: Jo-Philipp Wich Date: Thu, 31 Oct 2019 13:57:27 +0000 (+0100) Subject: luci-base: migrate luci/getNetworkDevices to C plugin X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=cc1cbdaf3296bf8360c68127aadae46f08e66e1f;p=oweals%2Fluci.git luci-base: migrate luci/getNetworkDevices to C plugin Signed-off-by: Jo-Philipp Wich --- diff --git a/modules/luci-base/htdocs/luci-static/resources/network.js b/modules/luci-base/htdocs/luci-static/resources/network.js index eaa4b3bb9..728433bbe 100644 --- a/modules/luci-base/htdocs/luci-static/resources/network.js +++ b/modules/luci-base/htdocs/luci-static/resources/network.js @@ -45,7 +45,7 @@ var iface_patterns_wireless = [ var iface_patterns_virtual = [ ]; var callLuciNetworkDevices = rpc.declare({ - object: 'luci', + object: 'luci-rpc', method: 'getNetworkDevices', expect: { '': {} } }); diff --git a/modules/luci-base/root/usr/libexec/rpcd/luci b/modules/luci-base/root/usr/libexec/rpcd/luci index da36270a1..ae504fd3e 100755 --- a/modules/luci-base/root/usr/libexec/rpcd/luci +++ b/modules/luci-base/root/usr/libexec/rpcd/luci @@ -186,69 +186,6 @@ local methods = { end }, - getNetworkDevices = { - call = function(args) - local dir = fs.dir("/sys/class/net") - local result = { } - if dir then - local dev - for dev in dir do - if not result[dev] then - result[dev] = { name = dev } - end - - if fs.access("/sys/class/net/"..dev.."/master") then - local brname = fs.basename(fs.readlink("/sys/class/net/"..dev.."/master")) - if not result[brname] then - result[brname] = { name = brname } - end - - if not result[brname].ports then - result[brname].ports = { } - end - - result[brname].ports[#result[brname].ports+1] = dev - elseif fs.access("/sys/class/net/"..dev.."/bridge") then - if not result[dev].ports then - result[dev].ports = { } - end - - result[dev].id = readfile("/sys/class/net/"..dev.."/bridge/bridge_id") - result[dev].stp = (readfile("/sys/class/net/"..dev.."/bridge/stp_state") ~= "0") - result[dev].bridge = true - end - - local opr = readfile("/sys/class/net/"..dev.."/operstate") - - result[dev].up = (opr == "up" or opr == "unknown") - result[dev].type = tonumber(readfile("/sys/class/net/"..dev.."/type")) - result[dev].name = dev - - local mtu = tonumber(readfile("/sys/class/net/"..dev.."/mtu")) - if mtu and mtu > 0 then - result[dev].mtu = mtu - end - - local qlen = tonumber(readfile("/sys/class/net/"..dev.."/tx_queue_len")) - if qlen and qlen > 0 then - result[dev].qlen = qlen - end - - local master = fs.readlink("/sys/class/net/"..dev.."/master") - if master then - result[dev].master = fs.basename(master) - end - - local mac = readfile("/sys/class/net/"..dev.."/address") - if mac and #mac == 17 then - result[dev].mac = mac - end - end - end - return result - 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 912707a84..8b47aa83f 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", "getSwconfigFeatures", "getSwconfigPortState", "getBlockDevices", "getMountPoints" ], - "luci-rpc": [ "getBoardJSON", "getDHCPLeases", "getHostHints", "getWirelessDevices" ], + "luci": [ "getDUIDHints", "getIfaddrs", "getInitList", "getLocaltime", "getTimezones", "getLEDs", "getUSBDevices", "getSwconfigFeatures", "getSwconfigPortState", "getBlockDevices", "getMountPoints" ], + "luci-rpc": [ "getBoardJSON", "getDHCPLeases", "getHostHints", "getNetworkDevices", "getWirelessDevices" ], "network.device": [ "status" ], "network.interface": [ "dump" ], "network": [ "get_proto_handlers" ],