This commit replaces all rule source / destinations where more than one address is being targetted with a tablename like __rule__{uuid}__[source,destination] a support tool after load flushes the selected addresses into the table (which is automatically created by the ruleset). closes https://github.com/opnsense/core/issues/4756
* Add PTR records for DHCP endpoints in the correct format
* Delete PTR records when A records are deleted
* Use bulk add/remove requests to unbound-control to improve performance
Fixes#4597
This is more or less a proof of concept, we probably best change the api endpoint data as well to push in/out in the same record so we can also ship the details underneath for those interested.
Cleanup local data cache when a DHCP endpoint expires, so that it is
kept in sync with dynamic changes. This ensures that if an expired DHCP
endpoint returns and is assigned the same IP address the local cache is
correct and doesn't block the entry being dynamically re-added to Unbound.
Also don't cache the blacklist entries, which aren't needed to manage
the DHCP DNS entries. There can easily be 1M+ blacklist entries, so
ignoring these improves startup speed and reduces memory footprint
Fixes#4714
It can be snatched from any mirror if given which is very
bad when FreeBSD repo is enabled. A simple pkg-install
will pull in pkg and break the system.
We have to see how this holds up in practice. Reinstall was considered
as well for further protection but that might be even trickier depending
on what locking and version tricks the user did to their install to
retain a particular (working) state.
While testing pkg was snatched from FreeBSD mirror, which isn't
advisable (nevermind that FreeBSD mirror was enabled in the first
place).
Do the same for the release type shift to avoid pivoting towards
third party repos for any reason whatsoever.
This way the build can do all sorts of funny things and we will end up
with a consistent config.xml after boot. For people restoring other
config.xml that is not the case but in this scenario the user is likely
aware of what he or she is doing.
o Do not load the text changelog for the GUI as it is unused
o Rename product_name to product_id for consistency
o Always hint at product_target so correct changelog is displayed
o Rename type to target for consistency
o Add distinguishable labels to changelog view actions
o Return JSON when argument is given for easier debug