project/luci.git
2 years agoMerge pull request #5806 from odmdas/2102-sysntpd-iface
Jo-Philipp Wich [Tue, 10 May 2022 09:04:35 +0000 (11:04 +0200)]
Merge pull request #5806 from odmdas/2102-sysntpd-iface

[21.02] luci-mod-system: add interface selection for NTPD

2 years agoluci-mod-system: add interface selection for NTPD
Alexey Dobrovolsky [Wed, 4 May 2022 22:18:51 +0000 (01:18 +0300)]
luci-mod-system: add interface selection for NTPD

UCI option `interface` for sysntpd server was introduced in
OpenWrt commit 4da60500ebd2. NTP server binds to the specified interface,
or if unspecified, to all.

This patch adds selection widget to LuCI.

Signed-off-by: Alexey Dobrovolsky <dobrovolskiy.alexey@gmail.com>
(cherry picked from commit 24ac5a2bf6d713c6878cf7be7d4e4516965c2884)

2 years agoluci-app-ddns: fix update time calculation
small_5 [Thu, 4 Mar 2021 02:50:25 +0000 (10:50 +0800)]
luci-app-ddns: fix update time calculation

* Fix last_update overflow

* Fix next_update wrong when the router is just started

* Fix missing check_seconds for next_update

Signed-off-by: Small_5 <61473216+small-5@users.noreply.github.com>
(cherry picked from commit 58ed2b211a1add5fb2cb3750af6074c4d51c307a)

2 years agoluci-base: sys.lua: fix parsing conntrack entries without timeout
Jo-Philipp Wich [Fri, 29 Apr 2022 10:16:19 +0000 (12:16 +0200)]
luci-base: sys.lua: fix parsing conntrack entries without timeout

Flow offloaded conntrack entries carry no timeout value and trip up the
record parsing routine. Adjust the code to properly deal with such entries.

Ref: https://forum.openwrt.org/t/offloading-breaks-connections-list/126423
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 531c0ecff2ca57c4bc0aacee66a0746814fefc78)

2 years agoluci-app-statistics: stat-genconfig: don't emit bools for absent uci options
Jo-Philipp Wich [Mon, 25 Apr 2022 18:55:02 +0000 (20:55 +0200)]
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)

2 years agotreewide: Backport translations and sync
Hannu Nyman [Sat, 9 Apr 2022 16:18:33 +0000 (19:18 +0300)]
treewide: Backport translations and sync

Backport translations from master.
Sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agoluci-lib-jsonc: stringify int use json_object_new_int64 instead
Justin Klaassen [Sat, 19 Mar 2022 18:34:05 +0000 (11:34 -0700)]
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)

2 years agobuild: introduce official way to opt out of source minification
Jo-Philipp Wich [Wed, 6 Apr 2022 09:39:06 +0000 (11:39 +0200)]
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)

2 years agoluci-app-attendedsysupgrade: request filesystem
Paul Spooren [Mon, 21 Mar 2022 11:44:11 +0000 (11:44 +0000)]
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>
2 years agoluci-app-firewall: fix misspelling of restrictions
Jo-Philipp Wich [Wed, 30 Mar 2022 18:44:13 +0000 (20:44 +0200)]
luci-app-firewall: fix misspelling of restrictions

Fixes: #5749
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 0eb3aeb0105be5477ed12a57ce3028d08d5f90c6)

2 years agotreewide: Backport translations
Hannu Nyman [Sat, 26 Mar 2022 06:52:33 +0000 (08:52 +0200)]
treewide: Backport translations

Backport translations from master.
Sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agoluci-theme-bootstrap: fix incorrect wrap arounds in nested cbi sections
Jo-Philipp Wich [Fri, 25 Mar 2022 10:49:10 +0000 (11:49 +0100)]
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)

2 years agotimezone data: update to 2022a
Hannu Nyman [Thu, 24 Mar 2022 19:09:41 +0000 (21:09 +0200)]
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)

