Commit graph

2621 commits

Author SHA1 Message Date
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
b2809cebd8 luci-base: luci.js, rpc.js, uci.js, network.js: add JSDoc annotations
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-02 08:59:41 +02:00
Florian Eckert
b7ee57adaf
Merge pull request #3131 from tano-systems/pr/luci-base-i18n-ru
luci-base: update Russian translation
2019-09-30 13:05:07 +02:00
Anton Kikin
2b1b8e7e04 luci-base: update Russian translation
Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
2019-09-30 13:49:39 +03:00
Jo-Philipp Wich
17800040f2 luci-mod-network: display the mesh ID in wireless overview if applicable
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-30 12:40:12 +02:00
Jo-Philipp Wich
948ca3712f luci-base: network.js: implement getMeshID() getter
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-30 12:39:33 +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
Hannu Nyman
cf887ba62f timezone data: update to 2019c
Update timezone data to 2019c

http://mm.icann.org/pipermail/tz-announce/2019-September/000057.html

2019c:
* Fiji observes DST from 2019-11-10 to 2020-01-12.
* Norfolk Island starts observing Australian-style DST.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2019-09-28 21:51:35 +03: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
Jo-Philipp Wich
ad05b61dce luci-mod-system: allow deleting all NTP servers
Fixes: #3121
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-27 12:02:08 +02:00
Yurii
a56e58f32e
luci-base: update Ukrainian translation
Updating Ukrainian translation according the latest sync translation. Сorrections and additions.

Signed-off-by: Yurii <yuripet@gmail.com>
2019-09-25 22:46:59 +03:00
Jo-Philipp Wich
855208c59d luci-mod-system: flash.js: disable mtdblock downloads on mtd-less systems
Ref: 3c40a7450a (commitcomment-35233073)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-25 19:42:06 +02:00
Jo-Philipp Wich
e17cd94be7 luci-mod-system: flash.js: rename handleReset to handleFirstboot
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>
2019-09-25 19:37:27 +02:00
Franco Castillo
cb1189a2fe luci-base: update Spanish translation
Update Spanish translation.

Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
2019-09-25 13:35:44 -03:00
Jo-Philipp Wich
3c40a7450a luci-mod-system: flash.js: improve storage size detection heuristics
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-25 16:23:02 +02:00
Jo-Philipp Wich
66749b4fe3
Merge pull request #2756 from Ansuel/wps
luci-mod-network: permit WPS push-button on WPA3
2019-09-24 19:56:44 +02:00
Ansuel Smith
9f0f6cbd31
luci-base: update translation with changed string
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2019-09-24 19:40:26 +02:00
Ansuel Smith
3571af9488
luci-mod-network: permit WPS push-button on WPA3
Currently WPS push-button is dropped when SAE or SAE-Mixed is selected. WPS is still supported in WPA3.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2019-09-24 19:39:12 +02:00
Jo-Philipp Wich
aac046271b
Merge pull request #2357 from Ansuel/mastero
luci-mod-network: add master option
2019-09-24 19:27:18 +02:00
Jo-Philipp Wich
e091859116 luci-mod-system: system.js: use more concise label for use_dhcp
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24 19:26:33 +02:00
Ansuel Smith
6bd7295a46
luci-base: adds italian translation for master description
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2019-09-24 19:10:20 +02:00
Ansuel Smith
3444aae69a
luci-base: sync translations
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2019-09-24 19:10:19 +02:00
Ansuel Smith
d3541e9269
luci-mod-network: add master option
Adds option to set interface as master in dhcpv6 relay mode.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2019-09-24 19:10:11 +02:00
Jo-Philipp Wich
1bad6f3e61 luci-mod-system: system.js: expose use_dhcp NTP option
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24 18:41:54 +02:00
Jo-Philipp Wich
2a5c5f47f9 luci-mod-system: reimplement flashops as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24 14:21:08 +02:00
Jo-Philipp Wich
cc786f9833 luci-mod-system: startup.js: fix syntax error
Fixes: f3ff641d8 ("luci-mod-system: ensure that textarea contents are properly escaped")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24 12:17:26 +02:00
Jo-Philipp Wich
4a564736ea luci-mod-network: wireless.js: properly handle SAE in join confirmation
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24 08:09:02 +02:00
Jo-Philipp Wich
e630b32498 luci-mod-network: interfaces.js: map remove action to network.deleteNetwork()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24 08:07:50 +02:00
Jo-Philipp Wich
809f16d4ce luci-base: network.js: fix deleteNetwork() implementation
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24 08:02:57 +02:00
Jo-Philipp Wich
186ddfa044 luci-base: form.js: do not inherit map tabbing to nested sections
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24 08:01:04 +02:00
Jo-Philipp Wich
0068c3bd49 luci-base: form.js: allow overriding remove action in Table/GridSections
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24 07:59:04 +02:00
Jo-Philipp Wich
4d3d23b5e9 luci-mod-network: wireless.js: prompt for passphrase when joining SAE net
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-24 07:24:11 +02:00
Chen Minqiang
2f92a29628 luci-mod-network: resort zonePromise order
This fix #3103

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
2019-09-24 07:08:49 +02:00
Jo-Philipp Wich
f3ff641d8e luci-mod-system: ensure that textarea contents are properly escaped
Fixes: #3090
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-23 11:44:18 +02:00
Jo-Philipp Wich
158515d5bd luci-base: form.js: do not add title attributes for untitled options
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-22 22:26:36 +02:00
Yurii
b958d2298a
luci-base: update Ukrainian translation
Corrected my typo.

