Views that returned headings, tables and control rows with nothing around
them now wrap that content in a section: the system and kernel logs,
Processes, the nftables and iptables views, Startup, the wireless station
list, DSL stats and the package manager. The nftables rule tables also
drop an !important that no theme could override.
Nothing changes in the stock bootstrap theme; themes that draw
.cbi-section as a panel get the structure they need.
Signed-off-by: Ivan Kvashonkin <vizzlef@gmail.com>
Several ACL files referenced /proc paths that are symlinks (e.g.
/proc/mounts -> /proc/self/mounts -> /proc/$PID/mounts), which
resolve to paths not covered by the existing ACL rules under the
new rpcd symlink-aware ACL check.
Add the resolved path patterns (/proc/*/mounts, /proc/*/net/ipv6_route)
alongside the original symlink paths so that both the original and
the realpath-resolved path are matched by ACL rules.
Fixes: #8867
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
A flag is added to choose if Password of rpcd user is changed or unix
user.
If rpc is chosen the old password has to be specified.
Signed-off-by: Christian Korber <ckorber@tdt.de>
add cleanup functionality; remove orphaned config for absent plugins
render placeholder title when plugin is absent
follow-up to 617f364333
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
When performing a sysupgrade without keeping settings, the reconnect
logic only tries the hardcoded 192.168.1.1 and openwrt.lan. This fails
silently when the device uses a different static IP.
Prepend window.location.host to the reconnect target list, keeping the
existing defaults as fallbacks. This matches the behavior already used
when settings are kept.
Common use case: custom images built with the OpenWrt Image Builder and
pre-configured static IPs land on a known address that differs from the
defaults after a factory reset. The current host is the most likely
correct target since the user is already connected to it.
Signed-off-by: Zadkiel AHARONIAN <hello@zadkiel.fr>
This commit introduces a generic authentication plugin mechanism
to the LuCI dispatcher, enabling multi-factor authentication
(MFA/2FA) and other custom verification methods without
modifying core files.
This implementation integrates with the new plugin UI architecture
introduced in commit 617f364 (luci-mod-system: implement plugin UI
architecture), allowing authentication plugins to be managed
through the unified System > Plugins interface.
Signed-off-by: Han Yiming <moebest@outlook.jp>
include some example plugins also.
JS files provide UI to configure behaviour of plugins
which typically live in
/usr/share/ucode/luci/plugins/<class>/<type>
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Filters might not be everyone's aesthetics, so hide filters
by default and expose a global flag which can be set under
System -> System -> Language and Style. Only tables which
have .filterrow set to true will show filters.
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
dropbear.init behaviours:
Interface: For each interface, collect all its IPs,
up to 10 endpoints total, and add `-p <addr:port>` for
each; if no interface was given, fall back to a plain
`-p <port>` (listen on all interfaces and IPs). It binds
to addresses, not the device. It collects all IPv4, and
all IPv6 - ULA, but not LL - and binds to those. Ex:
dropbear ... -p 192.168.1.1:22 -p 192.168.1.2:22 -p 192.168.1.3:22 ...
DirectInterface: A single logical interface name; the
first one is used (if multiple are given via `list`).
Runs dropbear with `-l <device> -p <port>`, i.e., it binds
directly to the layer 2 network device rather than
specific IPs. Ex:
dropbear ... -l br-lan -p 22 ...
Closes openwrt/packages#25555
Closes#7484
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
When downloading a key, try to get the filename of the key. opkg expects it to
match the key fingerprint when verifying .sig files. apk not so.
Try to save the public key file with the name from the provided URL, so it is
not named "key_blah" which won't match its fingerprint.
The alternative would be to call usign with the public key file as input, and
then rename it to its fingerprint. This is only necessary for opkg which is on
the way out.
If the public key file at the remote resource is not named according to its
fingerprint, that's on the repo owner.
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Simplifies adding third-party repos. Functions on both 24.10 (opkg) and
main (apk). Based loosely on sshkey management.
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Many devices have LEDs to signal a specific link speed.
They are incorrectly displayed in LUCI when they are defined.
This commit adds the missing speed and duplex triggers.
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Add "Disabled" with value 9 as a choice for cron log level.
9 actually exceeds the highest built-in value 8, but can be
used to quieten the logging in cases where there are e.g. cron
jobs running each minute, which would create log spam.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Busybox crond only uses level 5, 7 and 8. (And 7 and 8 only differ
on one error regarding finding a crontab without user.)
For simplicity, just provide 5 and 7 as alternatives in LuCI.
Show level 7 as the default and as the first offered choice.
Add missing semicolons to the file.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Often restart is not what is necessary, and can trigger longer outages.
Reload is often sufficient, especially for things like rpcd.
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
The previous change did not work as intended for
partitions with _ in the name. I.e "0:qsee_1".
It would output an error "Invalid characters in filename".
So fix this by matching and replacing any
character except for a-z and 0-9 with "-".
Example "0:qsee_1" = I.e "0-qsee-1".
Signed-off-by: Kristian Skramstad <kristian+github@83.no>
When you download a partition, the name is hostname+mtdX.bin
and that can be confusing if you go back and try to remember
what mtdX was if you have 10+ partitions.
So let us add the partition name to the filename like:
hostname.mtdX.boot.bin
hostname.mtdX.firmware.bin
Note: If there is a better, easier and simpler way to do the
same thing, please let me know.
Signed-off-by: Kristian Skramstad <kristian+github@83.no>
Add support for switching the ssh service on and off via LuCI.
This is already possible in the uci section of dropbear.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Drop the bogus `enabled_fsck` option which seems to be an automatic Lua->JS
conversion artifact.
Fixes: #6837
Signed-off-by: Jo-Philipp Wich <jo@mein.io>