From 6340b8a1e2e1bc1e8050e2088d8c162c8ead7fd9 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Tue, 9 May 2023 21:12:16 +0200 Subject: [PATCH] dns/ddclient: move accounting of "last accessed timestamp' to poller, when execute() fails for whatever reason without an update, we want to prevent it looping to fast. --- .../src/opnsense/scripts/ddclient/lib/account/__init__.py | 3 +-- dns/ddclient/src/opnsense/scripts/ddclient/lib/poller.py | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py b/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py index de34627bd..b74f08c3c 100755 --- a/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py +++ b/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py @@ -128,6 +128,5 @@ class BaseAccount: # if current address doesn't equal the current state, propagate the fact return True else: - # unmodified, keep track of last access timestamp - self._last_accessed = time.time() + # unmodified, poller keeps track of last access timestamp return False diff --git a/dns/ddclient/src/opnsense/scripts/ddclient/lib/poller.py b/dns/ddclient/src/opnsense/scripts/ddclient/lib/poller.py index 4982055f8..08bf5af47 100755 --- a/dns/ddclient/src/opnsense/scripts/ddclient/lib/poller.py +++ b/dns/ddclient/src/opnsense/scripts/ddclient/lib/poller.py @@ -151,6 +151,9 @@ class Poller: if self.is_verbose: syslog.syslog(syslog.LOG_NOTICE, "Account %s changed" % acc.description) needs_flush = True + else: + # update last accessed timestamp + acc.update_state(None) except Exception as e: # fatal exception, update atime so we're not going to retry too soon acc.update_state(None)