2 years agoluci-app-attendedsysupgrade: fix missing efi path
Paul Spooren [Wed, 9 Mar 2022 10:29:59 +0000 (11:29 +0100)]
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)

2 years agoluci-app-attendedsysupgrade: LuCIfy codebase
Paul Spooren [Wed, 2 Mar 2022 00:42:13 +0000 (01:42 +0100)]
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)

2 years agotreewide: Backport and sync translations - i18n
Hannu Nyman [Sun, 13 Mar 2022 16:20:22 +0000 (18:20 +0200)]
treewide: Backport and sync translations - i18n

Backport translations from master.
Sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agoluci-app-statistics: irq plugin: handle numeric interrupt names
k-ronny [Sun, 13 Mar 2022 16:14:24 +0000 (18:14 +0200)]
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

2 years agoMerge pull request #5627 from stangri/openwrt-21.02
Stan Grishin [Wed, 23 Feb 2022 02:41:39 +0000 (18:41 -0800)]
Merge pull request #5627 from stangri/openwrt-21.02

[21.02] luci-app-https-dns-proxy: massive providers update

2 years agoluci-theme-bootstrap: fix display glitch with combo buttons in row actions
Jo-Philipp Wich [Mon, 21 Feb 2022 22:42:16 +0000 (23:42 +0100)]
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)

2 years agoluci-base: properly handle promise targets in Request.request()
Jo-Philipp Wich [Mon, 21 Feb 2022 13:59:16 +0000 (14:59 +0100)]
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)

2 years agoluci-theme-bootstrap: fix style quirk introduced by backport
Jo-Philipp Wich [Wed, 16 Feb 2022 09:48:38 +0000 (10:48 +0100)]
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>
2 years agotreewide: resync and merge master translations
Jo-Philipp Wich [Tue, 15 Feb 2022 23:58:01 +0000 (00:58 +0100)]
treewide: resync and merge master translations

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2 years agoluci-app-firewall: fix setting unspecified zone on forwardings
Jo-Philipp Wich [Tue, 15 Feb 2022 23:20:55 +0000 (00:20 +0100)]
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)

2 years agoluci-app-firewall: CBIProtocolSelect: properly handle unrecognized protos
Jo-Philipp Wich [Thu, 9 Dec 2021 15:24:31 +0000 (16:24 +0100)]
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)

2 years agoluci-base: ui.js: avoid error tooltips overlapping dropdowns
Jo-Philipp Wich [Thu, 9 Dec 2021 14:28:39 +0000 (15:28 +0100)]
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)

2 years agoluci-mod-status: Add Target Platform (e.g. ath79/ipq806x/etc)
Paul Dee [Mon, 6 Sep 2021 15:31:51 +0000 (17:31 +0200)]
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)

2 years agoluci-base: prevent empty field for adding new entry
Helge Mader [Fri, 12 Mar 2021 09:48:29 +0000 (10:48 +0100)]
luci-base: prevent empty field for adding new entry

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit 58447640eb4704ce5bed612f84cb86b84afa17fa)

2 years agoluci-base: fix request timeout docstring
Paul Spooren [Mon, 9 Aug 2021 19:37:59 +0000 (09:37 -1000)]
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)

2 years agoluci-mod-status: fix raw ipt counter buton style
Jo-Philipp Wich [Wed, 17 Mar 2021 08:12:09 +0000 (09:12 +0100)]
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)

2 years agoluci-mod-status: allow displaying raw iptables counter values
Jo-Philipp Wich [Mon, 1 Mar 2021 17:56:27 +0000 (18:56 +0100)]
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)

2 years agoluci-theme-bootstrap: fix translation for username and password captions
Jo-Philipp Wich [Tue, 21 Dec 2021 08:56:31 +0000 (09:56 +0100)]
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)

2 years agoluci-theme-bootstrap: simplify login dialog
Jo-Philipp Wich [Thu, 9 Dec 2021 18:48:12 +0000 (19:48 +0100)]
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)

