diff --git a/ChangeLog.md b/ChangeLog.md index 5a5ad5f..f9c0d27 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -21,10 +21,10 @@ repository history](https://github.com/ddclient/ddclient/commits/master). ### Bug fixes - * Minor `freedns` protocol fixes, including: - * You can now update an address that differs from the system's own. - * If multiple hosts are defined and one fails, ddclient will no longer - skip the remaining hosts. + * If multiple hosts are defined and one fails, ddclient will no longer skip + the remaining hosts. + * Minor `freedns` protocol fixes. In particular, you can now update an + address that differs from the system's own. * Fixed a regression introduced in v3.9.0 that caused `use=ip,ip=` to fail. * "true" is now accepted as a boolean value. diff --git a/ddclient.in b/ddclient.in index a45d1c7..28b9fd7 100755 --- a/ddclient.in +++ b/ddclient.in @@ -2629,7 +2629,7 @@ sub nic_dyndns1_update { failed("updating %s: Could not connect to %s.", $h, $config{$h}{'server'}); next; } - last if !header_ok($h, $reply); + next if !header_ok($h, $reply); my @reply = split /\n/, $reply; my ($title, $return_code, $error_code) = ('', '', ''); @@ -2795,9 +2795,9 @@ sub nic_dyndns2_update { }) // ''; if ($reply eq '') { failed("updating %s: Could not connect to %s.", $hosts, $config{$h}{'server'}); - last; + next; } - last if !header_ok($hosts, $reply); + next if !header_ok($hosts, $reply); my @reply = split /\n/, $reply; my $state = 'header'; @@ -2905,9 +2905,9 @@ sub nic_noip_update { }) // ''; if ($reply eq '') { failed("updating %s: Could not connect to %s.", $hosts, $config{$h}{'server'}); - last; + next; } - last if !header_ok($hosts, $reply); + next if !header_ok($hosts, $reply); my @reply = split /\n/, $reply; my $state = 'header'; @@ -3146,9 +3146,9 @@ sub nic_zoneedit1_update { }) // ''; if ($reply eq '') { failed("updating %s: Could not connect to %s.", $hosts, $config{$h}{'server'}); - last; + next; } - last if !header_ok($hosts, $reply); + next if !header_ok($hosts, $reply); my @reply = split /\n/, $reply; foreach my $line (@reply) { @@ -3301,9 +3301,9 @@ sub nic_easydns_update { }) // ''; if ($reply eq '') { failed("updating %s: Could not connect to %s.", $hosts, $config{$h}{'server'}); - last; + next; } - last if !header_ok($hosts, $reply); + next if !header_ok($hosts, $reply); my @reply = split /\n/, $reply; my $state = 'header'; @@ -3415,9 +3415,9 @@ sub nic_namecheap_update { my $reply = geturl({ proxy => opt('proxy'), url => $url }) // ''; if ($reply eq '') { failed("updating %s: Could not connect to %s.", $h, $config{$h}{'server'}); - last; + next; } - last if !header_ok($h, $reply); + next if !header_ok($h, $reply); my @reply = split /\n/, $reply; if (grep /0/i, @reply) { @@ -3725,9 +3725,9 @@ sub nic_sitelutions_update { my $reply = geturl({ proxy => opt('proxy'), url => $url }); if (!defined($reply) || !$reply) { failed("updating %s: Could not connect to %s.", $h, $config{$h}{'server'}); - last; + next; } - last if !header_ok($h, $reply); + next if !header_ok($h, $reply); my @reply = split /\n/, $reply; if (grep /success/i, @reply) { @@ -3940,9 +3940,9 @@ sub nic_changeip_update { }); if (!defined($reply) || !$reply) { failed("updating %s: Could not connect to %s.", $h, $config{$h}{'server'}); - last; + next; } - last if !header_ok($h, $reply); + next if !header_ok($h, $reply); my @reply = split /\n/, $reply; if (grep /success/i, @reply) { @@ -4027,9 +4027,9 @@ sub nic_googledomains_update { }); unless ($reply) { failed("updating %s: Could not connect to %s.", $host, $config{$host}{'server'}); - last; + next; } - last if !header_ok($host, $reply); + next if !header_ok($host, $reply); # Cache $config{$host}{'ip'} = $ip; @@ -4236,9 +4236,9 @@ sub nic_cloudflare_update { my $reply = geturl({ proxy => opt('proxy'), url => $url, headers => $headers }); unless ($reply) { failed("updating %s: Could not connect to %s.", $domain, $config{$key}{'server'}); - last; + next; } - last if !header_ok($domain, $reply); + next if !header_ok($domain, $reply); # Strip header $reply =~ s/^.*?\n\n//s; @@ -4267,9 +4267,9 @@ sub nic_cloudflare_update { $reply = geturl({ proxy => opt('proxy'), url => $url, headers => $headers }); unless ($reply) { failed("updating %s: Could not connect to %s.", $domain, $config{$key}{'server'}); - last; + next; } - last if !header_ok($domain, $reply); + next if !header_ok($domain, $reply); # Strip header $reply =~ s/^.*?\n\n//s; @@ -4299,9 +4299,9 @@ sub nic_cloudflare_update { }); unless ($reply) { failed("updating %s: Could not connect to %s.", $domain, $config{$domain}{'server'}); - last; + next; } - last if !header_ok($domain, $reply); + next if !header_ok($domain, $reply); # Strip header $reply =~ s/^.*?\n\n//s; @@ -4383,9 +4383,9 @@ sub nic_yandex_update { my $reply = geturl({ proxy => opt('proxy'), url => $url, headers => $headers }); unless ($reply) { failed("updating %s: Could not connect to %s.", $host, $config{$key}{'server'}); - last; + next; } - last if !header_ok($host, $reply); + next if !header_ok($host, $reply); # Strip header $reply =~ s/^.*?\n\n//s; @@ -4420,9 +4420,9 @@ sub nic_yandex_update { }); unless ($reply) { failed("updating %s: Could not connect to %s.", $host, $config{$host}{'server'}); - last; + next; } - last if !header_ok($host, $reply); + next if !header_ok($host, $reply); # Strip header $reply =~ s/^.*?\n\n//s; @@ -4500,9 +4500,9 @@ sub nic_duckdns_update { # No response, declare as failed if (!defined($reply) || !$reply) { failed("updating %s: Could not connect to %s.", $h, $config{$h}{'server'}); - last; + next; } - last if !header_ok($h, $reply); + next if !header_ok($h, $reply); my @reply = split /\n/, $reply; my $returned = pop(@reply); @@ -4571,9 +4571,9 @@ sub nic_freemyip_update { # No response, declare as failed if (!defined($reply) || !$reply) { failed("updating %s: Could not connect to %s.", $h, $config{$h}{'server'}); - last; + next; } - last if !header_ok($h, $reply); + next if !header_ok($h, $reply); my @reply = split /\n/, $reply; my $returned = pop(@reply); @@ -4700,9 +4700,9 @@ sub nic_woima_update { }); if (!defined($reply) || !$reply) { failed("updating %s: Could not connect to %s.", $h, $config{$h}{'server'}); - last; + next; } - last if !header_ok($h, $reply); + next if !header_ok($h, $reply); my @reply = split /\n/, $reply; my $state = 'header'; @@ -4818,9 +4818,9 @@ sub nic_dondominio_update { # No response, declare as failed if (!defined($reply) || !$reply) { failed("updating %s: Could not connect to %s.", $h, $config{$h}{'server'}); - last; + next; } - last if !header_ok($h, $reply); + next if !header_ok($h, $reply); my @reply = split /\n/, $reply; my $returned = pop(@reply); @@ -4904,9 +4904,9 @@ sub nic_dnsmadeeasy_update { # No response, declare as failed if (!defined($reply) || !$reply) { failed("Updating %s: Could not connect to %s.", $h, $config{$h}{'server'}); - last; + next; } - last if !header_ok($h, $reply); + next if !header_ok($h, $reply); my @reply = split /\n/, $reply; my $returned = pop(@reply);