14997 Commits

Author SHA1 Message Date
Jo-Philipp Wich
0473e99fab luci-app-statistics: stat-genconfig: don't emit bools for absent uci options
Do not emit native collectd.conf boolean false options if the corresponding
uci option is unset in order to honour collectd's implicit defaults.

This fixes certain options, such as the memory plugins `ValuesAbsolute`,
being without effect if declared as default-enabled in the related plugin
uci forms.

Fixes: #5777
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit f16037cec5e3f65cffe2f5788c264f1912435b0e)
2022-04-25 21:00:35 +02:00
Hannu Nyman
fe09ab9902 treewide: Backport translations and sync
Backport translations from master.
Sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2022-04-09 19:18:33 +03:00
Justin Klaassen
bc85ba52a7 luci-lib-jsonc: stringify int use json_object_new_int64 instead
Fixes: #3293
Signed-off-by: Justin Klaassen <jck112@users.noreply.github.com>
(cherry picked from commit 45f411b7a29d0aa6b46946f06bd88082f2a68034)
2022-04-07 19:12:17 +02:00
Jo-Philipp Wich
59c838b52a build: introduce official way to opt out of source minification
Introduce three new default enabled variables `LUCI_MINIFY_JS`,
`LUCI_MINIFY_LUA` and `LUCI_MINIFY_CSS`  that allow LuCI component
Makefiles to opt out of JavaScript, Lua and CSS compression respectively.

To e.g. inhibit CSSTidy postprocessing in a theme, the corresponding
Makefile can set `LUCI_MINIFY_CSS:=0` prior to including `luci.mk`.

Fixes: #5755
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 3646b0cd1f65dc929dbc0b29daaa7252f6a2507b)
2022-04-06 11:42:57 +02:00
Paul Spooren
bb6ef9fcc6 luci-app-attendedsysupgrade: request filesystem
It is possible to request a specific filesystem so no other filesystems
are used. This speeds up the build process and may prevent failures in
edge cases.

A recent edge case is installing more packages than ext4 can handle
while squashfs works fine due to compression.

Backport `procd` detection of `rootfs_type` to JavaScript:
https://git.openwrt.org/?p=project/procd.git;a=blob;f=system.c;h=93eac59c3b01ce3729dc27539ac483f5314759d3;hb=HEAD#l49

Signed-off-by: Paul Spooren <mail@aparcar.org>
2022-03-31 16:28:19 +01:00
Jo-Philipp Wich
3856d504d2 luci-app-firewall: fix misspelling of restrictions
Fixes: #5749
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 0eb3aeb0105be5477ed12a57ce3028d08d5f90c6)
2022-03-30 20:49:01 +02:00
Hannu Nyman
f4a5b6c435 treewide: Backport translations
Backport translations from master.
Sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2022-03-26 08:52:33 +02:00
Jo-Philipp Wich
f1d687eeae luci-theme-bootstrap: fix incorrect wrap arounds in nested cbi sections
Fixes: #5743
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 8e09f1833b27e98208472ae44ff4b2ed218fa083)
2022-03-25 11:50:47 +01:00
Hannu Nyman
0a0ce2ae6e timezone data: update to 2022a
Update timezone data to 2022a.

http://mm.icann.org/pipermail/tz-announce/2022-March/000070.html
* Palestine will spring forward on 2022-03-27, not 2022-03-26.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 15bbe6979bade530171420721ee8d99b3a1eacd9)
2022-03-24 21:12:18 +02:00
Paul Spooren
701ea947fc luci-app-attendedsysupgrade: fix missing efi path
If running on a non EFI system, the file `/sys/firmware/efi` is not
available and therefore results in an error of `fs.stat`. Wrap it with
`L.resolveDefault` to avoid the error message and make it work on
non-EFI devices again.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 65266c490a40e589bde23acb1bcac401813c43ce)
2022-03-14 12:05:28 +01:00
Paul Spooren
ce3599093d luci-app-attendedsysupgrade: LuCIfy codebase
This should make the code a bit more readable and LuCI like instead of
using plain JavaScript.

Handle the filesystem correctly to avoid installing suqashfs images on
ext4 devices and the other way around, also recognize systems running
efi.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit de3e0bbffd87a3e62f59c7206dff48bfc0467a09)
2022-03-14 12:05:28 +01:00
Hannu Nyman
9be6f29162 treewide: Backport and sync translations - i18n
Backport translations from master.
Sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2022-03-13 18:20:22 +02:00
k-ronny
8cac3cbc19 luci-app-statistics: irq plugin: handle numeric interrupt names
the `irq` plugin does not show the right data if the interrupt name is only numeric