2 years agoluci-theme-bootstrap: add bottom margin to log views
Jo-Philipp Wich [Wed, 1 Dec 2021 14:09:11 +0000 (15:09 +0100)]
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)

2 years agoluci-theme-bootstrap: prevent hiding header bar on long vertical scrolls
Jo-Philipp Wich [Sat, 27 Nov 2021 18:47:14 +0000 (19:47 +0100)]
luci-theme-bootstrap: prevent hiding header bar on long vertical scrolls

Ref: https://github.com/openwrt/luci/commit/b11a7d8e4940a3f68b93c5d93f16c900c9371bc2#commitcomment-60968071
Fixes: 8055acc9be ("luci-theme-bootstrap: overhaul styles")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit e0888d70a92a832a9e720d3ba903341e4b03c252)

2 years agoluci-theme-bootstrap: various style corrections
Jo-Philipp Wich [Mon, 22 Nov 2021 08:40:49 +0000 (09:40 +0100)]
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)

2 years agoluci-theme-bootstrap: fix cbi-value caption alignment
Jo-Philipp Wich [Sun, 21 Nov 2021 21:51:04 +0000 (22:51 +0100)]
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)

2 years agoluci-theme-bootstrap: fix inner border radius in ifaceboxes, progressbars
Jo-Philipp Wich [Sun, 21 Nov 2021 17:53:59 +0000 (18:53 +0100)]
luci-theme-bootstrap: fix inner border radius in ifaceboxes, progressbars

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 6f4708ca68bb02c9d4d76d3cd1f130d62558f5f1)

2 years agoluci-theme-bootstrap: hide scrollbars in modal overlay
Jo-Philipp Wich [Thu, 18 Nov 2021 10:27:36 +0000 (11:27 +0100)]
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)

2 years agoluci-theme-bootstrap: further uci changelog style fixes
Jo-Philipp Wich [Wed, 17 Nov 2021 12:11:00 +0000 (13:11 +0100)]
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)

2 years agoluci-theme-bootstrap: fix uci changelog and readonly input styles
Jo-Philipp Wich [Tue, 16 Nov 2021 23:30:58 +0000 (00:30 +0100)]
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)

2 years agoluci-theme-bootstrap: overhaul styles
Jo-Philipp Wich [Sat, 13 Nov 2021 22:59:39 +0000 (23:59 +0100)]
luci-theme-bootstrap: overhaul styles

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 8055acc9be89f0bed31b6692ad08e6196611d478)

2 years agoluci-base: apply Browser/OS dark mode preference to index redirect page
Jo-Philipp Wich [Fri, 12 Nov 2021 09:37:49 +0000 (10:37 +0100)]
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)

2 years agoluci-base: luci.js: fix undefined variable access in Request.request()
Jo-Philipp Wich [Thu, 11 Nov 2021 18:55:18 +0000 (19:55 +0100)]
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)

2 years agoluci-mod-network: use firewall.getZoneColorStyle() in interface view
Jo-Philipp Wich [Thu, 11 Nov 2021 11:48:07 +0000 (12:48 +0100)]
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)

2 years agoluci-app-firewall: use firewall.getZoneColorStyle() in views
Jo-Philipp Wich [Thu, 11 Nov 2021 11:45:48 +0000 (12:45 +0100)]
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)

2 years agoluci-base: widget.js: use firewall.getZoneColorStyle() in zone widgets
Jo-Philipp Wich [Thu, 11 Nov 2021 11:43:56 +0000 (12:43 +0100)]
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)

2 years agoluci-base: firewall.js: add getZoneColorStyle() helper
Jo-Philipp Wich [Thu, 11 Nov 2021 11:39:41 +0000 (12:39 +0100)]
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)

2 years agoluci-base: add legacy directory, file and device validator JS stubs
Jo-Philipp Wich [Thu, 28 Oct 2021 13:08:35 +0000 (15:08 +0200)]
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)

2 years agoluci-mod-status: disable DSL status if not present
Jo-Philipp Wich [Thu, 28 Oct 2021 12:46:27 +0000 (14:46 +0200)]
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)

