Respect the RR type implied by the DDNS Service Type. Fix #16045
Background:
In previous pfSense versions, the RR type and the IP address family used
to make the DDNS request were assumed to be the same and could be
overridden for specific DDNS services. The implementation of #11177 avoids
this assumption in order to support updating the RR over IPv4 and IPv6
regardless of the RR type. This change introduced potential issues when
the configured "interface to monitor" contains both IPv4 and IPv6
addresses:
- The DDNS request may be sent using an IP address family that is not
supported by the DDNS server / API endpoint.
- The RR type defaults to the request's IP address family which may not be
the same as what's intended by the DDNS Service Type.
Commit:
This commit addresses the second issue by separating the RR type from the
IP address family used to make the DDNS request. The RR type is once again
based on the DDNS Service Type.
[6 lines not shown]
Remove redundant call to dyndnsCheckIP()
The variable '$this->_dnsIP' is set when the object is constructed and
when the function '_detectChange()' is called. It is additionally set in
the function '_checkStatus()' - this is redundant since by this point the
variable has already been set by a parent function.
Improve performance of state display in diag_dump_states.php
The variable $killdstip was previously used in the tool-tip for the kill
state icon which later changed to reference srcip/dstip instead. Improve
the performance by removing this variable, assigning each state's date in
one go, and avoid redundant calls when getting the interface description.
Compare system version using the pfSense-system package
This returns the previous behavior of comparing the package which has the
product dependencies.
Exclude the ramdisk restore log from the archive
The ramdisk restore log is meant to log the latest restore attempt. It
must be excluded from the archive to avoid clobbering the active log used
while the archive is being extracted.
Add a reminder to stop/start the RA service when the prefix has changed
The DeprecatePrefix option for radvd only triggers on shutdown.
Followup to 646389402feb2dd94171d7c81d4be67feef4f8d8.
Reduce rc.newwanipv6 actions on RENEW
This change passes the dhcp6c REASON to the script. The script uses this
to retain the previous behavior for REASONs other than RENEW. If the
reason is RENEW, action is only taken when there has been a change. Also
include the REASON in the info log message.
Followup to 646389402feb2dd94171d7c81d4be67feef4f8d8.
Trigger rc.newwanipv6 on dhcp6c RENEW
The upstream DHCPv6 server may respond to the RENEW with a different
prefix hence the rc.newwanipv6 script should be called. The script should
avoid taking action as appropriate when the address has not changed.
Part of https://redmine.pfsense.org/issues/12947
Generate the UUID using the external interface MAC
Use the configured external interface to generate the UUID and serial for
miniupnpd.conf. Additionally, resort to using a random MAC on failure.
Handle a null return from pfSense_get_ifaddrs()
- Update the usage of get_interface_addresses() to handle a null return
- Update the usage of get_interface_mac() to handle an empty string
- Remove unused argument from interface_qinq2_configure()