diff options
Diffstat (limited to 'modules/luci-base')
-rw-r--r-- | modules/luci-base/luasrc/sys.lua | 63 | ||||
-rw-r--r-- | modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json | 20 |
2 files changed, 17 insertions, 66 deletions
diff --git a/modules/luci-base/luasrc/sys.lua b/modules/luci-base/luasrc/sys.lua index 5aede84848..f82cd78cb7 100644 --- a/modules/luci-base/luasrc/sys.lua +++ b/modules/luci-base/luasrc/sys.lua @@ -25,69 +25,6 @@ end exec = luci.util.exec -function mounts() - local data = {} - local k = {"fs", "blocks", "used", "available", "percent", "mountpoint"} - local ps = luci.util.execi("df") - - if not ps then - return - else - ps() - end - - for line in ps do - local row = {} - - local j = 1 - for value in line:gmatch("[^%s]+") do - row[k[j]] = value - j = j + 1 - end - - if row[k[1]] then - - -- this is a rather ugly workaround to cope with wrapped lines in - -- the df output: - -- - -- /dev/scsi/host0/bus0/target0/lun0/part3 - -- 114382024 93566472 15005244 86% /mnt/usb - -- - - if not row[k[2]] then - j = 2 - line = ps() - for value in line:gmatch("[^%s]+") do - row[k[j]] = value - j = j + 1 - end - end - - table.insert(data, row) - end - end - - return data -end - -function mtds() - local data = {} - - if fs.access("/proc/mtd") then - for l in io.lines("/proc/mtd") do - local d, s, e, n = l:match('^([^%s]+)%s+([^%s]+)%s+([^%s]+)%s+"([^%s]+)"') - if s and n then - local d = {} - d.size = tonumber(s, 16) - d.name = n - table.insert(data, d) - end - end - end - - return data -end - -- containing the whole environment is returned otherwise this function returns -- the corresponding string value for the given name or nil if no such variable -- exists. 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 af06d840d0..31c154cbcb 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 @@ -20,15 +20,22 @@ "luci-access": { "description": "Grant access to basic LuCI procedures", "read": { + "cgi-io": [ "backup", "download" ], "file": { "/": [ "list" ], "/*": [ "list" ], + "/dev/mtdblock*": [ "read" ], "/etc/crontabs/root": [ "read" ], "/etc/dropbear/authorized_keys": [ "read" ], "/etc/filesystems": [ "read" ], "/etc/rc.local": [ "read" ], + "/etc/sysupgrade.conf": [ "read" ], "/proc/filesystems": [ "read" ], - "/proc/sys/kernel/hostname": [ "read" ] + "/proc/mtd": [ "read" ], + "/proc/partitions": [ "read" ], + "/proc/sys/kernel/hostname": [ "read" ], + "/sys/devices/virtual/mtd/*/name": [ "read" ], + "/sys/devices/virtual/ubi/*/name": [ "read" ] }, "ubus": { "file": [ "list", "read", "stat" ], @@ -42,13 +49,20 @@ "uci": [ "*" ] }, "write": { - "cgi-io": [ "upload", "/etc/luci-uploads/*" ], + "cgi-io": [ "upload" ], "file": { "/etc/crontabs/root": [ "write" ], "/etc/dropbear/authorized_keys": [ "write" ], "/etc/luci-uploads/*": [ "write" ], "/etc/rc.local": [ "write" ], - "/sbin/block": [ "exec" ] + "/etc/sysupgrade.conf": [ "write" ], + "/sbin/block": [ "exec" ], + "/sbin/firstboot": [ "exec" ], + "/sbin/reboot": [ "exec" ], + "/sbin/sysupgrade": [ "exec" ], + "/bin/tar": [ "exec" ], + "/tmp/backup.tar.gz": [ "write" ], + "/tmp/firmware.bin": [ "write" ] }, "ubus": { "file": [ "write", "remove", "exec" ], |