2 years agoluci-base: add "dsl" system feature
Jo-Philipp Wich [Thu, 28 Oct 2021 12:43:29 +0000 (14:43 +0200)]
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)

2 years agoluci-mod-network: support network.interface.sourcefilter
Vladislav Grigoryev [Mon, 20 Sep 2021 21:36:39 +0000 (00:36 +0300)]
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)

2 years agoprotocols: make APN option optional again
Jo-Philipp Wich [Thu, 19 Aug 2021 06:59:17 +0000 (08:59 +0200)]
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)

2 years agoluci-proto-ncm: add APN and PIN validation
Nicholas Smith [Sun, 27 Jun 2021 05:43:13 +0000 (15:43 +1000)]
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)

2 years agoluci-proto-qmi: add APN and PIN validation
Nicholas Smith [Fri, 11 Jun 2021 12:41:14 +0000 (22:41 +1000)]
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)

2 years agoluci-proto-3g: add APN and PIN validation
Nicholas Smith [Fri, 11 Jun 2021 12:40:30 +0000 (22:40 +1000)]
luci-proto-3g: 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 6a8ad40b057e6a7f0d3343ec06dbe487b352fe47)

2 years agoluci-proto-modemmanager: add APN and PIN validation
Nicholas Smith [Fri, 11 Jun 2021 12:19:40 +0000 (22:19 +1000)]
luci-proto-modemmanager: add APN and PIN validation

Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>
[squash commits, fix white space]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit ebb676ef7b03a7fed4062931be147d43d3855b64)

2 years agotreewide: Backport i18n translations
Hannu Nyman [Sun, 13 Feb 2022 10:21:17 +0000 (12:21 +0200)]
treewide: Backport i18n translations

Backport translations from master.
Sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agotreewide: Backport translations
Hannu Nyman [Sat, 5 Feb 2022 10:15:28 +0000 (12:15 +0200)]
treewide: Backport translations

Backport translations from master.
Sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agoluci-app-uhttpd: support 'organization' option
Hannu Nyman [Sat, 29 Jan 2022 14:58:08 +0000 (16:58 +0200)]
luci-app-uhttpd: support 'organization' option

Support the organization option, added in 2020.
Mention in help text that a random/unique value is used in
certificate generation if the organization option is empty.

Re-order the certificate items to logical order.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit e3fbfe99094cc27ea7ad551fea193bc67c201ef0)

2 years agoluci-base: explicitly invoke busybox applet for password change
Jo-Philipp Wich [Tue, 25 Jan 2022 21:56:56 +0000 (22:56 +0100)]
luci-base: explicitly invoke busybox applet for password change

Ensure to invoke the Busybox `passwd` applet to change the system password
in a non-interactive manner. Non-Busybox variants may not take the new
password input from stdin or use password hashes which are not supported
by musl's `crypt()` implementation by default.

Fixes: #5629
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 22e2bfb09667e167a93b5eca4487ac41669126d9)

2 years agoluci-app-openvpn: fix stray uci permission warning
Jo-Philipp Wich [Tue, 25 Jan 2022 21:39:48 +0000 (22:39 +0100)]
luci-app-openvpn: fix stray uci permission warning

The OpenVPN file view uses a dummy Map() instance to render the breadcrumb
template which triggers a uci permission error since the view is being
rendered by a form() action which does not set up the expected permission
flags. CBI Map() instances should only be used for cbi() dispatch targets.

Solve the issue by appending the breadcrumb template directly to the
SimpleForm() instance and by removing the redundant dummy Map() instance.

Fixes: #4370
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 18b1130711b6ff7aacba98034e2bd7f4893b33df)

2 years agotreewide: sync translations i18n, backport
Hannu Nyman [Sun, 23 Jan 2022 10:30:17 +0000 (12:30 +0200)]
treewide: sync translations i18n, backport