Signed-off-by: Ronny Kotzschmar <ro.ok@me.com>
(cherry picked from commit dc2570305383a1014b39b44471c0b8c491e23026)
Fixes #5719
2022-03-13 18:14:24 +02:00
Stan Grishin
2044c3439d
Merge pull request #5627 from stangri/openwrt-21.02
[21.02] luci-app-https-dns-proxy: massive providers update
2022-02-22 18:41:39 -08:00
Jo-Philipp Wich
2dba71e4e8 luci-theme-bootstrap: fix display glitch with combo buttons in row actions
Fixes: #5693
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit edbde448b8fae99a5646951aef5f3717dc283c87)
2022-02-21 23:43:22 +01:00
Jo-Philipp Wich
31a27f3087 luci-base: properly handle promise targets in Request.request()
Under some circumstances, ubus RPC requests may be initiated while LuCI is
still resolving the `rpcBaseURL` value. In this situation, the `target`
argument of the `request()` call will be a pending promise object which
results in an invalid URL when serialized by `expandURL()`, leading to an
`Failed to execute 'open' on 'XMLHttpRequest': Invalid URL` exception.

This commonly occured on the index status page which immediately initiates
ubus RPC calls on load to discover existing status page partials.

Solve the issue by filtering the given `target` argument through
`Promise.resolve()` before expanding the URL and initiating the actual
request.

Fixes: #3747
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 5663fd596b567d53587fcc4052df3095520c08a7)
2022-02-21 15:06:41 +01:00
Jo-Philipp Wich
cc582ebfb3 luci-theme-bootstrap: fix style quirk introduced by backport
Fixes: 883834c3dd ("luci-theme-bootstrap: overhaul styles")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-02-16 10:49:33 +01:00
Jo-Philipp Wich
9d5786026f treewide: resync and merge master translations
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-02-16 00:58:01 +01:00
Jo-Philipp Wich
59c3392946 luci-app-firewall: fix setting unspecified zone on forwardings
Fixes: #5685
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 21784446c1d0e1e9b2433727986e04a7e7ff86e5)
2022-02-16 00:52:37 +01:00
Jo-Philipp Wich
161880046f luci-app-firewall: CBIProtocolSelect: properly handle unrecognized protos
Prevent incorrectly replacing unrecognized protocol numbers with -1.

Fixes: #5587
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 43818163155d5ce49414a8e54f5746a85606ba03)
2022-02-16 00:52:03 +01:00
Jo-Philipp Wich
2be076e5b1 luci-base: ui.js: avoid error tooltips overlapping dropdowns
Fixes: #5588
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 604c00905987cf38336754aef408d837b368a8e5)
2022-02-16 00:51:11 +01:00
Paul Dee
0ac2542085 luci-mod-status: Add Target Platform (e.g. ath79/ipq806x/etc)
revealed under:
ubus call system board
board.release.target

Useful reminder for what to download

Signed-off-by: Paul Dee <systemcrash@users.noreply.github.com>
(cherry picked from commit 2890d1842a8538e093de3b1814ef26f308385c07)
2022-02-16 00:49:44 +01:00
Helge Mader
f08a0f6b8f luci-base: prevent empty field for adding new entry
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit 58447640eb4704ce5bed612f84cb86b84afa17fa)
2022-02-16 00:49:04 +01:00
Paul Spooren
274df9df00 luci-base: fix request timeout docstring
The `timeout` is defined in milliseconds, not seconds.

Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 292e19888448599f5169cc158b00071e020e9c27)
2022-02-16 00:49:04 +01:00
Jo-Philipp Wich
92329dcd46 luci-mod-status: fix raw ipt counter buton style
Fixes: #4928
Fixes: b39b7fc0d2 ("luci-mod-status: allow displaying raw iptables counter values")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 1dc16d9d3ffeee30d072c569e9a3c693d303e9fc)
2022-02-16 00:47:54 +01:00
Jo-Philipp Wich
dcd61d74dc luci-mod-status: allow displaying raw iptables counter values
Fixes: #4852
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit b39b7fc0d2882e19e9d6a1d9ab1ef57c10ec5db5)
2022-02-16 00:47:42 +01:00
Jo-Philipp Wich
41f18098bb luci-theme-bootstrap: fix translation for username and password captions
Fixes: c81b09ec3d ("luci-theme-bootstrap: simplify login dialog")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 6a60d2434e92b422d9eb47ca2282a8bafdbbba35)
2022-02-16 00:43:35 +01:00
Jo-Philipp Wich
40051f0302 luci-theme-bootstrap: simplify login dialog
Use an traditional HTML form with post submit action to the same URL in
order to simplify the login process and not rely on the discarded login
XHR reply properly setting the login cookie.

