interfaces_configure() is unaffected. While looking at the code
decided to make all callers except newwanip and vxlan hook use
$reload to request a full reconfiguration as that is most likely
what the user would expect in these cases in the first place.
We will be adding NPT logging support because the infrastructure
already supports it. 1:1 is a bit harder to deal with so hands
off for now and see how this works out.
Store debug and deployment and keep production as the implied default
if we want to change this later we can't get out of it without a migration
which we don't have for legacy configuration storage at the moment.
It's really not nice to fudge a link-local in dhcp code as the
bridge has a separate setting for it since 2019.
While here remove the restriction for bridge members on relay
that seems to originate from m0n0wall and abandoned by pfSense
in 2020.
Discussed with @swhite2 conceptually before and upon further
inspection we do not rely on the correct naming as long as the
number mapping remains correct.
This makes debug mode work on PHP 7.4 as well. PHP 8 is unaffected.
This reverts commit f83a74d4961c2a0c0b3500d8092590fdb17f534f.
The problem here is that people assign dynamic IP pool range address
to static device but dhcpd doesn't care about the static assignment
and will just hand out the IP again for a second device.
Also see: #5810
Here we remove all persistently stored data from /root/var as configured
by the *_var_mfs rc variable. The cap should be able to be adjusted in
the GUI but will follow in a separate commit.
Eventually this also helps us with #5475.
Currently we will call parseOptionData() for each field method in the list, which shouldn't be needed as the underlying model can't change while parsing. Ideally we would extend SimpleXMLElement to offer a sticky/cached version of the parser or cache results for model targets, the latter has the disadvantage that parseXml() should keep track of the path in the model in order to know what it already did.
As this is one of the last "hotspots" according to the profiler. it feels like a good idea to at least document the opportunity for future reference.
Turns out the upgrade to php80 probably increased strictness of 0 == null, revealing a flaw in the AutoNumberField implementation. Easy fix is to never start at 0 unless explicitly set, in which case it's not an issue.
Since PHP80 decided to turn certain notices into warnings, a way to silence these is necessary, which also presents us with the opportunity to make this configurable.
as the previous version already build files in /var/db/aliastables and therefor future cleanup work, there might be some noise when patching this without a reboot (empty bogons or other external aliases). Without this patch the issue is only that aliases aren't removed, which doesn't make this a super high priority in my humble opinion.
o Since our filterlog does contain labels nowaydays (https://github.com/opnsense/core/issues/5014), we can stop parsing pfctl which can be quite time consuming
o Rate limit "filter rule stats" configd action to prevent excessive pfctl access on filter pages
o cache getservbyname() results when validating a port in isPort() and use the same static object in is_port() for legacy code
o move isAlias() to use getByName() in the alias model so we can add a simple caching mechanism there
To invalidate the cache for isAlias() one could either hook a new instance of the model using attachAliasObject() or attach an empty one attachAliasObject(null).