Backport translations from master and sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agoluci-base: sys: prevent path traversal via sys.init routines
Jo-Philipp Wich [Wed, 19 Jan 2022 15:32:52 +0000 (16:32 +0100)]
luci-base: sys: prevent path traversal via sys.init routines

Filter the init script name parameter through fs.basename() to avoid
invoking paths outside of /etc/init.d/.

Reported-by: Graham R <gr348@cam.ac.uk>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 8752701b0d01a81d0bd0a735be733f24ad11ab69)

2 years agoluci-mod-system: mention ED25519 keys
Jo-Philipp Wich [Wed, 19 Jan 2022 11:08:31 +0000 (12:08 +0100)]
luci-mod-system: mention ED25519 keys

Also update translations source strings accordingly.

Fixes: #5649
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit e0ff3ff933e39597cf4a158d237c7eebb359e1bd)

2 years agoluci-mod-network: fix reading back rpfilter configuration value
Jo-Philipp Wich [Fri, 7 Jan 2022 18:19:11 +0000 (19:19 +0100)]
luci-mod-network: fix reading back rpfilter configuration value

Fixes: #5635
Fixes: faad7464a8 ("luci-mod-network: add support for network.device sections")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 0ef82b3c581fca05521637421cfc4b516d9099a2)

2 years agoluci-app-https-dns-proxy: massive providers update
Stan Grishin [Mon, 3 Jan 2022 00:22:49 +0000 (00:22 +0000)]
luci-app-https-dns-proxy: massive providers update

* introduce 31 new providers
* uniform names (FQDNs) in provider files
* other minor fixes

Signed-off-by: Stan Grishin <stangri@melmac.ca>
(cherry picked from commit fae45215aa3a42b944270e0e75bfa1ba23e5702f)

2 years agotreewide: Backport translations - i18n
Hannu Nyman [Fri, 31 Dec 2021 10:54:33 +0000 (12:54 +0200)]
treewide: Backport translations - i18n

Sync translations and backport from master.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2 years agoMerge pull request #5620 from stangri/openwrt-21.02
Stan Grishin [Tue, 28 Dec 2021 22:44:34 +0000 (14:44 -0800)]
Merge pull request #5620 from stangri/openwrt-21.02

[21.02] luci-app-https-dns-proxy: add AhaDNS and minor fixes

2 years agoluci-app-https-dns-proxy: add AhaDNS and minor fixes
Stan Grishin [Tue, 28 Dec 2021 22:14:18 +0000 (22:14 +0000)]
luci-app-https-dns-proxy: add AhaDNS and minor fixes

* Add AhaDNS: thanks to @Jefe777 (account now deleted) and their PR at
  https://github.com/openwrt/luci/pull/5612
* Update email addresses
* Add missing new line to ControlD files
* Add RPCD reload to uci-defaults file

Signed-off-by: Stan Grishin <stangri@melmac.ca>
(cherry picked from commit da3bb1e80bc98f90d1128f332fc5ceecc20bf6d5)

2 years agoluci.js: remove unsafe fallback code from dom.parse()
Jo-Philipp Wich [Thu, 23 Dec 2021 16:09:13 +0000 (17:09 +0100)]
luci.js: remove unsafe fallback code from dom.parse()

Do not fallback to .innerHTML if DOMParser() failed for whatever reason.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 63d9bcb6825fac92fd7dfa4ba858c8d5aafa23e8)

2 years agoluci-base: form.js: do not execute embedded script code in stripTags()
Jo-Philipp Wich [Thu, 23 Dec 2021 16:06:09 +0000 (17:06 +0100)]
luci-base: form.js: do not execute embedded script code in stripTags()

Instead of relying on .innerHTML which executes embedded script code to
parse a given HTML fragment, use dom.parse() which utilizies DOMParser()
internally in order to extract textContent in a safe manner.

Fixes: FS#4199
Ref: https://bugs.openwrt.org/index.php?do=details&task_id=4199
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 993151504e8e810c083d3257555bdcdc2f00673a)

3 years agotreewide: i18n - backport translations
Hannu Nyman [Sat, 18 Dec 2021 07:59:57 +0000 (09:59 +0200)]
treewide: i18n - backport translations

