Merge pull request #723 from rhansen/infomaniak

infomaniak: Fix response status processing
This commit is contained in:
Richard Hansen 2024-07-29 04:09:41 -04:00 committed by GitHub
commit 32f95526f9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 6 deletions

View file

@ -126,6 +126,8 @@ repository history](https://github.com/ddclient/ddclient/commits/master).
[#691](https://github.com/ddclient/ddclient/pull/691) [#691](https://github.com/ddclient/ddclient/pull/691)
* `infomaniak`: Fixed incorrect parsing of server response. * `infomaniak`: Fixed incorrect parsing of server response.
[#692](https://github.com/ddclient/ddclient/pull/692) [#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. * `regfishde`: Fixed IPv6 support.
[#691](https://github.com/ddclient/ddclient/pull/691) [#691](https://github.com/ddclient/ddclient/pull/691)
* `easydns`: IPv4 and IPv6 addresses are now updated separately to be * `easydns`: IPv4 and IPv6 addresses are now updated separately to be

View file

@ -7320,7 +7320,7 @@ sub nic_infomaniak_update {
for my $v (4, 6) { for my $v (4, 6) {
my $ip = delete $config{$h}{"wantipv$v"}; my $ip = delete $config{$h}{"wantipv$v"};
if (!defined $ip) { if (!defined $ip) {
debug("ipv%d not wanted, skipping", $v); debug("IPv$v not wanted, skipping");
next; next;
} }
info("setting IP address to %s for %s", $ip, $h); info("setting IP address to %s for %s", $ip, $h);
@ -7331,10 +7331,10 @@ sub nic_infomaniak_update {
# IP changed => good <xxxx::yyyy> # IP changed => good <xxxx::yyyy>
# No domain name => Validation failed # No domain name => Validation failed
my %statuses = ( my %statuses = (
'good' => (1, sprintf("IP set to %s for %s", $ip, $h)), 'good' => [1, "IP set to $ip for $h"],
'nochg' => (1, sprintf("IP already set to %s for %s", $ip, $h)), 'nochg' => [1, "IP already set to $ip for $h"],
'nohost' => (0, sprintf("Bad domain name %s or bad IP %s", $h, $ip)), 'nohost' => [0, "Bad domain name $h or bad IP $ip"],
'badauth' => (0, sprintf("Bad authentication for %s", $h)), 'badauth' => [0, "Bad authentication for $h"],
); );
my $reply = geturl( my $reply = geturl(
proxy => opt('proxy'), proxy => opt('proxy'),
@ -7346,7 +7346,7 @@ sub nic_infomaniak_update {
(my $body = $reply) =~ s/^.*?\n\n//s; (my $body = $reply) =~ s/^.*?\n\n//s;
my ($status) = split(/ /, $body, 2); my ($status) = split(/ /, $body, 2);
my ($ok, $msg) = my ($ok, $msg) =
$statuses{$status} // (0, sprintf("Unknown reply from Infomaniak: %s", $body)); @{$statuses{$status} // [0, "Unknown reply from Infomaniak: $body"]};
if (!$ok) { if (!$ok) {
failed($msg); failed($msg);
next; next;