138 Commits

Author SHA1 Message Date
Jo-Philipp Wich
08f5bc236e 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)
2021-05-27 12:19:05 +02:00
Jo-Philipp Wich
8c2ea08aa8 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)
2021-05-27 12:19:05 +02:00
Jo-Philipp Wich
216ddcce71 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)
2021-05-27 12:19:05 +02:00
Jo-Philipp Wich
dec5d8099e 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)
2021-05-27 12:19:05 +02:00
Jo-Philipp Wich
7684c18604 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)
2021-05-27 12:19:05 +02:00
Jo-Philipp Wich
a3ec9b262d 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)
2021-05-27 12:19:05 +02:00
Jo-Philipp Wich
7147b37a24 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)
2021-05-27 12:19:05 +02:00
Jo-Philipp Wich
dfd499b4d4 luci-mod-network: fix opacity for device icon tooltips
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit bea7b8dc7cd7231d7ec6ab82fcc80dfaec699326)
2021-05-27 12:19:05 +02:00
Jo-Philipp Wich
f366dfe484 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)
2021-05-27 12:19:05 +02:00
Jo-Philipp Wich
482f342d25 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)
2021-05-27 12:19:05 +02:00
Jo-Philipp Wich
15ae326879 luci-mod-network: add support for bridge vlan filtering
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit eeef38d53412a78f185f0bb53153ecb3fe9e8838)
2021-05-27 12:19:05 +02:00
Jo-Philipp Wich
e75ac2ae34 luci-mod-network: add support for network.device sections
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit faad7464a8ed88a251c621dc92e8cbfb146bcd7f)
2021-05-27 12:19:04 +02:00
Jo-Philipp Wich
9e57b782aa 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)
2021-05-27 12:19:04 +02:00
Oleksandr Pastushkov
5047592f77 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)
2021-05-27 12:18:42 +02:00
Rafał Miłecki
a5586749d0 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>
2021-05-27 08:41:14 +02:00
Hannu Nyman
af7a61d3a6 luci-mod-network: fix handling of optional RA/NDP options
Fix the handling of optional IPv6 RA and NDP options
that were exposed to LuCI with 504bdb23f

Commit 504bdb23f defined them optional but provided default values.
Those values might get unnecessarily written to /etc/config dhcp when
the the user modifies some other values. Remove the default values,
but provide placeholder for some of them.

Add the missing optional definition to 'ndproxy_routing'.
(It is a flag, so optional default values do not get written to
the config file.)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit b7dd10da0fcdc9c69857d848ce1d47243998a22c)
2021-04-20 21:13:33 +03:00
Dirk Brenken
a307abc9d6 luci-mod-network: fix xhtml markup
* fix markup in interfaces.js (#4980)

Signed-off-by: Dirk Brenken <dev@brenken.org>

(Adapted from commit 2617fcdc631d0b504abdb27bb17d44f26c230cda
 by taking only the .js part.)
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2021-04-17 19:15:57 +03:00
Paul Dee
3a9ebc537f luci-mod-network: Introduce new RA and NDP params with help-text.
New: Router Advertisement parameters and accompanying help-text.
New: 3 additional NDP options and accompanying help-text.

Until now, some of the IPv6 settings are mysterious. They are now
clarified. The information is accessible to IPv6 beginners.

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit 504bdb23fbaff28cc31cc1dd2408a9f1cd5eddde)
2021-04-17 19:13:52 +03:00
Paul Dee
c649db4f23 luci-mod-network: Add help text for many existing odhcpd IPv6 parameters
and Global network options ULA.

Relocated the "DHCPv6 Mode" to below RA-Service: DHCPv6-Mode is actually
ra_management in disguise. Better grouping.

Until now, some of the IPv6 settings are mysterious. They are now
clarified. The information is accessible to IPv6 beginners.

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
(cherry picked from commit 988c98bdc6b30a1d9fb17e1ba4444d0beb236b8a)
2021-04-17 19:13:40 +03:00
Giovanni Giacobbi
af422b1924 treewide: removed trailing whitespaces and extra newlines in 'modules'
Signed-off-by: Giovanni Giacobbi <giovanni@giacobbi.net>
2021-01-20 17:48:16 +02:00
Hannu Nyman
e609ef0ef5 luci-mod-network: modernize 802.11w help text
Modernize the 802.11w help text as support for 802.11w is
currently always compiled into hostapd/wpad and most of
the relevant wireless drivers support it well.