Backport translations from master. Sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
3 years agoluci-app-ddns: Fix Domain Tooltip in ddns form
Claudio Mezzasalma [Tue, 18 May 2021 08:27:50 +0000 (10:27 +0200)]
luci-app-ddns: Fix Domain Tooltip in ddns form

Signed-off-by: Claudio Mezzasalma <claudio.mezzasalma@gmail.com>
(cherry picked from commit 6d782d2bd2fadfc0968540f0c78f05db53334513)

3 years agotreewide: Backport translations from master - i18n
Hannu Nyman [Fri, 10 Dec 2021 17:15:18 +0000 (19:15 +0200)]
treewide: Backport translations from master - i18n

Backport and sync translations.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
3 years agoMerge pull request #5576 from BKPepe/login-syslog
Florian Eckert [Mon, 6 Dec 2021 13:36:12 +0000 (14:36 +0100)]
Merge pull request #5576 from BKPepe/login-syslog

[21.02] luci-base: send failed/successfull login to syslog

3 years agoluci-app-statistics: re-order CPU utilization graph classes
Hannu Nyman [Sat, 4 Dec 2021 19:18:39 +0000 (21:18 +0200)]
luci-app-statistics: re-order CPU utilization graph classes

Reorder the CPU utilization classes to be in a more logical order
(from hardware toward user) instead of alphabetical order.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit f4dd8b6413cfd8f2f9093993b6ef396ca3dcef01)

3 years agoluci-app-transmission: make menu node depend on corresponding ACL
Jo-Philipp Wich [Fri, 3 Dec 2021 23:22:12 +0000 (00:22 +0100)]
luci-app-transmission: make menu node depend on corresponding ACL

Fixes: #5577
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 2ef810062b67605f86f28eb608885b64c88a127d)

3 years agoluci-base: send failed/successfull login to syslog
Jan Pavlinec [Fri, 12 Mar 2021 15:24:52 +0000 (16:24 +0100)]
luci-base: send failed/successfull login to syslog

Note: This change is relevant for systems that don't
use uhttpd for LuCI.
This log can be later used for fail2ban etc.

Signed-off-by: Jan Pavlinec <jan.pavlinec@nic.cz>
(cherry picked from commit be8d749599a11229435141d85cfe5eba2dcf96d2)

3 years agoluci-mod-network: fix loading ra_mtu and ra_hoplimit options
Jo-Philipp Wich [Wed, 1 Dec 2021 22:08:19 +0000 (23:08 +0100)]
luci-mod-network: fix loading ra_mtu and ra_hoplimit options

Fixes: #5565
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit d19d717de241fccb655cb9651f3b10e998dd62c3)

3 years agoluci-mod-network: allow IPv6 dns, dns_service and domain for RA only mode
Jo-Philipp Wich [Wed, 1 Dec 2021 22:18:35 +0000 (23:18 +0100)]
luci-mod-network: allow IPv6 dns, dns_service and domain for RA only mode

Fixes: #5564
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 5f98f8cac4ebf7d952d71d44f6a2791c769ab907)

3 years agoluci-app-statistics: increase default amount of data items in RRD
Hannu Nyman [Sun, 28 Nov 2021 18:18:00 +0000 (20:18 +0200)]
luci-app-statistics: increase default amount of data items in RRD

Increase the default number of data items in the RRD database
from 144 to 288. This leads to smaller summarising/averaging periods,
visible especially in the day & week graphs. The averaging intervals
will be: 30s, 5min, 35min, 2h35min, 1d6h30min

(Note: this change only applies in a live router if the RRD database is
empty. E.g after reboot or after emptying the RRD database dir.)

Reference to discussion at #4065

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit c21c6668edfc5154070660afa80153caad6565f7)

3 years agotreewide: i18n backport translations
Hannu Nyman [Sat, 27 Nov 2021 07:24:05 +0000 (09:24 +0200)]
treewide: i18n backport translations

