The BaseTableWidget now contains some more rudimentary options to update
existing rows and sort on a specific column index.
The firewall widget counts events live as they happen and populates a
table in a larger view, or a doughnut chart in a smaller view as
data comes in.
The original intend was to be able to reuse the Csrf class, but as this requires direct access to the session object, it's likely not a good idea for the goals of https://github.com/opnsense/core/issues/6389
Since the legacy pages need a lock on session anyway, keeping it doesn't make a difference.
cleanup _interfaces_gif_configure() a bit and mark the sections that should be removed in 24.7, the idea is to make sure routing is consistent between all interface types, which means the routing parts should go away. Existing configurations should stay functional, only when adding an aliasip no interface would be connected (which after final cleanup would be the default behavior anyway).
Ditch legacy pages and change menu registrations and acl's. This state should be safe for a minor release, so we can push the behavioral change in 24.7 by only removing the marked sections.
This allows for hooking into the EventSource mechanism on the client side,
enabling server-sent events without busylooping on the backend.
This will reduce stateless network chatter and eliminates the need for
polling and many other benefits.
Continuation of f25e1214dc,
which disables buffering on the webserver side. This change in particular also
removes implicit buffering on the configd side.
As an example, the polling of CPU usage is included with a backend script here.
Granted, this could easily be replaced by `iostat -w 1 cpu | egrep -v "tty|tin" --line-buffered`,
but the client will eventually need some form of per-event formatting which is already
being handled in this example. When implementing these types of scripts, make sure
that all output that encapsulates a single event is flushed at all times to prevent
OS buffering. A new controller (without any consumers) is also implemented to showcase
the passthrough mechanism on the controller side.
Menu, ACL and XMLRPC wer consolidated into the IPv4 flag. IPv6 is
no longer functional and operates from the shared reimplementation
now. Syslog doesn't work on OpenBSD dhcrelay especially since we
start it with -d so it tries to spam to stderr which is ignored by
daemon -f to background it properly with a pid file (it's a long
story, don't ask).
Since we are not ISC we can make a new menu spot. Keep the legacy
reconfiguration spot as we end up building a complex command line
to run and this doesn't have to go into a template that just stuffs
args into a variable to start it, which then requires and rc.d file.
Though we want to move it out of dhcpd.inc at some point.
Apparently the new MVC page is missing an apply button. ;)
It would be nice to have both IPv4 and IPv6 in here but it may be
less desirable in practice. For now use a shared namespace and
only migrate IPv4 switching the binary and breaking everything
in the process.