luci-base: rpcd: add getHostname and getTTYDevices calls
Also add IPv6 feature indication. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
55b1ae6c9b
commit
0674fc2041
2 changed files with 47 additions and 1 deletions
|
@ -335,6 +335,7 @@ local methods = {
|
||||||
rv.odhcpd = fs.access("/usr/sbin/odhcpd")
|
rv.odhcpd = fs.access("/usr/sbin/odhcpd")
|
||||||
rv.zram = fs.access("/sys/class/zram-control")
|
rv.zram = fs.access("/sys/class/zram-control")
|
||||||
rv.sysntpd = fs.readlink("/usr/sbin/ntpd") and true
|
rv.sysntpd = fs.readlink("/usr/sbin/ntpd") and true
|
||||||
|
rv.ipv6 = fs.access("/proc/net/ipv6_route")
|
||||||
|
|
||||||
local wifi_features = { "eap", "11n", "11ac", "11r", "11w", "acs", "sae", "owe", "suiteb192" }
|
local wifi_features = { "eap", "11n", "11ac", "11r", "11w", "acs", "sae", "owe", "suiteb192" }
|
||||||
|
|
||||||
|
@ -407,6 +408,51 @@ local methods = {
|
||||||
|
|
||||||
return rv
|
return rv
|
||||||
end
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
getHostname = {
|
||||||
|
call = function()
|
||||||
|
local fs = require "nixio.fs"
|
||||||
|
local hostname, code, err = fs.readfile("/proc/sys/kernel/hostname")
|
||||||
|
if err then
|
||||||
|
return { error = err }, 1
|
||||||
|
end
|
||||||
|
return { result = hostname:gsub("\n$", "") }
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
getTTYDevices = {
|
||||||
|
args = { with_cdc = false, with_tts = true },
|
||||||
|
call = function(args)
|
||||||
|
local fs = require "nixio.fs"
|
||||||
|
local iter = fs.glob("/dev/tty[A-Z]*")
|
||||||
|
local rv = {}
|
||||||
|
if iter then
|
||||||
|
local node
|
||||||
|
for node in iter do
|
||||||
|
rv[#rv+1] = node
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if args.with_tts then
|
||||||
|
iter = fs.glob("/dev/tts/*")
|
||||||
|
if iter then
|
||||||
|
local node
|
||||||
|
for node in iter do
|
||||||
|
rv[#rv+1] = node
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if args.with_cdc then
|
||||||
|
iter = fs.glob("/dev/cdc-wdm*")
|
||||||
|
if iter then
|
||||||
|
local node
|
||||||
|
for node in iter do
|
||||||
|
rv[#rv+1] = node
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return { result = rv }
|
||||||
|
end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
"read": {
|
"read": {
|
||||||
"ubus": {
|
"ubus": {
|
||||||
"iwinfo": [ "info" ],
|
"iwinfo": [ "info" ],
|
||||||
"luci": [ "getBoardJSON", "getDUIDHints", "getHostHints", "getIfaddrs", "getInitList", "getLocaltime", "getTimezones", "getDHCPLeases", "getLEDs", "getNetworkDevices", "getUSBDevices" ],
|
"luci": [ "getBoardJSON", "getDUIDHints", "getHostHints", "getIfaddrs", "getInitList", "getLocaltime", "getTimezones", "getDHCPLeases", "getLEDs", "getNetworkDevices", "getUSBDevices", "getHostname", "getTTYDevices" ],
|
||||||
"network.device": [ "status" ],
|
"network.device": [ "status" ],
|
||||||
"network.interface": [ "dump" ],
|
"network.interface": [ "dump" ],
|
||||||
"network.wireless": [ "status" ],
|
"network.wireless": [ "status" ],
|
||||||
|
|
Loading…
Reference in a new issue