o add basic workflow (start/stop/list)
o basic configd actions + implementation in capture.py script
o grid without actions to show current capture jobs
Removes them from get_interface_list() and shows their description
on the assignments page. It's already in the interface name but
we should adhere to consistency in the select box.
* get_interface_list() now excludes wlan parents
* console needs to cope with that change, restructuring
* add wlan device visbility for pluginctl
* use section logic in assignment to match wireless
* during assignment save move i.e. "iwn0" to "iwn0_wlan0"
since the console also does this now so that the firewall
rules expansion is correct
* speed up assignment a little by calling plugins_devices()
only once
* fix 'status' key warning for PHP 8+
It's still debatable if ifctl is a tool to record data
for interfaces and act on it or if the latter part should
be handled by more authorative (interface) code.
Inspired by: https://github.com/opnsense/core/pull/5992
For most purposes adding an IPv4 or IPv6 address already does the
UP/RUNNING thing and DHCP and PPPoE might as well so at the point
when we add the description bring it "up" explicity as well and
remove the later interface_bring_up() call.
For rtsold this is also required and IPv6 device might be different
from main device so add another "up" there and then also follow-up
with another "up" and "description" in case the main device and
IPv6 device differ.
On the overlap cases the duplicated "up" additions do not slow down
the boot.
(mod_openssl.c.2606) SSL: ssl.use-sslv2 is deprecated and will soon be removed. It is disabled by default. Many modern TLS libraries no longer support SSLv2.
(mod_openssl.c.2613) SSL: ssl.use-sslv3 is deprecated and will soon be removed. It is disabled by default. Many modern TLS libraries no longer support SSLv3.
Use the hardcoded _wlan0 append when we have the base interface already.
This only happens to "count" the number of existing clones.
We also get the opportunity to clean up get_real_interface() which was
a bit ironic calling interface_get_wireless_clone() three times and then
the other wireless code ignoring get_real_interface() in favour of
interface_get_wireless_clone().
Make the presence of <wireless/> node authoritative except
for the assignment page where we need to set this node in
the first place.
Now pivot away from a handrolled regex of devices names to
trust the output of the sysctl net.wlan.devices which is also
the prefix for our clones.
Restructure return value of legacy_interface_listget() to return
WLAN-only devices present in the system and avoid returning null
value to simplify the couple of callers (some already assumed as
much).
Assume that <wireless/> node is properly set since console.inc
always did store this. Not sure about wireless clones yet, but
will check and fix in the scope of this ticket anyway.
get_interface_list() moves to interfaces.lib.inc since it uses
most functions from there and util.inc should not want to know
about interface details in the first place. We need this later
when we work through interfaces_assign.php for device iteration
reasons.