Add a cautionary note that some drivers do not fully support
it. Mention mwlwifi by name as it has several 802.11w bugs
open in upstream and its development has stopped.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2021-01-02 15:20:18 +02:00
Dobroslaw Kijowski
ab01040663 luci-mod-network: skip check for 802.11w feature
OpenWrt commit 1a9b896d ("treewide: nuke DRIVER_11W_SUPPORT") enables
802.11w feature for all wpad/hostapd configurations. The feature flag
was removed at all but for the compatibility reasons 11w is still
advertised (but there's a plan to nuke it also) [1].

Remove conditional 802.11w LuCI support to match current behavior.

[1]: https://github.com/openwrt/openwrt/pull/3347

Signed-off-by: Dobroslaw Kijowski <dobo90@gmail.com>
2021-01-02 14:59:25 +02:00
Jo-Philipp Wich
f3417f2871 luci-mod-network: restrict legacy_rates option to hwmode 11g
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-12-23 19:02:38 +01:00
Florian Eckert
5a021f8419
Merge pull request #4649 from nicklowe/master
luci-mod-network Add description: Hidden SSID, WMM
2020-12-21 11:25:58 +01:00
Jo-Philipp Wich
7b5b7fbcd6 luci-mod-network: properly handle wireless devices when adding interfaces
Wireless device names must not be added as list/option ifname, but the
network must be backreferenced in config wifi-iface instead in these
cases.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-12-12 12:16:45 +01:00
Nick Lowe
9060c12915 luci-mod-network Add description: Hidden SSID, WMM
luci-mod-network Describe issues: Hidden SSID, WMM

The performance and reliability implications of hiding SSIDs or disabling
WMM are not commonly known and these settings often end up being
misconfigured to harmful effect.

To seek to mitigate this, add descriptions explaining that:

Where the ESSID is hidden, clients may fail to roam and airtime efficiency
may be significantly reduced.

Where Wi-Fi Multimedia (WMM) Mode QoS is disabled, clients may be limited
to 802.11a/802.11g rates.

Signed-off-by: Nick Lowe <nick.lowe@gmail.com>
2020-12-09 16:15:07 +00:00
Nick Lowe
ec49f3b546 luci-mod-network: wireless.js Disable 802.11b by default
The time has long come where 802.11b DSSS/CCK data rates should be disabled
By default in OpenWRT. Users in need of 802.11b client support can reasonably
enable these where they are needed.

The balance of equities has significantly, and for a long time, tipped
such that dropping backwards compatibility by default with 802.11b
devices is appropriate, proportionate and justified. By doing so,
management and control traffic is moved by default to a 20
MHz wide 6 Mb/s OFDM data rate instead of a 22 MHz wide 1 Mb/s DSSS data
rate. This is significantly more airtime efficient.

For discoverability:
1) Move the option from the Advanced Settings to the General Setup tab.
2) Add a description explaining potential compatibility implications.

Signed-off-by: Nick Lowe <nick.lowe@gmail.com>
2020-12-06 08:53:08 -10:00
Nick Lowe
f5c04e1a2e luci-mod-network: wireless.js cell_density support
Add support for the cell_density option added to OpenWRT via commit:
81ff23fc91dbbedc374e58afdb4b0b13146c0f15

This configures data rates based on the coverage cell density.
Normal configures basic rates to 6, 12, 24 Mbps if legacy 802.11b rates
are not used else to 5.5, 11 Mbps.
High configures basic rates to 12, 24 Mbps if legacy 802.11b rates are
not used else to the 11 Mbps rate.
Very High configures 24 Mbps as the basic rate. Supported rates lower
than the minimum basic rate are not offered.

Signed-off-by: Nick Lowe <nick.lowe@gmail.com>
2020-12-01 16:01:53 +00:00
Jo-Philipp Wich
03c77dafe3 treewide: transition div tables to actual table markup
Modern browsers allow decomposing table markup equally well as nested div
constructs, therefor migrate our <div> table markup to actual <table> tags
but keep the old table/tr/th/td CSS classes for now to allow for a smooth
theme transition.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-11-27 21:36:40 +01:00
Ansuel Smith
83c912716e
luci-mod-network: require ssid when join hidden wifi
WiFi join won't work if is tried to connect to a Hidden Wifi without specifying the WiFi SSID.

Fixes: #2085
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2020-11-01 19:04:06 +01:00
Jo-Philipp Wich
4e8620443d luci-mod-network: fix SAE/WPA check on network join
The method array may be null in case of an open network, also not all
occurrences of `is_sae` and `is_psk` were properly checked.

