The new physical_interfaces() helper simplifies the constructions where we just need a list of configured device names, skipping the ones that don't exist.
Refactor existing core templates to remove the use of the interface.macro file.
Ok, so now we work with 1.20 but cannot use it because we can't render
the repo file before pkg updates itself and causes it to malfunction.
That means we cannot add 1.20 before 24.1.1.
Even if we fixed our mirror to be SRV compatible two facts remain:
1. We cannot control third party mirrors which will likely all be
plain HTTP(S).
2. pkg 1.20.x from FreeBSD will still break firewall operation and
upgrades if left on the system so we make the situation better now
to bite the user later on.
flushed states are propagated to pfsync, which means a machine
in backup state is still vulnerable to any event that hooks
into the interface_bring_down logic on the primary machine.
The danger representation is a bit over the top for deleting
a backup. The revert is a bit too lax. So move both to a
warning and indicate that the yes button is the one that should
be clicked in these cases, but in the same warning color as the
modal itself. While here change the title to something more
appropriate.
Two issues found, when optgroup is not used and filled with an empty item, the length of the group seems to be 0. To retrieve the selected values, we should use val() as iterating the children of the select won't return the options anymore.
This happened two times now...
[09-Oct-2023 19:25:44 Europe/Berlin] PHP Fatal error: Uncaught Error: Class "OPNsense\Base\ModelException" not found in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php:314
Stack trace:
thrown in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 314
Since we used to allow IP configuration ands VIPs are
a possibility we can avoid checking for missing IPs
and simply delete the status hash file which will
force an eventual reconfiguration.
While here avoid wireguard_prepare() from creating spurious
devices when there is no need for it as it happens with
manual invoke through "pluginctl -d wgX". wg-service-control
uses the same logic.
This field type is hardly used, but the intention was to generate a new uniqueid on creation and make it stick. Trying to remember the last know stored value is rather tricky (certainly when it comes to cloning), but making sure we ignore values saved isn't that hard.
Although this doesn't win the beauty contest, at least it does make sure uniqid() is called for every new field. Either when cloning the field or calling a set on an empty entry.
The rest of the system knows to use "opnsense" already. The page
throws the warning here but instead of hardcoding the theme name
just give it an empty string so the first one is selected even
though it might not be the right one. Hardcoding this doesn't
feel right...