This will also avoid one useless request on login and hopefully fix login
issues reported with various browser environments.

As a bonus, the resulting code is somewhat smaller as well.

Ref: https://forum.openwrt.org/t/login-does-not-work/113360
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit c81b09ec3d83542b9d4be6297c45d0e66896265e)
2022-02-16 00:43:35 +01:00
Jo-Philipp Wich
1390f78fad luci-theme-bootstrap: add bottom margin to log views
Prevent the log output textareas to touch the footer border.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 1a9afa2a90e823b0fbd0fc0ca3f64d7ed5f8aedb)
2022-02-16 00:43:35 +01:00
Jo-Philipp Wich
2cc139ce6a luci-theme-bootstrap: prevent hiding header bar on long vertical scrolls
Ref: b11a7d8e49 (commitcomment-60968071)
Fixes: 8055acc9be ("luci-theme-bootstrap: overhaul styles")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit e0888d70a92a832a9e720d3ba903341e4b03c252)
2022-02-16 00:43:35 +01:00
Jo-Philipp Wich
18cc1c79d7 luci-theme-bootstrap: various style corrections
- Add proper top and bottom margin for tab descriptions
 - Allow flex wrapping for cbi-value rows
 - Ensure that nested table/grid sections always take the full width
 - Make table/grid section row action buttons are as narrow as possible

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit b11a7d8e4940a3f68b93c5d93f16c900c9371bc2)
2022-02-16 00:43:35 +01:00
Jo-Philipp Wich
119cfee890 luci-theme-bootstrap: fix cbi-value caption alignment
Since the removal of the clearfix styles, overlong captions will displace
subsequent input field rows.

Fix the issue by replace floating label + field margin with flexbox styles.

Fixes: #5535
Fixes: 8055acc9be ("luci-theme-bootstrap: overhaul styles")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 4720a025e8ab5a28541f7d066fb9b2f35ddb2cb1)
2022-02-16 00:43:35 +01:00
Jo-Philipp Wich
071a3b0d12 luci-theme-bootstrap: fix inner border radius in ifaceboxes, progressbars
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 6f4708ca68bb02c9d4d76d3cd1f130d62558f5f1)
2022-02-16 00:43:35 +01:00
Jo-Philipp Wich
f1e5639df1 luci-theme-bootstrap: hide scrollbars in modal overlay
Only enable scrollbars if content overflows.

Fixes: #5505
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 7f26e86a9f840eb1b9ef11831fa8f6c9eeade079)
2022-02-16 00:43:35 +01:00
Jo-Philipp Wich
c1745bdb85 luci-theme-bootstrap: further uci changelog style fixes
- Use the proper dialog class name to apply changelog styles
 - Darken grey background and borders

Fixes: 5bd111f58f ("luci-theme-bootstrap: fix uci changelog and readonly input styles")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 00dc07bb84f0bc1cc8d27c8f95e533aca07501d4)
2022-02-16 00:43:35 +01:00
Jo-Philipp Wich
7884d8ac01 luci-theme-bootstrap: fix uci changelog and readonly input styles
- Rework uci changelog styling rules to work with unmodified markup
 - Drop redundant readonly input styles, don't fade readonly input texts