Backport translations from master.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
3 years agoluci-base: cbi.js: properly handle falsy values in cbi_update_table()
Jo-Philipp Wich [Tue, 23 Nov 2021 18:11:34 +0000 (19:11 +0100)]
luci-base: cbi.js: properly handle falsy values in cbi_update_table()

Fixes: #5544
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit e982c05671229b3d13622b38c9536812e8c5f05c)

3 years agoMerge pull request #5534 from stangri/openwrt-21.02
Stan Grishin [Sat, 20 Nov 2021 20:26:31 +0000 (12:26 -0800)]
Merge pull request #5534 from stangri/openwrt-21.02

[21.02] luci-app-https-dns-proxy: Add HE.net DNS

3 years agoluci-app-https-dns-proxy: Add HE.net DNS
Paul Dee [Tue, 2 Nov 2021 14:53:42 +0000 (15:53 +0100)]
luci-app-https-dns-proxy: Add HE.net DNS

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit a25d56c28d7437f4755b465983678fca0b76c0cc)

3 years agoluci-app-rosy-file-server: drop
Josef Schlehofer [Sat, 20 Nov 2021 14:43:34 +0000 (16:43 +0200)]
luci-app-rosy-file-server: drop

This package was marked as broken [1], so it's time to remove it.
As package rosy-file-server will be dropped soon [2].

Reasons:
1. it's broken (and package requires LuCI, which was marked as broken,
   thus it is useless)
2. maintainer is inactive
3. maintainer's company does not seem to work.

[1] https://github.com/openwrt/luci/commit/34b682afac310859f0d4696110d8a1af60f16c04
[2] https://github.com/openwrt/packages/pull/17031

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit ec5e336e553d3cbefe7274437cd1838494913529)

3 years agotreewide: backport Danish translations
Hannu Nyman [Sat, 20 Nov 2021 09:12:22 +0000 (11:12 +0200)]
treewide: backport Danish translations

Backport Danish translations from master.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
3 years agotranslation: add Danish to luci.mk
Hannu Nyman [Sat, 20 Nov 2021 08:22:39 +0000 (10:22 +0200)]
translation: add Danish to luci.mk

Define Dansk/Danish language in luci.mk.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 887d8a8fd00be57e29dfea08cc98f0d96186d637)

3 years agotreewide: Backport translations - i18n
Hannu Nyman [Sat, 20 Nov 2021 08:19:36 +0000 (10:19 +0200)]
treewide: Backport translations - i18n

Backport translations and sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
3 years agoluci-theme-bootstrap: don't overwrite theme selection upon install
Jo-Philipp Wich [Tue, 16 Nov 2021 12:11:45 +0000 (13:11 +0100)]
luci-theme-bootstrap: don't overwrite theme selection upon install

Revert to the previous uci-defaults behaviour of only setting the
selected theme to Bootstrap if the Bootstrap entry didn't exist yet
in the configuration.

Ref: https://forum.openwrt.org/t/luci-theme-behaviour-change/112047
Fixes: ed86f03a9f ("luci-theme-bootstrap: add explicit dark/light mode selection")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 0bc09cc749439e233afdf9cd71c14f67090a3a07)

3 years agotreewide: Backport i18n translations
Hannu Nyman [Thu, 11 Nov 2021 19:42:14 +0000 (21:42 +0200)]
treewide: Backport i18n translations

Backport translations from master.
Sync.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
3 years agoluci-base: network.js: ignore wireless ifname patterns on retrieving devices
Jo-Philipp Wich [Wed, 10 Nov 2021 10:51:42 +0000 (11:51 +0100)]
luci-base: network.js: ignore wireless ifname patterns on retrieving devices

Only treat the given identifier as Linux netdev name if we can find a
corresponding entry in the device info cache and do not consider strings
starting with "wlan", "ath" or "wl" to be existing devices.

This fixes incorrectly adding wireless sections as ifnames to network
interfaces when the wifi-iface section name begins with one of the
`iface_patterns_wireless` patterns.

