From 3c68abe551763eeaf5af28a76081f9f4caee815a Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Fri, 19 Jul 2024 20:24:38 -0400 Subject: [PATCH] easydns: Fix incorrect status value on success --- ChangeLog.md | 2 ++ ddclient.in | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index 6b88a03..92a5474 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -129,6 +129,8 @@ repository history](https://github.com/ddclient/ddclient/commits/master). [#713](https://github.com/ddclient/ddclient/pull/713) * `easydns`: Fixed parsing of result code from server response. [#713](https://github.com/ddclient/ddclient/pull/713) + * `easydns`: Fixed successful updates treated as failed updates. + [#713](https://github.com/ddclient/ddclient/pull/713) ## 2023-11-23 v3.11.2 diff --git a/ddclient.in b/ddclient.in index 814db04..7302783 100755 --- a/ddclient.in +++ b/ddclient.in @@ -4824,8 +4824,12 @@ sub nic_easydns_update { }; my $resultcode_re = join('|', map({quotemeta} 'NOERROR', keys(%errors))); my ($status) = $body =~ qr/\b($resultcode_re)\b/; + # 'good' is the only status value that ddclient considers to be successful. All other + # values are considered to be failures and will result in frequent retries (every + # min-error-interval, which defaults to 5m). + $status = 'good' if ($status // '') =~ qr/^NOERROR|OK$/; $config{$h}{"status-ipv$ipv"} = $status; - if (($status // '') !~ qr/^NOERROR|OK$/) { + if ($status ne 'good') { if (exists $errors{$status}) { failed("$h: $status: $errors{$status}"); } else {