project/luci.git
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 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)

3 years agoluci-mod-system: move default option from defaul-on trigger to none trigger
Florian Eckert [Thu, 28 Oct 2021 13:43:50 +0000 (15:43 +0200)]
luci-mod-system: move default option from defaul-on trigger to none trigger

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

3 years agorpcd-mod-luci: parse prefix size from DHCPv6 leases
Jo-Philipp Wich [Tue, 26 Oct 2021 17:27:36 +0000 (19:27 +0200)]
rpcd-mod-luci: parse prefix size from DHCPv6 leases

Remember the prefix size when parsing odhcpd lease entries and expose
it in the ip6addrs array.

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

3 years agotreewide: i18n - Backport translations
Hannu Nyman [Tue, 26 Oct 2021 15:09:56 +0000 (18:09 +0300)]
treewide: i18n - Backport translations

Backport translations from master.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
3 years agoMerge pull request #5460 from PolynomialDivision/21-02-dawn
Jo-Philipp Wich [Tue, 26 Oct 2021 07:10:24 +0000 (09:10 +0200)]
Merge pull request #5460 from PolynomialDivision/21-02-dawn

3 years agoluci-app-dawn: remove page for steering options
Nick Hainke [Sat, 9 Oct 2021 07:57:49 +0000 (09:57 +0200)]
luci-app-dawn: remove page for steering options

The luci-app-dawn is blocking the PR to be merged:
https://github.com/openwrt/packages/pull/16299

Remove the configuration page and set appropriate standard values.

Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 4a78122246d0991e4a952315c21e4c4e98538f43)

3 years agoluci-theme-bootstrap: work around csstidy bug
Jo-Philipp Wich [Mon, 25 Oct 2021 21:59:02 +0000 (23:59 +0200)]
luci-theme-bootstrap: work around csstidy bug

Ref: https://github.com/openwrt/luci/commit/26047fb967f079000ab61c7377f8e26e11277569#commitcomment-58638390
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 37e40e04ef04307660c35eb089deb6cbde17d660)

3 years agoluci-theme-bootstrap: fix overlay display failures
Paul Dee [Thu, 7 Oct 2021 14:26:06 +0000 (16:26 +0200)]
luci-theme-bootstrap: fix overlay display failures

Fixed overlay display failures for users on mobile, or users who booted
up in safe mode XD. Noticeable when vertical or horizontal real-estate
is too small for the displayed overlay.

This failure is most evident when you "edit" an interface, or display
your unsaved changes.

When content is wider than the screen view, the table hugs the (widest)
content maximally, and the overlay window becomes scrollable.

Disabled -webkit-overflow-scrolling, left, and right, because both FF
and Safari disable them as invalid anyway.

Signed-off-by: Paul Dee <systemcrash@users.noreply.github.com>
[Merge duplicate modal declarations, remove not applicable modal
 flexbox properties]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit d1035c1f6907ecf3fba510551f1878f4c6cb3d72)

3 years agoluci-theme-bootstrap: fix header width
Jo-Philipp Wich [Mon, 25 Oct 2021 17:39:08 +0000 (19:39 +0200)]
luci-theme-bootstrap: fix header width

Fixes: 588e24f9ca ("luci-theme-bootstrap: various tweaks and cleanups")
Ref: https://github.com/openwrt/luci/commit/588e24f9ca68de074c4d085ec99fd8c96ad0a3ed#r58625289
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 8fc78a26da9ee95b2479213083efa750173291d2)

3 years agoluci-app-statistics: fix process graph tab captions
Jo-Philipp Wich [Fri, 22 Oct 2021 22:29:52 +0000 (00:29 +0200)]
luci-app-statistics: fix process graph tab captions

Plugins that provide both detail and non-detail instances led to a mismatch
between the instance list to render and the plugin instance list, causing
tab captions to be wrongly assigned.

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

3 years agoluci-base: remove further related section types on deleting network
Jo-Philipp Wich [Fri, 22 Oct 2021 17:44:43 +0000 (19:44 +0200)]
luci-base: remove further related section types on deleting network

When removing a `config interface` section in `/etc/config/network`, drop
related `rule` and `rule6` sections too, as well as related `dhcp` sections
in `/etc/config/dhcp`.

Ref: https://forum.openwrt.org/t/grooming-etc-config/109764/7
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 63034c36073bedf87db18d05d3fe8cca016c6490)

3 years agoluci-mod-network: remove related bridge-vlan sections on deleting device
Jo-Philipp Wich [Fri, 22 Oct 2021 17:17:42 +0000 (19:17 +0200)]
luci-mod-network: remove related bridge-vlan sections on deleting device

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

3 years agoluci-theme-bootstrap: various tweaks and cleanups
Jo-Philipp Wich [Fri, 8 Oct 2021 22:30:48 +0000 (00:30 +0200)]
luci-theme-bootstrap: various tweaks and cleanups

 - introduce new variable --text-color-highest which results in #000/#fff
   for bright and dark modes respectively
 - drop unused navigation style rules and selectors
 - use sticky positioning for header bar and drop top margin hacks
 - use flex box layout for header bar contents
 - use uniform line-height for button elements instead of pixel paddings
 - fix too bright .cbi-value bottom border in mobile dark mode
 - avoid rendering duplicate .cbi-value bottom borders for nested sections
 - simplify header markup, get rid of unused container elements
 - use non-wrapping flex box layout for page actions, prioritize primary
   action button in automatic width calculation
 - fix border radius of ifacebox headers
 - use brightest color for log output textareas
 - fix dark mode colors for mode menu
 - use flex layout for footer

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

