Commit graph

112 commits

Author SHA1 Message Date
Jo-Philipp Wich
8f34e105c0 treewide: add ACL annotations to menu entries
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-17 12:40:31 +02:00
Jo-Philipp Wich
111670245e luci-mod-system: system.js: disable timesync buttons on readonly map
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-16 15:39:54 +02:00
Jo-Philipp Wich
e822382a98 luci-mod-system: startup.js: disable action buttons on insufficient ACLs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-16 15:38:56 +02:00
Jo-Philipp Wich
74e8fb0c8e luci-mod-system: sshkeys.js: make readonly on insufficient ACLs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-16 15:38:09 +02:00
Jo-Philipp Wich
d7a17641d3 luci-mod-system: password.js: make readonly on insufficient ACLs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-16 15:36:39 +02:00
Jo-Philipp Wich
01129d5297 luci-mod-system: mounts.js: disable umount button in readonly map
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-16 15:35:51 +02:00
Jo-Philipp Wich
684f7dd7dc luci-mod-system: flash.js: make readonly on insufficient ACLs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-16 15:35:13 +02:00
Jo-Philipp Wich
92902225fb luci-mod-system: crontab.js: disable textarea on insufficient ACLs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-16 15:33:02 +02:00
Jo-Philipp Wich
ca295b04e7 luci-mod-system: convert menu controller to declarative JSON
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-14 17:05:29 +02:00
Jo-Philipp Wich
4feab2e400 luci-mod-system: fix dropbear write ACL rule
Fixes: #3872
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-10 22:53:31 +02:00
Jo-Philipp Wich
c099344013 treewide: reorganize base ACLs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-09 23:23:33 +02:00
Jo-Philipp Wich
3c4bc228a1 treewide: import utility classes explicitly
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-03 10:00:06 +02:00
Jo-Philipp Wich
3afe606743 luci-mod-system: system.js: rework local time widget markup
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-03-23 21:58:25 +01:00
Jo-Philipp Wich
90990df3b6 luci-mod-system: use proper CSS class for map description
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-03-23 21:56:55 +01:00
Jo-Philipp Wich
9706388c42 luci-mod-system: use generic .cbi-section-actions style for row actions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-03-23 21:53:53 +01:00
Florian Eckert
638f5ce071 luci-mod-system: add led plugin infrastructure
This commit creates the possibility that not only kernel-led-triggers can
be selected but also application-led-triggers from user space.
This is done via a plugin mechanism. The application-led-triggers are scripts
that set kernel-led-triggers on system events or services. Until now this
has not been possible. The package rssileds is a kind of
application-led-trigger.

The following new packages are added:

* luci-app-ledtrig-rssi (application-led-trigger)
* luci-app-ledtrig-switch (kernel-led-trigger) not needed on every most devices
* luci-app-ledtrig-usport (kernel-led-trigger) optional trigger

Since we have now a plugin mechanism I have added the following triggers
as a dependency. So this triggers are now installed per default on LuCI
installation.

* kmod-ledtrig-default-on
* kmod-ledtrig-heartbeat
* kmod-ledtrig-netdev
* kmod-ledtrig-timer

The kernel trigger kmod-ledtrig-usbdev was removed with the commit
d0b50c2770
So I have not ported the relevant code anymore.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2020-02-27 13:28:03 +01:00
Jo-Philipp Wich
b8f65c340c luci-mod-system: fix zram compression placeholder
Fixes: #3583
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-01-29 09:00:57 +01:00
Hannu Nyman
2a1a9874f5 luci-mod-system: remove abbreviation from LED config menu item
Remove the abbreviation coding from the menu item, as it does nor work
in menu and seems to prevent translation of the menu item.

(This was the only menu item in LuCI that had abbr logic.)

