summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/root/usr/libexec
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2019-08-20 15:33:48 +0200
committerJo-Philipp Wich <jo@mein.io>2019-09-10 15:28:16 +0200
commit0674fc20414e575c346ceb2066ff3af7e8601a48 (patch)
tree9450fc860f03c0fdff2b92e630d10320e63e999a /modules/luci-base/root/usr/libexec
parent55b1ae6c9b60164afbccfb6d69db9216898c833e (diff)
luci-base: rpcd: add getHostname and getTTYDevices calls
Also add IPv6 feature indication. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-base/root/usr/libexec')
-rwxr-xr-xmodules/luci-base/root/usr/libexec/rpcd/luci46
1 files changed, 46 insertions, 0 deletions
diff --git a/modules/luci-base/root/usr/libexec/rpcd/luci b/modules/luci-base/root/usr/libexec/rpcd/luci
index b895013736..e27149127c 100755
--- a/modules/luci-base/root/usr/libexec/rpcd/luci
+++ b/modules/luci-base/root/usr/libexec/rpcd/luci
@@ -335,6 +335,7 @@ local methods = {
rv.odhcpd = fs.access("/usr/sbin/odhcpd")
rv.zram = fs.access("/sys/class/zram-control")
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" }
@@ -407,6 +408,51 @@ local methods = {
return rv
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
}
}