Signed-off-by: Yurii <yuripet@gmail.com>
2019-09-21 21:58:26 +03:00
Florian Eckert
8a2119727b
Merge pull request #3042 from muink/patch-1
luci-base: hosts.js: Update chinese translations
2019-09-21 20:53:08 +02:00
Yurii
e5a15928c7
luci-base: update Ukrainian translation
Update Ukrainian translation according the latest translation resync. Сorrections and additions.

Signed-off-by: Yurii <yuripet@gmail.com>
2019-09-21 21:49:11 +03:00
Hannu Nyman
be43a42486
Merge pull request #3093 from castillofrancodamian/master
luci-base: update Spanish translation
2019-09-21 20:47:32 +03:00
Franco Castillo
61cfa9cb85 luci-base: update Spanish translation
Update Spanish translation.

Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
2019-09-21 14:29:54 -03:00
Jo-Philipp Wich
2dd6c009be luci-mod-system: remove unused controller actions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21 19:06:30 +02:00
Jo-Philipp Wich
4518f8f342 luci-mod-system: mounts.js: preload fstab uci
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>
2019-09-21 18:46:17 +02:00
Jo-Philipp Wich
e39ab87255 luci-mod-system: mounts.js: implicitely create globals section
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21 18:43:42 +02:00
Jo-Philipp Wich
71e265a7f0 luci-mod-system: remplement fstab settings as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21 18:36:31 +02:00
Jo-Philipp Wich
54cab2f26b luci-base: add rpc methods for mount management
This commit introduces the new methods luci/getBlockDevices,
luci/setBlockDetect, luci/getMountPoints, luci/setUmount in
preparation for the reworked mount point management.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21 18:30:34 +02:00
Jo-Philipp Wich
6dba41cadc luci-base: tie cached system features to user session
Store the cached system feature flags keyed by the current session id,
this ensures that the features are refreshed on login.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21 10:55:54 +02:00
Jo-Philipp Wich
119c6319cb luci-base: network.js: don't batch wireless scan requests
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21 10:23:37 +02:00
Jo-Philipp Wich
21d1266c53 luci-base: rpc.js: increase default timeout to 20s, allow batch prevention
Support a new option "nobatch: true" in rpc.declare() which prevents the
underlying RPC call from being batched with other calls.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21 10:23:37 +02:00
Jo-Philipp Wich
afeacdc7df luci-base: luci.js: improve XHR issue diagnostics
Differentiate between request timeouts and other error reasons.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-21 10:23:37 +02:00
INAGAKI Hiroshi
2a1e77e8cb luci-base: update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2019-09-21 17:13:11 +09:00
INAGAKI Hiroshi
51b46c3299 luci-base: use old translation for "Gateway Ports"
This text is replaced from "Gateway ports" in
f878b21c8c.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2019-09-21 16:59:44 +09:00
INAGAKI Hiroshi
f894c2601e luci-base: sync translations
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2019-09-21 14:26:49 +09:00
Jo-Philipp Wich
720df98642 luci-mod-network: sort wifi encryption by strength and popularity
Fixes: #3082
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-20 17:11:38 +02:00
Jo-Philipp Wich
f3a94051ec luci-mod-network: fix key option quirk when switching wep and wpa modes
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-20 13:39:22 +02:00
Jo-Philipp Wich
ccd1523610 luci-mod-network: default to ieee80211w=2 for OWE
Ref: https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=package/network/services/hostapd/files/hostapd.sh;h=46acbefeeeb771de879dd9926ad170042dff2473;hb=HEAD#l327
Fixes: 63f28fd06 luci-mod-network: default to ieee80211w=1 for OWE
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-20 11:30:09 +02:00
Jo-Philipp Wich
d10575dfee luci-base: form.js: only update option default if cfgvalue is null
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-20 09:58:31 +02:00
Jo-Philipp Wich
63f28fd065 luci-mod-network: default to ieee80211w=1 for OWE
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-20 09:55:51 +02:00
Jo-Philipp Wich
5986124c13 luci-mod-network: wireless.js: fix parsing of wep key slot cfgvalue
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-20 09:36:23 +02:00
Jo-Philipp Wich
0113171c64 luci-mod-network: wireless.js: fix disabled state on disabled radio
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-19 15:48:27 +02:00
Jo-Philipp Wich
0d9a77d806 luci-mod-network: wireless.js: select proper 11w default for WPA3 modes
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-19 15:47:55 +02:00
Jo-Philipp Wich
25e0b966c7 luci-base: form.js: add support for dynamic default values
Many uci options have different implicit defaults, depending on the
values of other related options. A prominent example is the wireless
ieee80211w option which defaults to 2, 1 or 0 depending on whether
the encryption is set to wpa3-sae, wpa2/wpa2 mixed or any other mode
respectively.