Reference to #3553

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2020-01-23 21:11:41 +02:00
Ansuel Smith
5e6ec8562f
luci-base: remove hardcoded cgi-bin path
Currently LuCI can be loaded only when placed in the root of the server as the cgi-bin path are hardcoded. Change the index.html to load the cgi-bin path from the current level.
Also add a new entry in the env Object to make the cgi_base path easily accessible.
This variable will be based on the position of /cgi-bin/luci.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2020-01-16 15:02:14 +01:00
Jo-Philipp Wich
a3ea891b7e luci-mod-system: sshkeys.js: do not incorrectly filter ecdsa keys on load
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-13 16:55:28 +01:00
Jo-Philipp Wich
0731f7e5e4 luci-mod-system: leds.js: display default state as On/Off
Fixes: #3289
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-11 10:14:03 +01:00
Yousong Zhou
90051b6858 luci-mod-system: validate log_ip as "host" instead of just ipaddr
Fixes FS#2444

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2019-11-04 02:19:06 +00:00
Jo-Philipp Wich
86f492173d treewide: require ui.js explicitly
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-03 21:55:50 +01:00
Jo-Philipp Wich
54163c95e1 luci-mod-system: sshkeys.js: explicitely require ui.js
While ui.js is implicitely autoloaded by other classes, we need to require
it directly in the view to avoid race conditions during rendering.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-03 18:03:01 +01:00
Jo-Philipp Wich
af5dc2652e luci-mod-system: flash.js: upon sysupgrade, select reconnect ip by keep state
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:45:00 +01:00
Jo-Philipp Wich
7d84396471 luci-mod-system: flash.js: fix flash erase modal
The firstboot rpc call might not return, therefor do not wait on promise
fullfillment but display modal dialog right away.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:42:48 +01:00
Jo-Philipp Wich
33346dadf4 luci-base, luci-mod-system: move file upload handling to ui.js
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
470464ae4a luci-mod-system: use declarative dependencies in controller
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
5ce16764ad luci-base, luci-mod-system: replace luci/setUmount with fs.exec calls
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Jo-Philipp Wich
c67d2ddc2c luci-base, luci-mod-system: replace luci/setReboot with fs.exec
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-01 12:03:33 +01:00
Richard Yu
c6d0822793
luci-mod-system: add missing speed_mask option in leds.js
Signed-off-by: Richard Yu <yurichard3839@gmail.com>
2019-10-28 14:57:19 +08:00
Jo-Philipp Wich
36b052f8cc luci-mod-system: flash.sh: gracefully handle missing sysupgrade.conf
Fixes: #3228
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-21 15:30:22 +02:00
Jo-Philipp Wich
dffa9c57fe luci-mod-system: sshkeys.js: create authorized_keys as 0600
Fixes: #3226
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-21 08:43:07 +02:00
Jo-Philipp Wich
45b56e85a6 luci-mod-system: leds.js: fix handling device option
Since the modal overlay map was unable to read the current trigger value,
it mistakingly allowed the removal of the device option value.

Fix it by finding the option object through lookupOption() instead of
relying on a reference.

Fixes: #3216
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-18 18:55:10 +02:00
Jo-Philipp Wich
3d11af11a7
Merge pull request #3145 from ptpt52/refine-flash-reset
luci-mod-system: refine flash reset
2019-10-16 21:31:26 +02:00
Jo-Philipp Wich
5ccbda54e8 luci-mod-system: flash.js: fix passing sysupgrade opts
Instead of binding the checked state to the button handler function,
bind the underlying checkboxes instead to observe the actual user
choice instead of the initial value.

This fixes forcing sysupgrade or deselecting keep settings.

Reported-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07 19:55:31 +02:00
Chen Minqiang
29aad47121 luci-mod-system: refine flash reset
We determine flash reset capability by checking overlayfs in /proc/mounts

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
2019-10-07 23:37:35 +08:00
Jo-Philipp Wich
90c52a1782 luci-app-advanced-reboot: import applyreboot template from luci-mod-system
Since the advanced-reboot app is the sole remaining user of the applyreboot
template, import it into this package to avoid the need for shipping it
with the default installation.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07 11:53:39 +02:00
Jo-Philipp Wich
b637cf6750 luci-mod-system: port reboot view to client side js
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07 11:53:39 +02:00
Jo-Philipp Wich
29ccea14f1 luci-mod-system: use awaitReconnect() from ui.js
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07 11:53:39 +02:00
Jo-Philipp Wich
55fb53e995 luci-mod-system: sshkeys.js: use common fs.js class
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07 11:53:39 +02:00
Jo-Philipp Wich
811012cab5 luci-mod-system: startup.js: use common fs.js class
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07 11:53:39 +02:00
Jo-Philipp Wich
807dd50640 luci-mod-system: flash.js: use common fs.js class
Also move the keep settings checkbox above the error messages in the
sysupgrade confirmation dialog.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07 11:53:39 +02:00
Jo-Philipp Wich
641c82cb21 luci-mod-system: crontab.js: use common fs.js class
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-07 11:53:39 +02:00
Jo-Philipp Wich
020ac1e08d luci-mod-system: flash.js: fix "rootfs_data" partition detection
The `/sys/devices/virtual/mtd/` information is not available on all
devices so rely on the contents of `/proc/mtd` instead to check for
the existence of the `rootfs_data` partition.

Fixes: #3136
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-02 13:02:04 +02:00
Rafał Miłecki
fb740f2c79 luci-mod-system: check for sysupgrade with backup possibility
Some firmware images may not support preserving backup. In such cases
display a warning and disable relevant checkbox.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-10-02 11:13:19 +02:00
Rafał Miłecki
5f2a17938f luci-mod-system: check if it's possible to force sysupgrade
Some validation errors may be critical enough to prevent sysupgrade.
Check the "forceable" property and disallow forcing sysupgrade if
applicable. It would fail anyway at the "sysupgrade" call.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-10-02 09:47:20 +02:00
Rafał Miłecki
7c108683c6 luci-mod-system: use "system" new "validate_firmware_image" ubus method
This new ubus method provides more properly-formatted details about
firmware file. Use it to check if uploaded image is valid.

The old "sysupgrade --test" method is left for now to provide stderr
output.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
[Added missing ACL, add default value for the ubus failure case]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-02 09:46:18 +02:00
Jo-Philipp Wich
f1db82399a luci-mod-system: allow IPv6 addresses for external syslog server
Fixes: #3126
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-30 10:28:11 +02:00
Jo-Philipp Wich
355223ecdd luci-mod-system: fix rerendering of ssh key list after add/remove
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-27 12:53:47 +02:00