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)
* `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

View file

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