To allow legacy services without a model to hook into the `ApiMutableServiceController`, we define a protected `serviceEnabled` function that by default checks the given `internalServiceEnabled` property to see if a service is enabled, but allows derived classes to override the functionality. We loosen the property restrictions in `initialize()` by moving the checks to their runtime implementations.
DHCPv4/v6 is modified here to hook into this change, but since the `actions_services` requires the keyword `service`, which isn't used by the mutable service controller, we define start/stop/restart/status actions in the `actions_dhcpd.conf` and the new `actions_dhcpd6.conf` files.
* dhcp6: add backend for listing dhcpv6 leases
* dhcp6: add leases view and controller
* dhcp6: lease deletion backend
* dhcp6: move to separate dhcpv6 directory to accomodate the service control UI
The process simply fires off N requests, with each request restarting the dhcp server. Aggregating the addresses is likely not worth the effort, so just drop the feature.
o Offer "Exclude console settings from import." option, enabled by default
o Make sure Interfaces->Assignments shows and validates non-existing configured interfaces to ease tracking down the changes
o use is_interface_mismatch() to signal probably incompatible change and signal the user in that case (postpone reboot)
- reworks the get_leases.py script to accomodate the "last declaration is the current one" logic from dhcpd.leases(5). (neither core nor plugins is currently using this action)
- includes binding states for failover setups in dhcpd.py lease file parsing. These are included in the leases page if show inactive is selected.
- adds small utility function in Firewall/Utility to check wheter a given IP (4 or 6) is within the bounds of a given CIDR block. Needed to bind a lease declaration to an interface in the front end.
- remove dhcpleaseinlocaltime property from services_dhcp.php. dhcpd.py works with epochs, so we only need to convert to a sensible local date in the controller.
- implements multiselect lease deletion
- implements multiselect interface filtering
- does not yet hook into ApiMutableServiceControllerBase, since the legacy configuration makes it a bit tricky.
o implement a sequence as sort order for https://github.com/opnsense/core/issues/6471
o support members split on spaces and on comma's in filter.lib.inc in case something goes wrong during migration.
While converting legacy code we do seem to have multiple static entries in different models, in which case we tend to overwrite ArrayField and extend the output with the static entries that are required for the model. These can either be defined in the legacy code (SPDField) or defined as static options (like the bogons in AliasField).
This commit adds a method getStaticChildren() which the derived class may overwrite in order to spawn new items to the list which can not be persisted. This should help avoid duplication of similar code constructs in various migrated areas. These items are constructed during the "post loading" event.
We might want to match specifically for /64 but users may have
success with other sizes despite the configuration error. Only
make the obvious /128 not relevant here.
Add severity filter.
fixed weird typos in tags.
use selectpicker for selects
a uniform code is used to fill the selects.
empty result message is aligned with the same in log grids
This reverts commit 366c888c9ecc579a700fbb25cdb89dad9f612b24.
This does not work either. Something seems wrong here with
the kernel responding to "ifconfig up" with a "link down".