get_interface_addresses(): Change use of 'tunnel' for p2p destination addresses to 'dstaddr'
In the php module, the 'tunnel' address attribute returned from
pfSense_get_ifaddrs() has been renamed to 'dstaddr' to more appropriately
reflect that the address is a p2p destination. This change alters the behavior
of get_interface_addresses() to reflect that difference both in consumption of
of the address property and presenting p2p endpoint addresses as interface
attributes as dstaddr and dstaddr6, appropriately. The only consumer of
this, the pppoe_handler script, is adapted to the change as well.
UPnP IGD & PCP: Improve help text
- Only propose compatible (CGNAT filtering test capable) STUN servers in
help, use newer wording from RFC 5389 and improve help slightly
- Remove default STUN port as no more needed by bf31326
Fix editing interface group names
This was previously a pointer to the global config before the config
access rewrite and hence the assignment would modify the config.
Reference the correct VIP in input validation description. Fix #16272
The $vip variable may not reference the $found_carp's VIP since there's no
break in the loop. Fix it by keeping the ID once it's found.
Update list of IPv4-only DDNS endpoints for AAAA updates. Implement #16251
Non "v6" services can be omitted from _curlIpresolveV4 since the request
will already happen over IPv4.
Avoid loop between pppoe-handler and rc.newwanip. Fix #16235
Once the PPPoE client receives the interface address an ADDR_ADD DEVD
event triggers pppoe-handler which ends up calling rc.newwanip. The
rc.newwanip script calls link_interface_to_vips() which triggers an
ADDR_ADD event for each configured VIP. These VIP events result in a loop
between the scripts. Fix the existing loop by ignoring ADDR_ADD events for
IPv4 VIPs. The IPv6 scripts do not behave this and hence no loop.
Improvements to plugin_xmlrpc functions
- The "merged in config" log may not show all merged sections. Fix this by
not clobbering the "$sections" variable.
- Fix variable expansion in the xmlrpc_recv plugin error logs.
- Pass the return value of "plugin_xmlrpc_recv" to
"plugin_xmlrpc_recv_done" and introduce the magic string
"xmlrpc_recv_result" within the return value. This allows packages to
define the result and act on it after the sync is done. For example the
package may only want to restart in "plugin_xmlrpc_recv_done" when there
have been config changes with the call to "plugin_xmlrpc_recv".
Sync writes for critical data
PHP 8.1 introduced native support for fsync(); use this to bring back the
functionality removed with c5663bf5c9a830d5c265bd26e875ce271081eb3f.
Tune ZFS TXG and config dataset settings. Implement #16210
Increase vfs.zfs.txg.timeout so more writes are coalesced before they
are flushed to storage. Also change the ZFS dataset for the config to
always sync to mitigate the increased potential for critical data loss.