Bug #6357
closedDynamic DNS (RFC2136) updates always considered successful
100%
Description
Architecture: amd64
Installed version: 2.3
I've set the Priority as High, because the functionality isn't working with newly-entered Dynamic DNS entries in the WebConfigurator.
Issue Details:
It has been observed by myself that when updating RFC 2136 hosts, even with "Save and Force Update", the system does not actually check the IP address on the record (or if it exists), and then does not update the Dynamic DNS record. It only errors saying the IP address hasn't changed, however even with the record existing with mismatched addresses (that is, not matching the specified interface IP address) it still states that the IP Address hasn't changed and will not update. I've attempted to trace this issue, and I track it back to the Dynamic DNS update task in 'cron', which executes /etc/rc.dyndns.update and the same issue appears there.
Testing this a little further, to rule out the pfSense being unable to reach the DNS server, I threw some techie-fu at this, and manually ran 'nsupdate' with relevant command line arguments and pushed the update to my own server. I can confirm that this works.
Therefore, I believe the issue is somewhere in how Dynamic DNS updates are handled, and that they're not being handled correctly at all.
Output of system logs (from Web Configurator screens):
When the update task is run from the command line over SSH (/etc/rc.dyndns.update):
May 15 19:09:04 php-cgi rc.dyndns.update: phpDynDNS: Not updating sub1.domain.tld A record because the IP address has not changed.
May 15 19:09:04 php-cgi rc.dyndns.update: phpDynDNS: Not updating sub1.domain.tld AAAA record because the IPv6 address has not changed.
May 15 19:09:04 php-cgi rc.dyndns.update: phpDynDNS: Not updating sub2.domain.tld A record because the IP address has not changed.
May 15 19:09:04 php-cgi rc.dyndns.update: phpDynDNS: Not updating sub2.domain.tld AAAA record because the IPv6 address has not changed.
May 15 19:09:05 php-cgi rc.dyndns.update: phpDynDNS: Not updating sub3.domain.tld A record because the IP address has not changed.
May 15 19:09:05 php-cgi rc.dyndns.update: phpDynDNS: Not updating sub3.domain.tld AAAA record because the IPv6 address has not changed.
When run from WebConfigurator "Save And Force Update":
May 15 22:54:53 php-fpm 1361 /services_rfc2136_edit.php: phpDynDNS: Not updating sub1.domain.tld A record because the IP address has not changed.
May 15 22:54:53 php-fpm 1361 /services_rfc2136_edit.php: phpDynDNS: Not updating sub1.domain.tld AAAA record because the IPv6 address has not changed.
May 15 22:54:53 php-fpm 1361 /services_rfc2136_edit.php: phpDynDNS: Not updating sub2.domain.tld A record because the IP address has not changed.
May 15 22:54:53 php-fpm 1361 /services_rfc2136_edit.php: phpDynDNS: Not updating sub2.domain.tld AAAA record because the IPv6 address has not changed.
May 15 22:54:53 php-fpm 1361 /services_rfc2136_edit.php: phpDynDNS: Not updating sub3.domain.tld A record because the IP address has not changed.
May 15 22:54:53 php-fpm 1361 /services_rfc2136_edit.php: phpDynDNS: Not updating sub3.domain.tld AAAA record because the IPv6 address has not changed.