diff --git a/ChangeLog.md b/ChangeLog.md index f7b0f67..e7f8358 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -126,6 +126,8 @@ repository history](https://github.com/ddclient/ddclient/commits/master). [#691](https://github.com/ddclient/ddclient/pull/691) * `infomaniak`: Fixed incorrect parsing of server response. [#692](https://github.com/ddclient/ddclient/pull/692) + * `infomaniak`: Fixed incorrect handling of `nochg` responses. + [#723](https://github.com/ddclient/ddclient/pull/723) * `regfishde`: Fixed IPv6 support. [#691](https://github.com/ddclient/ddclient/pull/691) * `easydns`: IPv4 and IPv6 addresses are now updated separately to be diff --git a/ddclient.in b/ddclient.in index 017d808..5e5fa16 100755 --- a/ddclient.in +++ b/ddclient.in @@ -7331,10 +7331,10 @@ sub nic_infomaniak_update { # IP changed => good # No domain name => Validation failed my %statuses = ( - 'good' => (1, "IP set to $ip for $h"), - 'nochg' => (1, "IP already set to $ip for $h"), - 'nohost' => (0, "Bad domain name $h or bad IP $ip"), - 'badauth' => (0, "Bad authentication for $h"), + 'good' => [1, "IP set to $ip for $h"], + 'nochg' => [1, "IP already set to $ip for $h"], + 'nohost' => [0, "Bad domain name $h or bad IP $ip"], + 'badauth' => [0, "Bad authentication for $h"], ); my $reply = geturl( proxy => opt('proxy'), @@ -7346,7 +7346,7 @@ sub nic_infomaniak_update { (my $body = $reply) =~ s/^.*?\n\n//s; my ($status) = split(/ /, $body, 2); my ($ok, $msg) = - $statuses{$status} // (0, "Unknown reply from Infomaniak: $body"); + @{$statuses{$status} // [0, "Unknown reply from Infomaniak: $body"]}; if (!$ok) { failed($msg); next;