interfaces: parse ifconfig output despite exit error in legacy_interfaces_details()
PR: https://github.com/opnsense/src/issues/284
In this version print the error number and stderr output. We'd like to know
which part of ifconfig fails and don't want to taint the parser output. If
it's empty it's empty anyway. But maybe in the commit we merge we should just
ditch everything to /dev/null as we do mute the error in most cases anyway.
The resulting array is empty worst case which is just what it is.
Suggested by: @e-alfred
interfaces: parse ifconfig output despite exit error in legacy_interfaces_details()
PR: https://github.com/opnsense/src/issues/284
In this version print the error number and stderr output. We'd like to know
which part of ifconfig fails and don't want to taint the parser output. If
it's empty it's empty anyway.
Suggested by: @e-alfred
mvc: Fix idassoc.php converting already decimal stored prefix_id via hexdec(), add unit test for idassoc.php (#10389)
---------
Co-authored-by: Franco Fichtner <franco at opnsense.org>
Firewall: Rules: group rules by default and fix "select all" logic (#10372)
This commit adds top-level groups that are always shown and visible, such as automatically generated, floating, group & interface rules. This first-level tree is not subject to local storage persistence, but state is kept to make sure these trees don't collapse if there are data changes in the grid to improve overall UX. The "category view" (previously "Tree view") is moved to a tree nested under the top-level groups. This tree is subject to local storage persistence.
Whether a top-level tree expands by default is determined by the interface type selection. If a user selects "floating rules", the floating rules section will expand, if instead a user selects an interface, the interface rules section will expand, while all other groups are collapsed.
This commit also fixes the case of the "select all" header checkbox, which was removed in the initial implementation as it wasn't functional. If a user now presses it, all selectable rules are selected, but only if they are visible under an expanded tree.