Add the ability to specify a dictionary of default values and their
corresponding dependencies in order to be able to express such
configurations.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-19 15:40:57 +02:00
Jo-Philipp Wich
4dfa657f77 luci-base: ui.js: mark user-changed widgets
Set a `data-changed=true` attribute on the widget element when the user
did any change to the default value.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-19 15:39:46 +02:00
Jo-Philipp Wich
53ac685092 luci-base: form.js: fix default click action of button options
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-18 15:08:19 +02:00
Jo-Philipp Wich
934fa275b2 luci-base: ensure that button labels are properly html escaped
Fixes: #3067
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-18 13:51:16 +02:00
muink
d07a55931d
luci-base: proto_dhcp.lua: Update chinese translations
Signed-off-by: muink <hukk1996@gmail.com>
2019-09-18 19:35:51 +08:00
Jo-Philipp Wich
982b08f45d luci-mod-system: system.js: simplify btn actions, use feature flags
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-18 08:17:58 +02:00
Hannu Nyman
7dd6fde57e
Merge pull request #3080 from castillofrancodamian/master
luci-base and apps: update Spanish translation
2019-09-18 09:07:33 +03:00
Jo-Philipp Wich
fd9182b21a luci-base: network.js: filter invalid mac addresses
Only consider valid ethernet mac addresses when building the device state
from raw getifaddrs() information.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-18 07:46:33 +02:00
Jo-Philipp Wich
15cc74c6b4 luci-mod-network: interfaces.js: derive status from layer 3 device
Align the status column device selection logic with the approach used for
rendering the interface status boxes; first try to obtain the active
layer3 device as reported by ubus, only then fall back to the protocol
specific device hint which might or might not point to an existing device.

Fixes: #3076
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-18 07:33:25 +02:00
Jo-Philipp Wich
10880b565f luci-base: network.js: get low level device details from getifaddr() info
Fixes: #3078
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-18 07:19:18 +02:00
Jo-Philipp Wich
a67175cab1 luci-mod-system: disable redundant page actions in crontab, startup views
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-18 07:23:01 +02:00
Franco Castillo
0183eed288 luci-base and apps: update Spanish translation
Update of the Spanish translation of luci-base and some LuCI applications.

