Skip to content

ddclient: FAILED reported when provider returns HTML-wrapped OK or TOO_FREQ response #5333

@GitHoubi

Description

@GitHoubi

Important notices

Before you add a new report, we ask you kindly to acknowledge the following:

Describe the bug

At every boot, ddclient reports FAILED for all configured hostnames even when the DDNS provider successfully updated the record. The provider response is HTML-wrapped (e.g. <HTML><BODY><FONT FACE="sans-serif" SIZE="-1">OK<br /></FONT></BODY></HTML>), but ddclient's parser expects plain-text, causing it to treat every update as a failure.

Two distinct failure modes appear at boot:

  • TOO_FREQ — provider rate-limits simultaneous updates at boot, logged as FAILED
  • OK — record was actually updated successfully, still logged as FAILED: unexpected status

Last known working version: unknown — present since at least OPNsense 24.x.

To Reproduce

  1. Configure one or more DDNS hosts via Services > Dynamic DNS
  2. Reboot OPNsense
  3. Observe the boot console or /var/log/ddclient.log

Expected behavior

OK responses are recognised as successful updates. TOO_FREQ responses are logged as rate-limit warnings, not failures.

Describe alternatives you considered

No user-facing workaround available — the configuration is generated by OPNsense and does not expose an option to handle HTML-wrapped responses.

Screenshots

N/A

Relevant log files

FAILED: updating myhost.example.com: unexpected status (<HTML><BODY><FONT FACE="sans-serif" SIZE="-1">OK<br />)
FAILED: updating myhost2.example.com: unexpected status (<HTML><BODY><FONT FACE="sans-serif" SIZE="-1">TOO_FREQ<br />)

Additional context

The HTML wrapping originates from dyndns-compatible DDNS providers. The OPNsense-generated ddclient configuration does not instruct ddclient to strip HTML. May be fixable by adjusting the protocol setting or the response handling in the ddclient configuration template (likely under /usr/local/opnsense/service/templates/OPNsense/DynDNS/).

Environment

OPNsense 26.1.4 (amd64)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions