Custom IPv4 DDNS update (Dynu) failing "Malformed input to a URL function"
-
Here's the log extract, what I need to know is whether this error originates in pfSense or Dynu's API. Log entries are in reverse time order (most recent first):
Jan 26 16:10:57 php-fpm 5116 /services_dyndns_edit.php: Dynamic DNS custom (): _update() ending. Jan 26 16:10:57 php-fpm 5116 /services_dyndns_edit.php: Curl error occurred: URL rejected: Malformed input to a URL function Jan 26 16:10:57 php-fpm 5116 /services_dyndns_edit.php: Dynamic DNS custom (): _checkStatus() starting. Jan 26 16:10:57 php-fpm 5116 /services_dyndns_edit.php: Response Data: Jan 26 16:10:57 php-fpm 5116 /services_dyndns_edit.php: Response Header: Jan 26 16:10:57 php-fpm 5116 /services_dyndns_edit.php: Sending request to: https://api.dynu.com/nic/update?hostname=[redacted]&password=[redacted] Jan 26 16:10:57 php-fpm 5116 /services_dyndns_edit.php: Dynamic DNS custom (): _update() starting. Jan 26 16:10:57 php-fpm 5116 /services_dyndns_edit.php: Dynamic DNS (): running get_failover_interface for wan. found re1 Jan 26 16:10:57 php-fpm 5116 /services_dyndns_edit.php: Dynamic DNS custom (): [redacted] extracted from local system. Jan 26 16:10:57 php-fpm 5116 /services_dyndns_edit.php: Dynamic DNS custom (): _checkIP() starting. Jan 26 16:10:57 php-fpm 5116 /services_dyndns_edit.php: Dynamic DNS: updatedns() starting
-
@jhg
Which URL pfSense is sending is shown in the log.
Request Dynu for the correct format.You can also check the URL with curl in the shell or in a web browser.
-
@viragomann I figured out the problem. The URL entered in the DDNS configuration page had a leading blank due to being copy-pasted from the Dynu web page.
Enhancement suggestions:
- Remove leading/trailing spaces from the URL before building the curl command.
- Provide better error messages, and an option to enable verbose logging from the curl command
Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.