Jo-Philipp Wich [Fri, 11 Jun 2021 08:18:10 +0000 (10:18 +0200)]
luci-mod-network: add port status to bridge vlan filter matrix
Also ensure that port devices are ordered numerically.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
8c71b1d01ee234c5681684e9aae5f63dbe9ebb07)
Jo-Philipp Wich [Sat, 12 Jun 2021 16:41:40 +0000 (18:41 +0200)]
luci-base: network.js: add link status information accessors
Fixes: #5121
Fixes: 8c71b1d01e ("luci-mod-network: add port status to bridge vlan filter matrix")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
1bcb12570c3b6f26009801ee6006b2ab305d088f)
Jo-Philipp Wich [Fri, 11 Jun 2021 06:28:31 +0000 (08:28 +0200)]
lucihttp: update to latest Git HEAD
Fixes compilation under 32bit systems by using the proper printf format
specifier for size_t values.
Also fixes compilation with Ninja by appending instead of
overwriting CMAKE_OPTIONS.
Fixes: #5116
Suggested-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
d1fc11d852262bacb650a49782dbce0c8cbd572a)
Jo-Philipp Wich [Wed, 9 Jun 2021 17:18:04 +0000 (19:18 +0200)]
rpcd-mod-luci: add link details to ubus netdev information
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
113c0b0d26b2f60c38a605732ce4c0fb3bdfc7dc)
Jo-Philipp Wich [Wed, 9 Jun 2021 19:55:14 +0000 (21:55 +0200)]
luci-mod-network: fix horizontal scrolling in the bridge vlan filter matrix
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
ded6e53bcdb9c484f99779fffa20a37bc6d70c3c)
Jo-Philipp Wich [Wed, 9 Jun 2021 19:45:13 +0000 (21:45 +0200)]
luci-base: ui.js: determine dropdown position relative to overflow parent
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
e3bf521edbd0c6f59aba9aa9a89a9d96e1da3fd2)
Lukasz Baj [Fri, 16 Apr 2021 17:36:43 +0000 (19:36 +0200)]
luci-mod-status: fix NaN errors in realtime graphs
When I use Realtime Graphs I see following NaN errors:
Error: <polyline> attribute points: Expected number, "0,298 0,NaN 5,NaN 10,NaN…".
Error: <polyline> attribute points: Expected number, "0,298 0,NaN 5,NaN 10,NaN…".
wireless.js?v=git-21.105.40538-
2da37c2:19 Error: <polyline> attribute points: Expected number, "0,298 0,NaN 5,NaN 10,NaN…".
eval @ wireless.js?v=git-21.105.40538-
2da37c2:19
Promise.then (async)
eval @ wireless.js?v=git-21.105.40538-
2da37c2:8
step @ luci.js?v=git-21.105.40538-
2da37c2:91
start @ luci.js?v=git-21.105.40538-
2da37c2:87
add @ luci.js?v=git-21.105.40538-
2da37c2:82
pollData @ wireless.js?v=git-21.105.40538-
2da37c2:7
render @ wireless.js?v=git-21.105.40538-
2da37c2:24
Promise.then (async)
__init__ @ luci.js?v=git-21.105.40538-
2da37c2:148
super @ luci.js?v=git-21.105.40538-
2da37c2:22
Anonymous42Class @ luci.js?v=git-21.105.40538-
2da37c2:12
(anonymous) @ luci.js?v=git-21.105.40538-
2da37c2:181
Promise.then (async)
compileClass @ luci.js?v=git-21.105.40538-
2da37c2:177
Promise.then (async)
require @ luci.js?v=git-21.105.40538-
2da37c2:183
instantiateView @ ui.js?v=git-21.105.40538-
2da37c2:311
(anonymous) @ wireless:47
Promise.then (async)
(anonymous) @ wireless:46
Signed-off-by: Lukasz Baj <l.baj@celerway.com>
[adjust subject]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
c6a5c809ed1fb050d257cf6273b8bc832babfa9b)
Jo-Philipp Wich [Wed, 9 Jun 2021 09:01:36 +0000 (11:01 +0200)]
luci-mod-network: interfaces.js: fix ifname migration in device sections
The migration code attempted to add new device sections instead of moving
the ifname option to a ports list within the existing ones.
Fixes: #5108
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
e13d82a202975bd9ac5eca380049b887cb1d585d)
Jo-Philipp Wich [Wed, 9 Jun 2021 08:22:38 +0000 (10:22 +0200)]
luci-mod-network: interfaces: show bridge port device icons again
Restore the display of bridge port device icons in the interface overviews.
This feature has been lost after migrating the network config from legacy
bridge declarations to device bridge declarations.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
608f89429b4b8537ddaefd070c777a6d4fb1c7a1)
Jo-Philipp Wich [Wed, 9 Jun 2021 07:59:15 +0000 (09:59 +0200)]
luci-mod-network: support newer wireless.wifi-device.band option
OpenWrt switched from "option hwmode" to "option band" in order to select
the frequency band to use for the radio phy.
Extend the channel selector to recognize and use an existing "option band"
to select the appropriate channel list. When operating upon a wireless
configuration still using "option hwmode", then translate it to a band
value internally and translate it back to "option hwmode" on save.
This should provide forward- and backwards compatibility with both current
OpenWrt master and older versions still using hwmode.
Fixes: #5106
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
0829d31290e7c902743fbd86ea91b06ee90c6e42)
Jo-Philipp Wich [Sat, 5 Jun 2021 16:41:39 +0000 (18:41 +0200)]
luci-mod-network: allow device declarations and device configs to coexist
It is legal to have two device sections referring to the same netdev if one
section is a declaration (a section setting option type) and the other is
a configuration (a section not specifying a type but matching an existing
netdev).
Support this case in LuCI since it might be required for some complex
device setups.
Additionally, fix the device type determination for device configuration
sections without type, those should be treated as ethernet (a.k.a.
simple device) configuration instead of falling back to the underlying
netdev device type.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
a6c0ad00b28a5d3f91338b50f7e69fbd45f2154e)
David Bauer [Sat, 5 Jun 2021 14:21:42 +0000 (16:21 +0200)]
luci-base: add 11ax HW / HT modes
Add the known values returned for 802.11ax HW as well as HT modes to the
respective method descriptions.
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit
4b17f8baa3574527dc6ab8914fd322a08cb9784c)
David Bauer [Tue, 20 Apr 2021 15:42:02 +0000 (17:42 +0200)]
luci-mod-network: add 802.11ax HE support
This commit adds the ability to configure HE-modes for radios
(HE20 / HE40 / HE80 / HE160) as well as HE rate information in the
assiciation view.
Tested-on: Ubiquiti UniFi 6 Lite / LR
Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit
f35e877dc65c727a6ce7f7972a5be4d15921827b)
Jo-Philipp Wich [Sat, 5 Jun 2021 14:16:14 +0000 (16:16 +0200)]
luci-mod-interfaces: simplify configuring MAC address of 802.1q devices
Treat not explicitly configured, preexisting VLAN interfaces as simple
network devices when adding configuration for them, since it is more
likely that people want to set general device properties such as MAC
address instead of reconfiguring ingress/egress QoS mapping, which is
the only editable property of preexisting VLAN device config dialogs.
Ref: https://github.com/openwrt/luci/issues/5102
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
3c6b59504aaa6ee33a2ee768aafc0aeaefb06004)
Jo-Philipp Wich [Tue, 1 Jun 2021 20:23:09 +0000 (22:23 +0200)]
luci-mod-network: interfaces: restructure DHCPv6 and IPv6 RA options
- Condense overly large IPv6 RA/DHCPv6 description texts and get rid of most embedded markup
- Switch ra/ndp/dhcpv6 mode selections to rich dropdown lists and move extended choice
descriptions next to the selection options
- Drop ndproxy_static option which has been removed from odhcpd long ago
- Add format validations to all text input fields
- Add ability to configure master/relay modes for non-static interfaces (#2998)
- Move extended RA configuration options into a new tab
- Prevent enabling master mode on multiple interfaces
- Prevent enabling ra/dhcpv6 server mode on non-static or master interfaces
- Drop ra_management in favor to ra_flags option (#5083)
- Add support for dns_service option
- Read current effective IPv6 MTU and hop limit placeholder values from procfs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
3fbd4338846e8229935b54256a3a541a3e15d8bd)
Jo-Philipp Wich [Thu, 3 Jun 2021 08:03:48 +0000 (10:03 +0200)]
luci-app-firewall: further luci-rpc/getHostHints compatibility fixes
Rework some further code instances to fall back to the legacy ipv4/ipv6
properties if needed.
Fixes: c7b7b42cd3 ("treewide: Update JS using luci-rpc getHostHints")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
dc0cfc642e42eefcac91bb965f9aa612089fad5d)
Jo-Philipp Wich [Wed, 2 Jun 2021 18:35:32 +0000 (14:35 -0400)]
luci-proto-wireguard: fix fwmark validation to allow 32 bit values
The iptables mark field is 32 bits wide, which is 4 bytes and so 8 hex
characters. Fix the fwmark validation to allow 8 characters in the hex
string.
Fixes: #5098
Suggested-by: Robert <32970961+differentblue@users.noreply.github.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
bc1015f7db57506b2468846f79dbd5bfe0dbea7a)
Jo-Philipp Wich [Wed, 2 Jun 2021 09:54:42 +0000 (11:54 +0200)]
luci-base: network.js: sorting fixes
Ensure that sort callbacks consistently return [-N .. 0 .. +N] values
instead of just true/false.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
e35041e0a8edcf039d62a74cbc5e0f4043d04029)
Niels Widger [Wed, 31 Mar 2021 12:23:12 +0000 (08:23 -0400)]
treewide: Update JS using luci-rpc getHostHints
Update frontend JS code which uses luci-rpc getHostHints to support the new
response format which removes the `ipv4` and `ipv6` host hint string fields
and replaces them with `ipaddrs` and `ip6addrs` weighted string list fields.
Signed-off-by: Niels Widger <niels@qacafe.com>
[rework code to be forwards/backwards compatible, fix some Network.Hosts
methods, fix IP choice ordering, change commit subject, rewrap commit
message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
c7b7b42cd3840cfd67f412191578a8659eb63c87)
Niels Widger [Mon, 1 Mar 2021 19:33:33 +0000 (14:33 -0500)]
rpcd-mod-luci: Return array of addresses in getHostHints
Update luci-rpc's getHostHints method to return two string arrays for
each host, `ipaddrs` and `ip6addrs`, each containing the host's IPv4
and IPv6 addresses, respectively. Each array is sorted by a priority
derived from the source from which the address was discovered. The
current address sources and their priority is as follows (a
higher (larger) priority is listed first):
- neighbor table entries: 10
- /etc/ethers entries: 50
- DHCP leasefile: 100
- RRDNS queries: 100
- getifaddrs(): 200
- UCI static leases: 200
The existing `ipv4` and `ipv6` string fields for each host in
`getHostHints` has been removed. Downstream users of getHostHints
still need to be updated.
Fixes: #4838
Signed-off-by: Niels Widger <niels@qacafe.com>
[squash commits, reformat fixes tag]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
a5195e7825cbbc3942ca6e571ae0020c1cf080c4)
Jo-Philipp Wich [Tue, 1 Jun 2021 13:31:44 +0000 (15:31 +0200)]
protocols: rename "device" option to "_modem_device"
This is required to resolve clashes with the generic "option device"
referring to netdev names in current netifd versions.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
96ee6dc8d6c9796ab67de6f313a068a4bd3bb20f)
Jo-Philipp Wich [Tue, 1 Jun 2021 13:27:24 +0000 (15:27 +0200)]
luci-mod-network: rename "device" option to "_net_device" internally
This is required to resolve conflicts with the existing "device" option
in other proto handlers such as PPP or QMI where "device" refers to the
device path of the tty control device instead of a netdev name.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
10f02472c5fdab72615a7d3695e8f354811cd661)
Jo-Philipp Wich [Tue, 1 Jun 2021 13:25:24 +0000 (15:25 +0200)]
luci-mod-network: clarify device settings reset button tooltip
Ref: #5090
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
26e21d43b5402d0c20bd2222429629c164968668)
Jo-Philipp Wich [Tue, 1 Jun 2021 12:45:42 +0000 (14:45 +0200)]
luci-base: form.js: consider aliased options in AbstractValue.remove()
If different options point to the same underlying uci option, we must only
remove the uci value if none of the other alias options is active in order
to prevent inactive options (due to unsatisfied depends) removing the uci
value of active once on save.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
f3f74bd0fe66b94a99a8d944b63dcd6bdd1b93c6)
Jo-Philipp Wich [Tue, 1 Jun 2021 12:35:31 +0000 (14:35 +0200)]
luci-mod-network: don't accidentally reset macvlan device names
Fixes: #5081
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
671c94b034db9d7470d5f1e681b919158de205f6)
Jo-Philipp Wich [Tue, 1 Jun 2021 09:14:58 +0000 (11:14 +0200)]
luci-theme-bootstrap: add svg help icon to form field descriptions
The still referenced help.gif icon is absent by default since it has been
moved to luci-compat.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
69608199973651baf585d24a095edf8c0c42e21f)
Jo-Philipp Wich [Mon, 31 May 2021 12:00:51 +0000 (14:00 +0200)]
luci-mod-network: make device selector dependent on protocol (again)
This commit effectively reverts the change made with
907b4222f7 ("luci-mod-network: don't hide "Device" on protocol change").
Floating tunnel protocols such as 6in4, plain PPP over modem device,
VPNC etc. do not have any layer 2 device at all, for such protocols the
device selector should be hidden.
Also swap back the incorrect option order introduced with commit
b7f3cf66ca ("luci-mod-network: drop support for *adding* legacy bridges").
Since device depends on proto, it should come after the protocol selection,
not before.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
fc12933670ba9efd87a24b6823cf57a666b54c1a)
Jo-Philipp Wich [Mon, 31 May 2021 09:50:56 +0000 (11:50 +0200)]
luci-mod-network: fix device dependencies in add interface dialog
Commit
b7f3cf66ca "luci-mod-network: drop support for *adding* legacy bridges"
dropped the protocol dependcies of the ifname/device selector in the add new
interface dialog.
Re-add the required dependencies and swap the order of the protocol and
device inputs while we're at it since latter depends on the former.
Fixes: b7f3cf66ca ("luci-mod-network: drop support for *adding* legacy bridges")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
147188f6ee7067119746ffc2a505ef8f4eb8943a)
Anderson McKinley [Wed, 26 May 2021 06:41:49 +0000 (06:41 +0000)]
luci-app-statistics: fix read of hostname
Existing javascript did not read a non-default statistics hostname due to
incorrect config ids.
Signed-off-by: Anderson McKinley <coyoso@tuta.io>
(cherry picked from commit
97424d57af1d0e02ea914012c47987541d7ee6a6)
Sven Roederer [Sat, 22 May 2021 23:43:44 +0000 (01:43 +0200)]
luci-theme-openwrt-2020: use SVG-file for favicon and logo
Using the scalable graphic in place of the static png file saves some
ressources in flash and network. It also aligns the filetype to the type
announced to the browser.
fixes GitHub-issue #5051
Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de>
(cherry picked from commit
184e93df5f0365d403d4d7a6243286cbe5b914de)
Jan Breuer [Tue, 13 Apr 2021 14:38:03 +0000 (16:38 +0200)]
luci-theme-openwrt-2020: remove submenu margin-bottom when submenu not visible
Signed-off-by: Jan Breuer <jan.breuer@jaybee.cz>
(cherry picked from commit
2b5f78e8936b90029478bff0f70ec8333f352b7a)
Jo-Philipp Wich [Mon, 29 Mar 2021 20:29:36 +0000 (22:29 +0200)]
luci-base: uci.js: merge changes when retrieving entire sections
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
ba4e214160619e27b88a3929c76a1a01c9c1b1e2)
Jo-Philipp Wich [Mon, 29 Mar 2021 18:34:43 +0000 (20:34 +0200)]
protocols: fix interface.ipv6 vs. device.ipv6 option conflict
Ref: https://forum.openwrt.org/t/pppoe-disable-ipv6/92548
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
7d49508480446febe4ed0de929f83ea923c98324)
Jo-Philipp Wich [Wed, 17 Mar 2021 18:29:01 +0000 (19:29 +0100)]
rpcd-mod-luci: expose devtype and iflink properties in getNetworkDevices
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
71feaa52857abb7408d657521c114319c1f0a113)
Jo-Philipp Wich [Thu, 6 Aug 2020 19:22:18 +0000 (21:22 +0200)]
luci-app-firewall: simplify some form actions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
bbf1a5343f1d930096cd5ff6b98f3e1f2f0d3c9a)
Jo-Philipp Wich [Mon, 1 Mar 2021 08:16:21 +0000 (09:16 +0100)]
luci-base: remove references to removed functions from documentation
Fixes: #4778
Fixes: 366707a68 ("luci-base: drop unused functions in luci.sys")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
a9da1dc5a5d33cd321d83f42fb16bc6bf9d77b5c)
Nicholas Smith [Sat, 6 Feb 2021 01:12:36 +0000 (11:12 +1000)]
luci-base: add new member 'hidden' to DummyValue
Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>
(cherry picked from commit
936dde742256c6f81c335e5847524e2771913775)
Huang-Huang Bao [Tue, 28 Jul 2020 14:56:50 +0000 (22:56 +0800)]
luci-app-frpc: correct prop name 'subdomain'
Signed-off-by: Huang-Huang Bao <eh5@sokka.cn>
(cherry picked from commit
de9f21cb8c8c056566d3390c93bd72aef9efde7a)
Stan Grishin [Thu, 10 Jun 2021 05:49:22 +0000 (22:49 -0700)]
Merge pull request #5115 from stangri/21.02-luci-app-vpn-policy-routing
[21.02] luci-app-vpn-policy-routing: support for 21.02.0-rc2
Stan Grishin [Thu, 10 Jun 2021 05:47:50 +0000 (05:47 +0000)]
luci-app-vpn-policy-routing: support for 21.02.0-rc2
Signed-off-by: Stan Grishin <stangri@melmac.net>
Hauke Mehrtens [Tue, 8 Jun 2021 23:28:44 +0000 (01:28 +0200)]
themes: Call striptags() on hostname to prevent XSS
This calls striptags() on the hostname to prevent any XSS over the
hostname. This should fix CVE-2021-33425 as far as I understood it.
If someone adds some Javascript into system.@system[0].hostname it would
have been directly added to the page, this prevents the problem.
This can only be exploited by someone being able to modify the uci
configuration, normally a user with such privileges could also just
modify the webpage.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit
5cbd79d7e31c0f0feaea2770bf102bbae7831e3c)
Hannu Nyman [Tue, 8 Jun 2021 17:07:21 +0000 (20:07 +0300)]
treewide: i18n - Backport translations
Backport translations from master.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Sven Roederer [Thu, 22 Apr 2021 20:35:58 +0000 (22:35 +0200)]
luci.mk: make SUBMENU package define customizable and optional
When including luci.mk in external repos it's sometimes usefull to not use
the default LuCI-submenu hierarchy.
This change defines the LUCI_SUBMENU_FORCED variable which completely overrides
the default submenu of the LuCI config-section. When LUCI_SUBMENU_FORCED is not
defined, the default submenu derrived from LUCI_TYPE or "Application" fallback
is used.
Defining LUCI_SUBMENU_FORCED in the package Makefile will just use this value.
Setting it to "none" will not define a submenu at all.
Together with LUCI_SECTION and LUCI_CATEGORY menu items can now created at any
place in the menu structure.
Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
(cherry picked from commit
2b11ec6fd02be060443cf4afc9d89058aadcfab3)
Sven Roederer [Sat, 17 Apr 2021 20:38:24 +0000 (22:38 +0200)]
luci.mk: add PKG_PROVIDES make-macro to set package/provides option
Add PKG_PROVIDES macro to be passed down to buildpackage defines as PROVIDES variable.
Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
(cherry picked from commit
209141d49153b999c42b0410010366789b36e86d)
Sven Roederer [Sat, 17 Apr 2021 15:37:08 +0000 (17:37 +0200)]
luci.mk: add URL and MAINTAINER fields to package-definitions
Add the LUCI_URL and LUCI_MAINTAINER variables to pass them to the buildpackage
defines. Give them some sane defaults and allow overwritting by the individual
package.
Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
(cherry picked from commit
ae0795deb0c908515550236254b04334be8f90bf)
Hannu Nyman [Tue, 1 Jun 2021 05:22:44 +0000 (08:22 +0300)]
treewide: i18n - backport translations from master
Backport translations from master.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Rafał Miłecki [Mon, 31 May 2021 06:35:09 +0000 (08:35 +0200)]
luci-mod-network: migrate macaddr during bridge migration
Link: https://forum.openwrt.org/t/network-migration-21-02-0-rc2/97934
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
49be69316bfea092e90c2f5a821ded961069f518)
Jo-Philipp Wich [Mon, 31 May 2021 17:00:15 +0000 (19:00 +0200)]
luci-mod-network: allow netifd version query to fail
Fixes: 17af33ee48 ("luci-mod-network: migrate network config depending on netifd version")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
34dc351303bad74c8f753c37788814796888129a)
Jo-Philipp Wich [Mon, 31 May 2021 09:39:15 +0000 (11:39 +0200)]
luci-base: fix `network` data type validation
Fixes: #5085
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
dece9b063c16790df731a08f8e73978c51b6c90d)
Jo-Philipp Wich [Mon, 31 May 2021 09:25:54 +0000 (11:25 +0200)]
luci-app-samba4: prevent calling split() on array or null values
Since `uci.get()` may return null or array values, we cannot blindly call
split() on the result. Use the safe `L.toArray()` helper which is intended
to deal with such situations.
Also clean up whitespace while we're at.
Fixes: #5080
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
c4cdfcbe5121d5959dac1e18ed11b8611a86fb9e)
Rafał Miłecki [Sat, 29 May 2021 15:19:02 +0000 (17:19 +0200)]
luci-mod-network: split config migration into 2 steps
Problem with handling all migrations in 1 step is that uci.sections()
doesn't include changes queued using uci.callAdd() and uci.callSet().
That could result in unexpected behaviour and generating invalid
configs.
For the sake of simplicity and reliability use 2 steps migration. The
downside is that users may get prompted twice to migrate.
Reported-by: Hauke Mehrtens <hauke@hauke-m.de>
Fixes: 74be304e541f ("treewide: use "device" option in UCI "interface" sections")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Tested-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit
e7c9c63c657963daa1a0d57dcb0848d88e909c25)
Rafał Miłecki [Fri, 28 May 2021 07:58:12 +0000 (09:58 +0200)]
treewide: drop MAC and MTU from interfaces (protocols)
Those are L2 options that are not part of interfaces (L3), should not be
set there and don't work. Setting MAC and MTU should be done at device
layer (config device) and is supported for basic types already.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
79947af064122438c803f3b7bc580ede093a26e4)
Jo-Philipp Wich [Thu, 6 Aug 2020 18:58:35 +0000 (20:58 +0200)]
treewide: remove rendundant proto handler options
The introduction of network device configuration support also implemented
all common, protocol-independent interface options directly in the
interface config view, so drop the redundant option definitions.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
171ef77e8985ffd90eb66b8a0a3cd74beb37ccdc)
Rafał Miłecki [Thu, 27 May 2021 19:01:41 +0000 (21:01 +0200)]
luci-mod-network: allow setting bridge device MTU and MAC
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
bbb3c4c4a59bc01e2f18d98596af1af354568fdd)
Rafał Miłecki [Thu, 27 May 2021 09:05:42 +0000 (11:05 +0200)]
luci-mod-network: bump min netifd version for migration
Using "device" option requires netifd from 2021-05-26 or newer.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
bc81e09781de229e85ad74afd785afdd454b4892)
Rafał Miłecki [Mon, 24 May 2021 16:17:41 +0000 (18:17 +0200)]
treewide: use "device" option in UCI "interface" sections
netifd has been recently patched to use "device" option instead of
"ifname" as more clear & accurate.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
74be304e541f5c03dacbdb05c543dfa6f79205a6)
Rafał Miłecki [Wed, 26 May 2021 11:25:24 +0000 (13:25 +0200)]
luci-mod-network: migrate network config depending on netifd version
Checking netifd version is important for users of the most recent LuCI
that didn't update netifd (e.g. OpenWrt package).
Suggested-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
17af33ee48bb709aec31d09b90cfbd4cbece6d0d)
Rafał Miłecki [Thu, 20 May 2021 13:03:43 +0000 (15:03 +0200)]
luci-mod-network: migrate config to use "ports" option
LuCI supports only the newer method of specifying bridge ports using the
"ports" option. Offer users migration so they can configure their
network.
Example:
1. Before
config device
option name 'br-lan'
option type 'bridge'
list ifname 'lan1'
list ifname 'lan2'
list ifname 'lan3'
list ifname 'lan4'
2. After
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
b8acde7f480a18343ee1f9624b790595065613ae)
Rafał Miłecki [Thu, 20 May 2021 12:03:18 +0000 (14:03 +0200)]
luci-mod-network: drop 2 unused variables
Fixes: faad7464a8ed ("luci-mod-network: add support for network.device sections")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
398932f39b3a86ea4f7d25e18d1683acc8e76ea3)
Rafał Miłecki [Thu, 20 May 2021 12:00:36 +0000 (14:00 +0200)]
luci-mod-network: don't hide "Device" on protocol change
Device ("ifname" UCI option) doesn't depend on protocol so there is no
need to hide / reset it on protocol change.
While at it drop names of two removed inputs (dead code).
Fixes: ec020cee0c44 ("luci-mod-network: drop support for *editing* legacy bridges")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
907b4222f70b3351d590d8a2e35c21a4ae07db8d)
Rafał Miłecki [Tue, 18 May 2021 18:09:58 +0000 (20:09 +0200)]
luci-mod-network: add bridge interface migration
LuCI now supports the updated UCI syntax for bridges that requires:
1. device section for L2
2. interface section for L3
Check for legacy syntax usage and offser user a migration to allow
changing network config.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
bca76a767316a689d59dfd4974dcb7bfb04db1e8)
Rafał Miłecki [Mon, 17 May 2021 12:01:24 +0000 (14:01 +0200)]
luci-mod-network: use "ports" option for setting bridge ports
netifd has been recently patched to use more accurate "ports" option
instead of "ifname"
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
a90115cd82372eaaa0ed531800b568387e200c97)
Rafał Miłecki [Mon, 17 May 2021 08:53:57 +0000 (10:53 +0200)]
luci-mod-network: drop support for *editing* legacy bridges
The old way of defining bridge (L2) as part of interface (L3) is
deprecated. All such configs should be migrated to define bridge as L3
UCI section type "device".
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
ec020cee0c44793f8ce1b346675c6a36e63b0154)
Rafał Miłecki [Sun, 16 May 2021 15:33:39 +0000 (17:33 +0200)]
luci-mod-network: drop support for *adding* legacy bridges
The old way of defining bridge (L2) as part of interface (L3) is
deprecated. Don't support *adding* interfaces like that.
Support for *editing* legacy bridges is kept for now for compatibility
with existing legacy setups.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit
b7f3cf66cadf6753153bc9d1feac1eca0c7e37f0)
Jo-Philipp Wich [Mon, 29 Mar 2021 20:33:35 +0000 (22:33 +0200)]
luci-mod-network: fix device section cleanup
Ensure that device sections are only automatically removed after all
related options have been parsed, to avoid prematurely deleting sections.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
2072c66c5a4b755a6ed16bb6486afb956a475be9)
Jo-Philipp Wich [Mon, 29 Mar 2021 18:08:48 +0000 (20:08 +0200)]
luci-mod-network: allow disabling interface->device option migration
Introduce a `migrate` properties which selectively allows disabling the
`config interface` to `config device` migration logic for single options.
Use the new flag to disable migration of the "ipv6" option which has
different semantics in interface and device sections.
Ref: https://forum.openwrt.org/t/pppoe-disable-ipv6/92548
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
935e9a3c3430db5fad1004926ddfa2e35a950be5)
Jo-Philipp Wich [Mon, 29 Mar 2021 14:33:07 +0000 (16:33 +0200)]
luci-mod-network: fix changing ifname in disabled legacy bridge mode
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
7dde01be3cc197f79bc6812a2c912c1889dbf1ee)
Jo-Philipp Wich [Mon, 29 Mar 2021 14:30:32 +0000 (16:30 +0200)]
luci-mod-network: make condition for disabling legacy bridging more specific
Only disable legacy bridging if an existing network.device section with type
bridge is found, ignore non-type sections since those do not declare a
bridge but set attributes on top of an existing one.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
f48f9f11e7f6e3d74e2fd4b6b2478e5673f2f459)
Jo-Philipp Wich [Mon, 29 Mar 2021 14:27:47 +0000 (16:27 +0200)]
luci-mod-network: fix unsetting network.device options
The existing logic only handled removing the last remaining device section
option (which results in the deletion of the entire section) but failed to
actually unset single options.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
b9fad85f2e3fc988528fd326db715719288604ea)
Jo-Philipp Wich [Mon, 29 Mar 2021 14:00:10 +0000 (16:00 +0200)]
luci-mod-network: don't implicitly move bridge opts into device sections
When setting bridge and device specific options such 'stp' or
'igmp_snooping', LuCI so far transparently created or reused a
`config device` section and set the corresponding option there.
In the case of bridges, this triggers multiple problems:
- When implicitely creating a `config device` section referring to the
bridge device, the legacy bridge configuration of the corresponding
interface is disabled, causing a broken configuration on subsequent
save operations
- Netifd does not appear to properly merge bridge settings from config
device and config interface sections, leading to an incoherent
configuration state
In order to avoid that issue, do not automatically migrate bridge specific
options.
Fixes: #4948
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
a9a223b973c7f5f057d19a7fc09e7364087fec79)
Jo-Philipp Wich [Sat, 20 Mar 2021 23:50:27 +0000 (00:50 +0100)]
luci-mod-network: fix handling of peerdns/dns/dns_search options
The previous change didn't take dynamic dependency mangling into account.
Fixes: 2bfd4908a9 ("luci-mod-network: restore DNS option semantics for proto static")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
9a92f9c7615f710a7934cccc8ac23902247c154b)
Jo-Philipp Wich [Sat, 20 Mar 2021 23:36:24 +0000 (00:36 +0100)]
luci-mod-network: restore DNS option semantics for proto static
The peerdns settings makes little practical sense for proto:static
interfaces, so revert to allow setting the DNS server list directly.
Fixes: faad7464a8 ("luci-mod-network: add support for network.device sections")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
2bfd4908a9cfeac74c7abc31d8cef0bf1e58af52)
Jo-Philipp Wich [Sat, 20 Mar 2021 23:18:20 +0000 (00:18 +0100)]
luci-mod-network: fix legacy bridge configuration
Ref: https://github.com/openwrt/luci/pull/4307#issuecomment-
803432603
Fixes: faad7464a8 ("luci-mod-network: add support for network.device sections")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
edf640af583de122b020d215aadd141028c9458f)
Jo-Philipp Wich [Sat, 20 Mar 2021 23:17:35 +0000 (00:17 +0100)]
luci-mod-network: fix invalid variable access when creating interfaces
Fixes: eeef38d534 ("luci-mod-network: add support for bridge vlan filtering")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
1c4284150dff9d37503f6f901d047c0caa9a3af0)
Jo-Philipp Wich [Thu, 18 Mar 2021 16:24:09 +0000 (17:24 +0100)]
luci-mod-network: fix opacity for device icon tooltips
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
bea7b8dc7cd7231d7ec6ab82fcc80dfaec699326)
Jo-Philipp Wich [Thu, 18 Mar 2021 16:19:42 +0000 (17:19 +0100)]
luci-mod-network: tools.network: handle bridge config and vlan corner cases
- Disable interface-level bridging if a corresponding br-$name bridge
already exists as device declaration
- Exempt wireless interfaces from bridge port configuration, they can only
be attached indirectly through "option network"
- Consider bridge ports from both "option ifname" in interface/device
sections and from "option ports" in bridge-vlan ones
- Small fixes for rendering quirks
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
14fdce0fcdfe39ff4143b294a1f1f65d7c783ce7)
Jo-Philipp Wich [Wed, 17 Mar 2021 09:45:04 +0000 (10:45 +0100)]
luci-mod-network: allow wifi bridging with bridge or bridge vlan ifaces
Recent netifd automatically adds wireless devices as bridge ports if the
layer 2 device referenced by the "config interface" target network is a
Linux network bridge or a VLAN interface on top of a network bridge.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
3b4c161e01e2bd19105c123fbec463bc069d637b)
Jo-Philipp Wich [Thu, 18 Mar 2021 16:09:07 +0000 (17:09 +0100)]
luci-base: network.js: recognize DSA ports and bridge VLANs
Use the newly introduced devtype attribute for more robust network device
type detection. This also allows us to easily recognize DSA ports.
Furthermore, synthesize VLAN devices declared by uci bridge-vlan sections,
similar to how it is done for legacy swconfig switch_vlan ones.
Finally implement a new Network.Device.getParent() method to use the newly
available "parent" attribute to resolve the base device of DSA ports or
VLAN devices.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
d1bf56d7f178f1b7582d7b3600ee70e65128ccfa)
Jo-Philipp Wich [Tue, 28 Jul 2020 18:51:10 +0000 (20:51 +0200)]
luci-mod-network: add support for bridge vlan filtering
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
eeef38d53412a78f185f0bb53153ecb3fe9e8838)
Jo-Philipp Wich [Mon, 27 Jul 2020 15:12:54 +0000 (17:12 +0200)]
luci-mod-network: add support for network.device sections
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
faad7464a8ed88a251c621dc92e8cbfb146bcd7f)
Jo-Philipp Wich [Thu, 6 Aug 2020 15:37:34 +0000 (17:37 +0200)]
luci-mod-network: interfaces.js: simplify some code using new ui helpers
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
069a97e55c9a44c366db2003944d40238dfc2620)
Oleksandr Pastushkov [Sun, 3 Jan 2021 22:58:56 +0000 (00:58 +0200)]
luci-mod-network: issue with breakdown of dnsmasq after duplication of static IP was fixed
Before this commit, assigning the same static IP address to two
different hosts disabled dnsmasq.
Logic of adding a new static lease was modified. If user try to assign a
new MAC address to already reserved IP, old lease will be modified (list
of MAC addresses will be extended by new MAC) instead of creation a new lease with the same IP.
Signed-off-by: Oleksandr Pastushkov <oleks.pastushkov@gmail.com>
(cherry picked from commit
463e910119813aaea0755ff5c16c91ce412a8cbb)
Rafał Miłecki [Thu, 27 May 2021 06:39:35 +0000 (08:39 +0200)]
luci-mod-network: drop duplicated "Master" option
It got accidentally added while cherry picking RA and NDP params
support.
Fixes: 3a9ebc537f63 ("luci-mod-network: Introduce new RA and NDP params with help-text.")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Hannu Nyman [Wed, 26 May 2021 16:10:51 +0000 (19:10 +0300)]
treewide: backport i18n translations from master
Backport translations.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Liangbin Lian [Wed, 21 Apr 2021 10:00:48 +0000 (18:00 +0800)]
luci-theme-material: fix wrong active state on common prefix node
Before fixed, if we have two nodes: 'services/ddns' and 'services/ddnsto',
click any one of they, will show they all actived.
Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
(cherry picked from commit
97d50d2c6b80805cd7e513eeafc8b62fef4ab1b6)
Liangbin Lian [Tue, 25 May 2021 02:34:05 +0000 (10:34 +0800)]
luci-app-samba4: support listen on multiple interfaces
/etc/init.d/samba4 already support that
Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
(cherry picked from commit
169ab9979eee780758256c2859f7c2ee86a0b0ae)
Hannu Nyman [Sun, 16 May 2021 17:52:12 +0000 (20:52 +0300)]
treewide: i18n - Backport translations
Backport translations from master and sync.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Jo-Philipp Wich [Wed, 12 May 2021 09:49:31 +0000 (11:49 +0200)]
luci-mod-status: fix potential XSS via specially crafted DNS names
When an upstream NS returns PTR domain names containing HTML, it is
added verbatim to the connection status table.
Prevent this issue by HTML escaping any values in the source and
destination columns.
Fixes: CVE-2021-32019
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
3c66c5b1651aa25afbff09bee45047da9a0ba43d)
Hannu Nyman [Sat, 8 May 2021 14:05:54 +0000 (17:05 +0300)]
treewide: backport translations i18n
Backport translations.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Jo-Philipp Wich [Fri, 7 May 2021 17:04:38 +0000 (19:04 +0200)]
luci-mod-status: iptables: always make tab pane visible
When ip6tables is not present, the tab group was not initialized,
causing the iptables status display to be empty with certain themes.
Manually mark the pane active in this case to avoid the problem.
Fixes: #5040
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
d24e3295f004c87722ad59927738f208a2a84ac5)
Paul Spooren [Wed, 5 May 2021 16:09:08 +0000 (18:09 +0200)]
luci-app-attendedsysupgrade: fix branch detection
The running branch determines which upgrades are suggested. A jump to a
newer branch (e.g. 19.07.8 to 21.02.1) is only suggested if the advanced
mode is enable, since it may break the router.
OpenWrt versions end in either `-SNAPSHOT`, `.X-rcY` or `.x`. All these
suffixes are removed, resulting in the branch name.
Previously the `-SNAPSHOT` suffix wasn't removed resulting in wrong
branch names.
Also clean up some log spam.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit
85e9ee31239c4e912613005f4c222f13c34e9a36)
Paul Spooren [Thu, 29 Apr 2021 20:53:09 +0000 (22:53 +0200)]
luci-app-attendedsysupgrade: hide branch update
Branch updates (e.g. 19.07 to 21.02) are risky and shouldn't be
suggested by default. Hide those unless the advanced mode is enabled.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit
9184721fab65934fe016c132a8f11a2308742f92)
Florian Eckert [Thu, 6 May 2021 10:27:00 +0000 (12:27 +0200)]
luci-app-mwan3: i18n sync translations
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Florian Eckert [Thu, 6 May 2021 09:44:57 +0000 (11:44 +0200)]
luci-app-mwan3: fix css status with
This commit fixes the width of the mwan3 status page for the
openwrt-2020 theme.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit
6fa40fffcaa6015633e1e7426ff1f0bae61597c9)
Florian Eckert [Thu, 6 May 2021 09:22:02 +0000 (11:22 +0200)]
luci-app-mwan3: add i18n to status page
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit
2b0fbcb0c88fb073745ec99974c12f363b771ac2)
Florian Eckert [Mon, 3 May 2021 08:55:38 +0000 (10:55 +0200)]
luci-app-mwan3: update status page for no tracked interfaces
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
(cherry picked from commit
4fee871630dec3b6bfbfb6dadc1580f0e3edf830)
Florian Eckert [Tue, 4 May 2021 07:17:11 +0000 (09:17 +0200)]
luci-base: i18n sync translations
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Sven Roederer [Fri, 30 Apr 2021 23:12:02 +0000 (01:12 +0200)]
luci-base: change button-text from Dismiss to Close in UCI changes overview
Change the left button of the UCI Apply-changes overview to the more correct
function close. This also avoids confusion between Dismiss and Revert, which
translate to the same in german.
Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
(cherry picked from commit
b56912d9fcf6acb0ba3008de3df15188318376f2)
Florian Eckert [Tue, 4 May 2021 07:16:04 +0000 (09:16 +0200)]
treewide: i18n sync translations
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Dirk Brenken [Sun, 2 May 2021 20:11:25 +0000 (22:11 +0200)]
luci-app-banip: switch IP query provider
* switch to IPWHOIS.IO for IP report queries, the IP geolocation API is
more accurate & faster
Signed-off-by: Dirk Brenken <dev@brenken.org>