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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Rename the procedure to prevent a name clash with the standard view action
which we intentionally disable.
Ref: 3c40a7450a (commitcomment-35233207)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Preload the uci configuration on page load to avoid accidential double
rendering of the globals section and mount overview table.
Fixes: e39ab8725 ("luci-mod-system: mounts.js: implicitely create globals section")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The former name "Flashmemory write access" is wrong. The triggers also
indicate read/erase access to the flash memories.
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
When a value identical to the stored one is submitted, the CBI framework
will not emit an option write event and therfore not store the value in
the form data dictionary passed to SimpleForm.handle().
This usage pattern usally works be accident for file editor views such
as admin_system/crontab because \r\n windows style line endings are
substituted with unix \n ones before writing the data, defeating the
equality check in CBI.
When a single line without trailing newline is submitted however, the
CBI will not see a difference to the data stored in the file and clear
out the value on subsequent saves.
This commit alignes the logic used by various SimpleForm views to
behave identically and predictable:
- File data is handled in the SimpleForm.handle() callback
- The forcewrite property is used to disable equality checks
- Submission of an empty string empties the backing file
Fixes: #2737
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Especially for systems without RTC this change has two advantages
* manual time sync with time server during configuration
* test possibility of the time sync over the configured servers
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Replace all XHR poll time number with -1 so they will use the default
poll interval time value from "/etc/config/luci". If this is not set then
5 seconds as default is used.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Not every user knows which trigger does what. To make this clear, the
triggers are now translated with a short help text.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Split password, dropbear and SSH key configuration into separate pages in
order to improve the form layout and to simplify the code.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This provides a more accurate description for the theme selection.
Signed-off-by: Angus Ding <angus.ding@gmail.com>
[reword commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Switch the system controller to the common luci.sys.process.exec() function
and drop the local ltn12_popen() and fork_exec() helpers.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Rework the parameter handling to both prevent a crash when no parameter is
given and to prevent root command injection through the mtd index part of
the parameter value.
Fixes: 9840d310e ("modules: add backup module for mtdblock devices")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The filesystem option doesn't include additional filesystem included with /etc/filesystems, this is usefull if someone have ntfs-3g installed and wants to force use the external utility to mount partition instead of the default present in the kernel (if it's supported)
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Give the user the possibility to define and interface for the netdev
trigger which is not available at the moment. This is usefull if a
interface is not presented on configuration time.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Prevent an incorrect / misleading "There are no changes to apply" message
from popping up when adding a new SSH key to the text box.
Fixes#2048.
Signed-off-by: Dirk Brenken <dev@brenken.org>
[reword commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>