Possible bug in Cloudflare DDNS



  • I have a domain on Cloudflare that is being updated by pfSense's DDNS service. However, it seems like there's something wrong if I enable Cloudflare proxy.

    Cloudflare Proxy Enable Proxy
    Note: This enables Cloudflare Virtual DNS proxy. When Enabled it will route all traffic through their servers. By Default this is disabled and your Real IP is exposed.
    

    All subdomains, and the domain itself @, are updated fine if the option is disabled.

    However, if I enable that option, auto-updates fail. Manually updating it still works ("Save and Force Update").

    The rest that does not have that option enabled is still being updated fine. In the system logs, I can't find any other error apart from "DNS Validation Error". Here's the sanitized log snippet:

    Nov 2 22:11:28	php-fpm	336	/rc.dyndns.update: Dynamic DNS cloudflare (@.example-domain.xyz): _update() starting.
    Nov 2 22:11:36	php-fpm	336	/rc.dyndns.update: Dynamic DNS cloudflare (example-domain.xyz): _checkStatus() starting.
    Nov 2 22:11:36	php-fpm	336	/rc.dyndns.update: phpDynDNS (@): PAYLOAD: {"success":false,"errors":[{"code":1004,"message":"DNS Validation Error","error_chain":[{"code":9003,"message":"Invalid 'proxied' value, must be a boolean"}]}],"messages":[],"result":null}
    Nov 2 22:11:36	php-fpm	336	/rc.dyndns.update: phpDynDNS (@): UNKNOWN ERROR - DNS Validation Error
    Nov 2 22:11:37	php-fpm	336	/rc.dyndns.update: Dynamic DNS: updatedns() starting
    Nov 2 22:11:38	php-fpm	336	/rc.dyndns.update: Dynamic DNS cloudflare (www.example-domain.xyz): 11.22.33.44 extracted from local system.
    Nov 2 22:11:38	php-fpm	336	/rc.dyndns.update: Dynamic DNS (www.example-domain.xyz): running get_failover_interface for wan. found vtnet0
    Nov 2 22:11:38	php-fpm	336	/rc.dyndns.update: Dynamic DNS cloudflare (www.example-domain.xyz): 11.22.33.44 extracted from local system.
    Nov 2 22:11:38	php-fpm	336	/rc.dyndns.update: Dynamic Dns (www.example-domain.xyz): Current WAN IP: 11.22.33.44 Cached IP: 44.55.66.77
    Nov 2 22:11:38	php-fpm	336	/rc.dyndns.update: DynDns (www.example-domain.xyz): Dynamic Dns: More than 25 days. Updating. 1541167898 - 1538119157 > 2160000
    Nov 2 22:11:38	php-fpm	336	/rc.dyndns.update: Dynamic DNS cloudflare (www.example-domain.xyz): _update() starting.
    Nov 2 22:11:39	php-fpm	336	/rc.dyndns.update: Dynamic DNS cloudflare (www.example-domain.xyz): _checkStatus() starting.
    Nov 2 22:11:39	php-fpm	336	/rc.dyndns.update: phpDynDNS (www): PAYLOAD: {"success":false,"errors":[{"code":1004,"message":"DNS Validation Error","error_chain":[{"code":9003,"message":"Invalid 'proxied' value, must be a boolean"}]}],"messages":[],"result":null}
    Nov 2 22:11:39	php-fpm	336	/rc.dyndns.update: phpDynDNS (www): UNKNOWN ERROR - DNS Validation Error
    Nov 2 22:11:41	php-fpm	336	/rc.dyndns.update: Dynamic DNS: updatedns() starting
    Nov 2 22:11:41	php-fpm	336	/rc.dyndns.update: Dynamic DNS cloudflare (subdomain1.example-domain.xyz): 11.22.33.44 extracted from local system.
    Nov 2 22:11:41	php-fpm	336	/rc.dyndns.update: Dynamic DNS (subdomain1.example-domain.xyz): running get_failover_interface for wan. found vtnet0
    Nov 2 22:11:41	php-fpm	336	/rc.dyndns.update: Dynamic DNS cloudflare (subdomain1.example-domain.xyz): 11.22.33.44 extracted from local system.
    Nov 2 22:11:41	php-fpm	336	/rc.dyndns.update: Dynamic Dns (subdomain1.example-domain.xyz): Current WAN IP: 11.22.33.44 Cached IP: 11.22.33.44
    Nov 2 22:11:41	php-fpm	336	/rc.dyndns.update: phpDynDNS (subdomain1.example-domain.xyz): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.
    Nov 2 22:11:42	php-fpm	336	/rc.dyndns.update: phpDynDNS (subdomain2.example-domain.xyz): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.
    Nov 2 22:20:18	php-fpm	334	/index.php: Successful login for user 'xxxxxxx' from: 192.168.111.222 (Local Database)
    

    .

    Steps to reproduce:

    1. Have a domain/subdomain on Cloudflare
    2. Update that domain using the DDNS service. Everything should still work fine.
    3. Check "Enable Proxy". Auto-updates should fail, but force updates should still work.