Project

General

Profile

Actions

Bug #16905

open

DNS Made Easy Dynamic DNS updates fail when Dynamic DNS password contains URL-reserved characters

Added by Walter Holm about 5 hours ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Dynamic DNS
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Release Notes:
Default
Affected Version:
2.8.1
Affected Architecture:
amd64

Description

Environment:
- pfSense CE 2.8.1
- Dynamic DNS Provider: DNS Made Easy

Issue:
Dynamic DNS updates fail when the Dynamic DNS password contains URL-reserved characters such as '&'.

The Dynamic DNS record is configured correctly and exists on the DNS Made Easy side.

Observed behavior:
pfSense reports authentication failures and the DDNS client status remains failed.

Example response:

Response Data: error-auth
phpDynDNS (<record-id>): (Error) Invalid username or password

Reproduction:

1. Create a Dynamic DNS-enabled A record in DNS Made Easy.
2. Set a Dynamic DNS password containing '&' or other URL-reserved characters.
3. Configure the record in pfSense Dynamic DNS using:
- DNS Made Easy provider
- Record ID
- Dynamic DNS password
4. Force update.

Result:
Update fails with error-auth.

Verification:
Using the same Record ID and Dynamic DNS password outside of pfSense succeeds when the password is URL-encoded.

Example:

curl -G \
--data-urlencode "id=<record-id>" \
--data-urlencode "password=<password>" \
--data-urlencode "ip=<address>" \
https://cp.dnsmadeeasy.com/servlet/updateip

The update succeeds immediately.

Expected:
pfSense should URL-encode Dynamic DNS credentials before constructing the update request.

Actual:
The password appears to be passed without proper URL encoding, causing authentication failures when reserved characters are present.

Workaround:
Use a password containing only URL-safe characters or update the record using an external script that URL-encodes parameters.

No data to display

Actions

Also available in: Atom PDF