3 years agoluci-mod-network: spelling / grammar
Paul Dee [Wed, 6 Oct 2021 23:00:24 +0000 (01:00 +0200)]
luci-mod-network: spelling / grammar

"Setup" is a noun, the thing. "Set up" is a verbal idiom, the action.

One cannot setup a DHCP server, just as one cannot fuckup a test, or
ripup some paper. One can, however, set a DHCP server up, and one can
fuck a test up, and rip some paper up.

Signed-off-by: Paul Dee <systemcrash@users.noreply.github.com>
(cherry picked from commit c0299e2c3d09c48b515447b2c6fefd00ffd2950b)

3 years agoluci-base: cbi.js: use IEC 80000-13 units to format base 2 byte values
Jo-Philipp Wich [Fri, 8 Oct 2021 18:52:52 +0000 (20:52 +0200)]
luci-base: cbi.js: use IEC 80000-13 units to format base 2 byte values

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

3 years agoluci-app-smartdns: explicitly require `view` class
Jo-Philipp Wich [Fri, 8 Oct 2021 17:55:39 +0000 (19:55 +0200)]
luci-app-smartdns: explicitly require `view` class

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

3 years agoluci-theme-bootstrap: rework uci changelog styling
Jo-Philipp Wich [Fri, 8 Oct 2021 17:20:34 +0000 (19:20 +0200)]
luci-theme-bootstrap: rework uci changelog styling

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

3 years agoluci-theme-bootstrap: add dark theme variant
Teoh Han Hui [Wed, 15 Sep 2021 20:34:11 +0000 (04:34 +0800)]
luci-theme-bootstrap: add dark theme variant

Add a dark theme variant which is enabled by default when
prefers-color-scheme is set to dark.

Signed-off-by: Teoh Han Hui <teohhanhui@gmail.com>
(cherry picked from commit 6dd71eaebeb44df321c8c39da916082a0cde3285)

3 years agoluci-theme-openwrt-2020: add styling of hyperlinks
Petr Štetiar [Tue, 15 Dec 2020 08:10:39 +0000 (09:10 +0100)]
luci-theme-openwrt-2020: add styling of hyperlinks

Currently it's not possible to distinguish between normal text and
hyperlink.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 60fbadfa36f9b99a536fe29482960b7f48838bd1)

3 years agoluci-theme-openwrt-2020: add styling of abbreviations and acronyms
Petr Štetiar [Mon, 14 Dec 2020 11:53:01 +0000 (12:53 +0100)]
luci-theme-openwrt-2020: add styling of abbreviations and acronyms

Style abbreviations and acronyms with dotted underline text-decoration
as without the style it's quite hard to find out which text is
abbreviation or acronym.

References: https://developer.mozilla.org/en-US/docs/Archive/Web_Standards/Styling_Abbreviations_and_Acronyms
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit b5faba12442529d282668268aee0d54bd98f1419)

3 years agofix wrong ed25519 information
Rosen Penev [Sat, 11 Sep 2021 07:05:42 +0000 (00:05 -0700)]
fix wrong ed25519 information

ECDH is not used for the ed25519. The scheme is called EdDSA.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit 738f36a1c31eda6d322e18c1b7fca4b6498e46a9)

3 years agoluci-theme-material: fix cut syslog
Ansuel Smith [Sat, 4 Sep 2021 16:56:36 +0000 (18:56 +0200)]
luci-theme-material: fix cut syslog

Remove line-height css for syslog textarea as it cause some
problem with displaying all the rows of the syslog.
(Row line are calculated with a line-height of 1)

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
(cherry picked from commit a9ff8d34687b0bcec4e7766576da3b4cb3feda67)

3 years agoluci-theme-material: improve support for dashboard module
Ansuel Smith [Fri, 3 Sep 2021 19:05:53 +0000 (21:05 +0200)]
luci-theme-material: improve support for dashboard module

Fix sidebar styling to improve support for dashboard module.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
(cherry picked from commit 78de736a95d7eab0ccbd9753efc516dfc0e4a995)

3 years agoluci-theme-material: add support for modmenu
Ansuel Smith [Wed, 11 Aug 2021 15:15:08 +0000 (17:15 +0200)]
luci-theme-material: add support for modmenu

Improve support for modmenu.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
(cherry picked from commit 05d100442bbdb18c57a768abddad3221a3fd22a0)

3 years agoksmbd: fix the layout of textbox
Fritz D. Ansel [Thu, 12 Aug 2021 04:48:09 +0000 (06:48 +0200)]
ksmbd: fix the layout of textbox

without this, only 50% of screen where used
also show version only 1 time if Ksmbd/Kmod
versions match

Signed-off-by: Fritz D. Ansel <fdansel@yandex.ru>
(cherry picked from commit a624647c2a5dec79b5e4869144ec91f31861225c)

3 years agosamba4: fix the layout of textbox
Fritz D. Ansel [Wed, 11 Aug 2021 22:23:07 +0000 (00:23 +0200)]
samba4: fix the layout of textbox

without this, only 50% of screen where used

Signed-off-by: Fritz D. Ansel <fdansel@yandex.ru>
(cherry picked from commit f533f9d2258578a7536bcada54f7ca9a5cfe8a55)

3 years agoluci-theme-material: standardize menu and drop jquery
Ansuel Smith [Wed, 11 Aug 2021 15:13:02 +0000 (17:13 +0200)]
luci-theme-material: standardize menu and drop jquery

- Drop jquery lib
- Move to the new menu.js implementation
- Rework css to mimic old js transition
- Rework footer and header to new implementation

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
(cherry picked from commit 031424c0d31b726d445bbb824373661ca1b9a905)