Fixes: 8055acc9be ("luci-theme-bootstrap: overhaul styles")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 5bd111f58faee1a2eeaa28845f7df4b727c13d99)
2022-02-16 00:43:35 +01:00
Jo-Philipp Wich
883834c3dd luci-theme-bootstrap: overhaul styles
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 8055acc9be89f0bed31b6692ad08e6196611d478)
2022-02-16 00:42:42 +01:00
Jo-Philipp Wich
9775b6ab24 luci-base: apply Browser/OS dark mode preference to index redirect page
Turn white body, black link into black body, white link if the Browser/OS
indicates dark mode preference.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 50af81193c3ae78b23a4573f3fb69136462a883b)
2022-02-16 00:37:58 +01:00
Jo-Philipp Wich
d79b81b852 luci-base: luci.js: fix undefined variable access in Request.request()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit de4c4f7fd445e7a59691e50edead472900270e59)
2022-02-16 00:37:54 +01:00
Jo-Philipp Wich
dd54dcef26 luci-mod-network: use firewall.getZoneColorStyle() in interface view
Use the new `firewall.getZoneColorStyle()` helper to apply background
zone color styles to the interface boxes.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 849772df96784a0d5480ddf6305e30e7d442740f)
2022-02-16 00:37:41 +01:00
Jo-Philipp Wich
d61c4486d5 luci-app-firewall: use firewall.getZoneColorStyle() in views
Use the new `firewall.getZoneColorStyle()` helper to apply background
color styles.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 0b4b6380d0698954c2f45e301cf653810b861a87)
2022-02-16 00:37:37 +01:00
Jo-Philipp Wich
4aa1c79138 luci-base: widget.js: use firewall.getZoneColorStyle() in zone widgets
Use the new `firewall.getZoneColorStyle()` helper to apply background
color styles.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit a812b26cb8cde56c8083349f665d762ae6a1826a)
2022-02-16 00:37:33 +01:00
Jo-Philipp Wich
a6bad6d9f8 luci-base: firewall.js: add getZoneColorStyle() helper
The getZoneColorStyle() function will produce CSS style properties that
describe the color value of the zone. The color declaration is divided
into a CSS variable called `--zone-color-rgb` which holds the RGB value
of the color and a `background-color` property assigning these values
as background property.

This allows themes to override the color with derived values, e.g. by
applying an alpha channel.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit d775279dbd0da284af7f74b31b5d3b0eddcf80bc)
2022-02-16 00:37:24 +01:00
Jo-Philipp Wich
5a092b3ad2 luci-base: add legacy directory, file and device validator JS stubs
Fixes: #5466
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit ad360ec00a3667d530fa1a911ac19515b132d588)
2022-02-16 00:36:34 +01:00
Jo-Philipp Wich
d1255a5f5e luci-mod-status: disable DSL status if not present
Fixes: #5465
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 0ad54e4a7ca8f9b526442954b12a6b04e5c7403c)
2022-02-16 00:36:09 +01:00
Jo-Philipp Wich
c051cfc4e8 luci-base: add "dsl" system feature
Allows LuCI views to probe DSL presence using `L.hasSystemFeature('dsl')`.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit d513f1461fae9cc67425c38e6ca6711932d12d38)
2022-02-16 00:36:05 +01:00
Vladislav Grigoryev
39fae47e3d luci-mod-network: support network.interface.sourcefilter
Allow to modify the sourcefilter option in the network.interface config.
This is required for custom policy routing with IPv6 MWAN and/or NAT6.

Signed-off-by: Vladislav Grigoryev <vg.aetera@gmail.com>
(cherry picked from commit 22296fb07276159f6d1dae719f32920ad52d5873)
2022-02-16 00:35:10 +01:00
Jo-Philipp Wich
a7b0fe1af1 protocols: make APN option optional again
Fixes: #5284
Fixes: 1661ac6bf8 ("luci-proto-ncm: add APN and PIN validation")
Fixes: 114dc38dc2 ("luci-proto-qmi: add APN and PIN validation")
Fixes: 6a8ad40b05 ("luci-proto-3g: add APN and PIN validation")
Fixes: ebb676ef7b ("luci-proto-modemmanager: add APN and PIN validation")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 5ff3ef7cbb9719d3476feb836cac86ee421f666d)
2022-02-16 00:34:28 +01:00
Nicholas Smith
ebfdbce797 luci-proto-ncm: add APN and PIN validation
Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>
[squash commits, fix whitespace]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 1661ac6bf888e4563546cc63fe0e228af8889bf0)
2022-02-16 00:34:16 +01:00
Nicholas Smith
f8ea3df634 luci-proto-qmi: add APN and PIN validation
Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>
[squash commits, fix whitespace]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 114dc38dc2ce82a9f32fdc16adaa6f435ee36881)
2022-02-16 00:34:16 +01:00