This change extends the switch VLAN configuration page to automatically
adjust interface ifname options when altering VLAN settings.
For example "eth0" is changed to "eth0.1" when a previously untagged LAN
VLAN is switched to tagged on the CPU port and vice versa.
Notifications are displayed in the page header if an auto migration was
performed.
This change should make the switch configuration more user friendly and
less prone to soft bricking.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The expiry time in a dnsmasq lease file line may be 0 (i.e.
expiry date = 01/01/1970 00:00:00 GMT) to denote an infinite
lease time, so adjust the code to properly support that.
The expiry attribute of the lease object will be set to "false"
in case of an infinite lease. This is to mimic the odhcp code below.
If the expiry date is not equal to 0, then just do exactly what was
done before (return the os.diff of current time and ts).
Signed-off-by: Cody R. Brown <dev@codybrown.ca>
This should result in the MAC address display being the same
using odhcpd for v4 DHCP as when using DNSMasq for v4 DHCP.
Signed-off-by: Daniel Dickinson <lede@cshore.thecshore.com>
Add support for 'ip6ifaceid' option for proto_static in LuCI.
Information about the option:
The option is optional and defaults to '::1'.
Allowed values: 'eui64', 'random', fixed value like '::1' or '::1:2'
When IPv6 prefix (like 'a🅱️c:d::') is received from a delegating
server, the ip6ifaceid suffix (like '::1') is used to form
the IPv6 address ('a🅱️c:d::1') for the interface.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 5ca3864690)
A missing or faulty luci_statistics config file may prevent
LuCI access completely already at the login phase as
the statistics config is parsed already then.
The error is like:
.../statistics/datatree.lua:16: attempt to index upvalue 'sections' (a nil value)
User may be completely locked out of LuCI until he figures out
the need to have a proper luci_statistics config file.
Prevent the error by checking for the existence of
the uci config sections before trying to use values from them.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit d04f667383)
Add logic to add Etc/GMT timezones (like GMT+5)
although the zones are not included in zone.tab
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit f8eee09f55)
Fix graph visibility on processes page based on plugin
instance. The overview instance is empty, while monitored
processes have their own instances.
Original version of the patch created by @koblack and
discussed in #1021
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 0a6ce20423)
Cron init script starts the service only if a crontab file
exists. If there is no crontab file at boot and the user
later creates one, he needs to manually restart the service.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 1970c21e3b)
In some cases it is useful to be able to override the template used for the
sysauth login dialog.
Add a new property "sysauth_template" which allows overriding the template
name from controller files.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* fix whitespace in config file
* place the contextswitch item corerrctly
in the sorted options list
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 2bc2f935a0)
Fix the length of the abbreviated commit hash used in
the LuCI version string used in the package names.
Use the old standard of seven characters in hash.
New git versions vary the length of the abbreviated
commit hash based on the number of objects in repo. That
may lead into different hash lengths with e.g. having
full/shallow git history, having all/single branch or
having different git versions in different build hosts.
Different hash lengths in package name may lead to
sneaky opkg install errors, as opkg apparently preserves
info for removed packages and may prefer that.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit b9159c5347)
The statistics graphs on the pages with multiple data sources
have contained links to the data sources, but those links
have not worked. Remove the links as they are unnecessary.
This commit fixes#1006
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 298f838d39)
As suggested by PR #1114, use `/proc/sys/net/netfilter/nf_conntrack_count`
instead of counting the lines in `/proc/net/nf_conntrack` but use a slightly
more efficient approach which avoids spawning an extra `cat` command.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Since firewall3 commit b33f78371e7c7b6a131c2b6c01673cbd4b3c13d1 the
drop_invalid option is off by default.
Adjust LuCI view to properly handle the changed semantics.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Use the new hostapd functionality (in LEDE) to detect 802.11r and 802.11w
more properly. Leave the old logic in place for Openwrt.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(partial cherry pick from commit b0943391d8)
Adjust 802.11w default value from "0" to "" in order to avoid unnecessary
"option ieee80211w 0" lines in /etc/config/wireless
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(partial cherry pick from commit b0943391d8)
Also if unbound-control is installed, then configure so
luci-app-commands can quickly show the "local zones" and
"local data" (aka hosts). This helps diagnose DHCP-DNS
zone data and adblock zone data.
Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
The Overview page and Network>Interfaces page currently do not give much
information about IPv6, particularly with Prefix Delegated setups. In these
setups, ISP will delegate a prefix to the router. Currently LuCI doesn't display
this Prefix Delegation from the ISP anywhere. A number of changes was added
to this commit:
1) self:_ubus("ipv6-prefix") was extracted and put into protocol.ip6prefix.
2) Network>Interfaces page, if a .ip6prefix is present, show it under Status.
(IPv6-PD).
3) On the Overview page, "Type" and "Prefix Delegated" has been added to
the IPv6 Network Overview Status:
- Type will display the .proto, similar to the IPv4 case.
If a .ip6prefix is present, it'll display a "-pd" at the end of
the Type: i.e. dhcpv6-pd vs. dhcpv6.
- If no .ip6prefix is present, it'll do what it does currently, and
just show Address, or :: if no address is present.
- If .ip6prefix is present, it'll show the "Prefix Delegated", it'll also
hide "Address" if no address is present, else it'll show ifc6.ip6addr as well.
Signed-off-by: Cody R. Brown <dev@codybrown.ca>
(cherry picked from commit 5377d22b4a)
(commit message reformatted)
luci ignores only 127.0.0.1 in real time connections.
The dnsmasq.init script sets up resolv.conf(s) as such.
With alternate DNS servers configured 'localhost' will
resolve to '127.0.0.1' or '::1'. The connections graph
will spam itself. openwrt/luci#996
Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
(cherry picked from commit 52771816a0)
LEDE's scripts/feeds script creates local branches named after the checked
out commit hash, confusing local branch detection.
Solely use remote branch detection to avoid misidentifying such cases.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
When LuCI is checked out via pinned feeds configuration, its source tree will
end up in detached head state, requiring some more magic to figure out the
proper branch.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Openwrt theme apparently accepts slightly different html than
Bootstrap or Material. Change code to <br /> to make it compatible.
This fixes#1011
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 6a2a62fa4f)
The default hostapd/wpad mini version does not support ieee80211w
and the option's visibility in LuCI may lead it to be placed in user's
/etc/config/wireless preventing wifi from starting.
Check for hostapd/wpad full before exposing the option.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 07e01d094e)
Add support for IEEE802.11w Management Frame Protection options
into the wireless config.
Mention in the help text that the full version of wpad/hostapd is
needed.
Currently supported in LEDE by ath9k and ath10k, mwlwifi and mt76.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 4ddb6b2816)
(cherry picked from commit 4d31f7ca30)
Backports from master the commits that add support for
IEEE802.11r Fast Transition to luci.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit f02794f28c)
(cherry picked from commit 171c06146a)
(cherry picked from commit 02bed26188)
(cherry picked from commit c491c181ea)
Add datatype 'hexstring' for input validaiton datatypes.
It will accept any hexadecimal string.
(no length validation, as rangelength can be used for that.)
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit 11f23559e4)
Replace a dependency for px5g with openssl-util. Both LEDE and
Openwrt have now uhttpd versions that can generate keys with
OpenSSL cmd tools if px5g is not found. This change enables an
"OpenSSL-only" version of LuCI without mbedTLS/PolarSSL.
(Note: if px5g is found, uhttpd will prefer that.)
Relevant commits in uhttpd:
LEDE:
3c4858eeb282132540a39097dc5ad8
Openwrt:
6ec32832d2
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit b6341bd197)
The previous commit erroneously used "ports" instead of "port" as name for the
option widget, causing wrong uci values to be written.
Also work around some cbi idiosyncrasies regarding MultiValue widgets which
prevented rendering the correct initial selection state.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Move the password setting into the .parse() callback to ensure that it is
updated regardless of whether "Save" or "Save & Apply" has been pressed.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>