When updating a hostname, the response to the update syntax will be one of the return codes. If there is an error, clients should communicate to the user a brief description of the problem that the return code indicates. To make troubleshooting easier, generic error messages such as “Unable to update” should not be used.

If updating multiple hostnames, hostname-specific return codes are given one per line, in the same order as the hostnames were specified. Return codes indicating a failure with the account or the system are given only once.

Update Types

Successful Updates

There is only one return code which indicates a successful update. Code good indicates that the update was successful and that the IP address was changed in our system.

No Change Updates

A nochg indicates a successful update but the IP address or other settings have not changed. The only acceptable situation where this allowed is during client initialization when the host has already been set to the same IP address. Users may also be given the option to “force” an update. This can be used to verify the authentication credentials and the current IP address.

As this is fairly infrequent, repeated instances of nochg updates will result in the host being blocked. Users should not be allowed to repeatedly force updates.

While it is not expected that the clients will prevent users from doing this, the client itself should strenuously avoid performing updates which would result in this return result.

Fatal Updates

Any failed update attempt is fatal which means that all further updates will also fail until the user has taken some sort of corrective action. For this reason, any failed update attempt should cause the client to be disabled until the situation is corrected and the client is manually re-enabled by the user.

Additionally, because the update may fail for a number of different reasons, the client needs to provide some method of communicating with the user that the update has failed and why. Some suggestions include:

  • Logging a message in the general log window for the router (assuming it has one)
  • Logging a message to a log window specific to the Dyn Update Client
  • Generating an error message to an email address configured by the user
  • Communicating to an external process running on the users desktop

Many of these errors involve configuration mistakes within the client or inconsistencies between the client configuration and the user’s account status; in all of those cases, the client must stop updating until the user has corrected the problem. Retrying the update automatically in those cases is abuse and may result in client blocks.

Account-Related Errors

The codes below indicate that the client is not configured correctly for the user’s account. These return codes are given just once. The client must stop updating until the user confirms that the problem has been resolved.

badauth The username and password pair do not match a real user.
!donator An option available only to credited users (such as offline URL) was specified, but the user is not a credited user. If multiple hosts were specified, only a single !donator will be returned.

Update Complete

The codes below indicate that the update of a hostname was completed successfully.

good The update was successful, and the hostname is now updated.
nochg The update changed no settings, and is considered abusive. Additional nochg updates will cause the hostname to become blocked.

Note that, for confirmation purposes, good and nochg messages will be followed by the IP address that the hostname
was updated to. This value will be separated from the return code by a space.

Hostname-Related Errors

The codes below indicate a problem with a specific hostname. The client must stop updating that hostname until the user confirms that the problem has been resolved.

notfqdn The hostname specified is not a fully-qualified domain name (not in the form hostname.dyndns.org or domain.com).
nohost The hostname specified does not exist in this user account (or is not in the service specified in the system parameter).
numhost Too many hosts (more than 20) specified in an update. Also returned if trying to update a round robin (which is not allowed).
abuse The hostname specified is blocked for update abuse.

If no hostnames were specified, notfqdn will be returned once.

Agent-Related Errors

badagent The user agent was not sent or HTTP method is not permitted (we recommend use of GET request method).
good This answer indicates good update only when address is requested by update. In all other cases it warns user that request was ignored because of agent that does not follow our specifications.

Server Error Conditions

The codes below indicate server errors that will have to be investigated. The client must stop updating and ask the user to contact Dyn support. The client must not resume updating until 30 minutes have passed or user confirms that the problem has been resolved.

dnserr DNS error encountered
911 There is a problem or scheduled maintenance on our side.