diff --git a/ddclient.in b/ddclient.in
index c13e355..dd9c60c 100755
--- a/ddclient.in
+++ b/ddclient.in
@@ -4111,6 +4111,21 @@ sub nic_dyndns2_update {
next if !header_ok($hosts, $reply);
my @reply = split /\n/, $reply;
my $state = 'header';
+ # From :
+ #
+ # 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.
+ #
+ # TODO: There is no mention of what happens if multiple IP addresses are supplied (e.g.,
+ # IPv4 and IPv6) for a host. If one address fails to update and the other doesn't, is that
+ # one error status line? An error status line and a success status line? Or is an update
+ # considered to be all-or-nothing and the status applies to the operation as a whole? If
+ # the IPv4 address changes but not the IPv6 address does that result in a status of "good"
+ # because the set of addresses for a host changed even if a subset did not?
+ #
+ # TODO: The logic below applies the last line's status to all hosts. Change it to apply
+ # each status to its corresponding host.
for my $line (@reply) {
if ($state eq 'header') {
$state = 'body';
@@ -4147,6 +4162,10 @@ sub nic_dyndns2_update {
failed("updating %s: %s: %s", $hosts, $status, $errors{$status});
}
} elsif ($status =~ /w(\d+)(.)/) {
+ # TODO: does not mention
+ # anything about wait statuses. Is this obsolete (this code has been here
+ # since at least 2006)? Or does a different DynDNS-like service emit wait
+ # lines?
my ($wait, $units) = ($1, lc $2);
my ($sec, $scale) = ($wait, 1);
($scale, $units) = (1, 'seconds') if $units eq 's';