Resolve the issue by moving the length check to the variable initialization.

Fixes: ba98a2fd0 ("luci-mod-network: fix logic bug in parse enc for network join")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-11-01 18:24:13 +01:00
Jo-Philipp Wich
78645e7efe
Merge pull request #4561 from Ansuel/fix-enc-ap
Fix one display bug for ap join and #4524
2020-11-01 17:23:17 +01:00
Ansuel Smith
ba98a2fd05
luci-mod-network: fix logic bug in parse enc for network join
In handleJoinConfirm while is_wep is a boolean, is_psk and is_sae are an array. In the following if check, all 3 are used as boolean but Js treat empty array as positive values and this cause the ui to wrongly set the encryption to sae. fix this by checking if the array actually contains data.

Fixes: #4524
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2020-11-01 01:51:02 +01:00
Ansuel Smith
ae47a5104d
luci-mod-network: use createHanleFn for handleJoin function
handleJoin can be slow to parse all the data and show the new modal, this can result in the disappear of the scan modal and the showing of the wifi config page while the data are generating. This is wrong since a user can think that he did something wrong. Fix this by using the createHandleFn and by removing the scan pool function instead of calling ScanAbort function that with the other thing wrongly removes the Scan modal. (the modal is replaced with the add one when all the data are ready)

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2020-11-01 01:45:41 +01:00
Jo-Philipp Wich
40acd95726
Merge pull request #4508 from Ansuel/wpscontrol
luci-mod-status: add WPS control for wifi info
2020-10-30 21:19:40 +01:00
Ansuel Smith
095309cf02
luci-mod-network: check directly if hostapd supports wps
Wps Push Button feature is now supported directly from ubus instead of using hostapd_cli.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2020-10-11 01:32:21 +02:00
Ansuel Smith
6c9a6c334e
luci-mod-network: handle multiple mac for static lease
The mac section for the static lease doesn't correctly handle when multiple mac are set for a rule.
Fixes: #4291

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2020-10-08 02:43:29 +02:00
Florian Eckert
5ca328440b
Merge pull request #3265 from najdanovicivan/patch-2
luci-mod-network: add address parameter in DHCP for dnsmasq
2020-09-14 15:34:37 +02:00
Jo-Philipp Wich
84a0b6845f
Merge pull request #4127 from blocktrron/luci-wep-features
luci-mod-network: query WEP support
2020-06-16 17:01:27 +02:00
William Fleurant
547776327a luci-mod-network: diagnostics.js: pass IP version flag to ping/ping6
Signed-off-by: William Fleurant <meshnet@protonmail.com>
2020-06-12 01:54:33 -04:00
David Bauer
6c56365b82 luci-mod-network: query support for WEP
This commit removes WEP from the list of supported
encryption methods in case hostapd or wpa_supplicant
were compiled without WEP support.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-06-01 10:36:07 +02:00
Jo-Philipp Wich
01d5d5f929 luci-mod-network: allow literal "auto" value for distance
Fixes: #4050
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-17 19:36:17 +02:00
Jo-Philipp Wich
8747513951 luci-mod-network: fix reading static route table value
Ref: https://forum.openwrt.org/t/static-route-shows-incorrect-table/63514
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-05-13 17:20:05 +02:00
Jo-Philipp Wich
0306b14d20 luci-mod-network: wireless.js: disable action buttons on insufficient ACLs
Also implement disabled state in custom frequency select widget.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-16 15:28:21 +02:00
Jo-Philipp Wich
c63c902163 luci-mod-network: interfaces.js: disable action buttons on insufficient ACLs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-16 15:21:03 +02:00
Jo-Philipp Wich
57f27cf7f8 luci-mod-network: dhcp.js: allow lease hostname to be empty
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-11 18:34:54 +02:00
Jo-Philipp Wich
137db1c4d1 luci-mod-network: dhcp.js: fix validation logic
The `server` option allows plain IPs besides the `/domain/addr` format.

Fixes: #3870
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-11 18:27:36 +02:00
Jo-Philipp Wich
45a30c925b luci-base, luci-mod-network: adjust ZoneSelect / NetworkSelect descriptions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-07 18:19:19 +02:00
Jo-Philipp Wich
3c4bc228a1 treewide: import utility classes explicitly
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-03 10:00:06 +02:00
Jo-Philipp Wich
eb1422defe luci-mod-network: rework signal badge disabled state
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-02 15:20:58 +02:00