* luci-base
* adblock
* advanced-reboot
* aria2
* banip
* ddns
* firewall
* mjpg-streamer
* mwan3
* ntpc
* simple-adblock
* travelmate
* vpnbypass
* wifischedule
* wireguard

Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
2019-09-17 23:40:37 -03:00
Jo-Philipp Wich
f878b21c8c luci-mod-system: remplement dropbear settings as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-17 07:43:48 +02:00
Martin Schiller
2cdcec29ff luci-base: fix german translation for factory reset hint
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2019-09-16 09:32:25 +02:00
Jo-Philipp Wich
9ae9657a85 luci-mod-system: remplement password change as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-16 07:54:25 +02:00
Jo-Philipp Wich
a31d1d10e0 luci-mod-system: reimplement SSH key mgmt as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-15 20:00:36 +02:00
Jo-Philipp Wich
3e1cf14ad1 luci-base: add luci/setPassword rpc method, dropbear feature flag
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-16 07:49:05 +02:00
Jo-Philipp Wich
9ecfe33edd luci-base: luci.js: render view buttons depending on available functions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-17 07:03:27 +02:00
Jo-Philipp Wich
96fbca76c8 luci-base: form.js: implement JSONMap
Implement a new map type JSONMap which uses a JSON data structure instead
of uci as configuration data backend.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-16 07:55:45 +02:00
INAGAKI Hiroshi
f206c01844 luci-base: update Japanese translation
Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2019-09-15 20:08:14 +09:00
INAGAKI Hiroshi
ec631c4960 i18n: sync translations
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2019-09-15 19:15:17 +09:00
Jo-Philipp Wich
2e206861ae luci-base: luci.js: append version when dynamically loading classes
This allows for some naive cache busting when the LuCI version changes,
to avoid loading outdated classes from cache.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-14 17:44:32 +02:00
Jo-Philipp Wich
208bf47a33 luci-base: cbi.js: update dependencies after widgets have been rendered
Fixes: #3066
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-14 17:20:41 +02:00
Jo-Philipp Wich
7c9d1a259c luci-base: network.js: register "none" protocol
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-14 17:04:02 +02:00
Jo-Philipp Wich
88c16e17d9 luci-mod-network: wireless.js: restore mac hints in mac list widget
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-13 14:19:33 +02:00
Jo-Philipp Wich
2dd17fad6c luci-base: network.js: implement Hosts.getMACHints()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-13 14:18:43 +02:00
Jo-Philipp Wich
3734f88c35 luci-base: fix ip6hint option dependencies and validation
Ref: https://forum.openwrt.org/t/odhcpd-make-lease-file-persistent/44118/8
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-13 12:57:08 +02:00
Jo-Philipp Wich
b384683d14
Merge pull request #3060 from tano-systems/pr/update-ru-i18n
luci-base: Update Russian translation
2019-09-13 11:06:30 +02:00
Anton Kikin
8e171a9f3d luci-base: Update Russian translation
Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
2019-09-13 00:13:04 +03:00
Franco Castillo
da2ec04075 luci-base: update Spanish translation
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
2019-09-12 16:34:11 -03:00
Franco Castillo
37efc4f918 luci-base: update Spanish translation
Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
2019-09-12 16:06:32 -03:00
Jo-Philipp Wich
af19ebb706 luci-mod-system: improve LED configuration page
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-12 19:22:59 +02:00
Jo-Philipp Wich
fad01ae1a4 luci-base: sys.lua: fix init script enable action
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-12 18:56:24 +02:00
Jo-Philipp Wich
53516cc302 luci-mod-system: add heading to startup page, improve error reporting
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-12 18:55:50 +02:00
Jo-Philipp Wich
0e5be0d68a luci-mod-system: reimplent system/crontab as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-12 18:48:58 +02:00
Jo-Philipp Wich
8178ac15b6 luci-base: whitelist file/write actions on /etc/rc.local
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-12 14:42:12 +02:00
Jo-Philipp Wich
0eb5661e8c luci-mod-system: restore rc.local editing functionality
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-12 14:41:30 +02:00