Fixes: #5069
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit d4092b15ce92cda2d7711b57b2251ebebef32b5c)

3 years agoluci-base: tools.widgets: adjust zone selector dropdown markup
Jo-Philipp Wich [Mon, 8 Nov 2021 19:44:59 +0000 (20:44 +0100)]
luci-base: tools.widgets: adjust zone selector dropdown markup

No functional changes but required for styling rules.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 7fba52de91afc60a49345a75b805ff73f18f6f26)

3 years agoluci-app-firewall: adjust zone badge markup
Jo-Philipp Wich [Mon, 8 Nov 2021 19:37:56 +0000 (20:37 +0100)]
luci-app-firewall: adjust zone badge markup

No functional changes but required for styling rules.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 01eb86f4fc105514f67fbefbcd2ac180e02ab78b)

3 years agoluci-app-opkg: fix filter reset link action
Jo-Philipp Wich [Mon, 8 Nov 2021 19:23:34 +0000 (20:23 +0100)]
luci-app-opkg: fix filter reset link action

Fixes: #5497
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 02398a33837d1fe8fd23d933ad7ac32025144805)

3 years agoluci-theme-bootstrap: light/dark mode releated CSS fixes
Jo-Philipp Wich [Mon, 8 Nov 2021 08:56:33 +0000 (09:56 +0100)]
luci-theme-bootstrap: light/dark mode releated CSS fixes

 - Fix progress bar shadow in light mode
 - Fix color schema preference in light and dark modes

Fixes: #5498
Fixes: #5499
Fixes: ed86f03a9f ("luci-theme-bootstrap: add explicit dark/light mode selection")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit f16a2f3fbae0c527af812388390cc1bebe8d7eb3)

3 years agoluci-theme-bootstrap: add explicit dark/light mode selection
Jo-Philipp Wich [Sun, 7 Nov 2021 10:04:52 +0000 (11:04 +0100)]
luci-theme-bootstrap: add explicit dark/light mode selection

Register two further "virtual" themes called BootstrapDark and
BootstrapLight which force dark and light mode respectively.

The actual Bootstrap theme itself will continue to auto-select
dark mode preference based on OS/Browser preference settings.

Fixes: #5492
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit ed86f03a9f7c2f58a9111f925bb81303596b394b)

3 years agoluci-app-statistics: trivial fix of wrong varible name
Martin Schitter [Fri, 5 Nov 2021 18:05:56 +0000 (19:05 +0100)]
luci-app-statistics: trivial fix of wrong varible name

Signed-off-by: Martin Schitter <ms+git@mur.at>
[Fixed the commit title]
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit b0279f474e983e6e46e5b58df1332bf697d32a87)

3 years agoluci-mod-system: add missing require to `none` led trigger class
Jo-Philipp Wich [Sun, 31 Oct 2021 21:26:42 +0000 (22:26 +0100)]
luci-mod-system: add missing require to `none` led trigger class

Also convert ES6 to ES5 syntax while we're at it.

Fixes: #5476
Fixes: 5b42cd5b46 ("luci-mod-system: move default option from defaul-on trigger to none trigger")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit fceabd74465f2aafc40edc084429f30837deff2c)

3 years agotimezone data: update to 2021e
Hannu Nyman [Thu, 28 Oct 2021 18:24:18 +0000 (21:24 +0300)]
timezone data: update to 2021e

Update timezone data to 2021e.

http://mm.icann.org/pipermail/tz-announce/2021-September/000066.html
* Jordan now starts DST on February's last Thursday.
* Samoa no longer observes DST.
* Rename Pacific/Enderbury to Pacific/Kanton.

http://mm.icann.org/pipermail/tz-announce/2021-October/000068.html
* Fiji will suspend observance of DST for the 2021/2022 season.

http://mm.icann.org/pipermail/tz-announce/2021-October/000069.html
* Palestine will fall back 10-29 (not 10-30)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 0740023a3c44ebfb47126b8c9bb4e9a20985aa55)