From 6816d37501aa495d71a441a8e391a1249c4d13f6 Mon Sep 17 00:00:00 2001 From: FileGo Date: Tue, 18 May 2021 20:24:28 +0100 Subject: ddns: T3254: fix incorrect update time This fixes a bug when show dynamic dns status returned (formatted) UNIX time 0. I have changed the code to use ddclient's mtime value in the cache file, which is updated on every successful sync with DDNS service as opposed to atime, which was previously used. (cherry picked from commit 89b127647cbf3fea3a439f43efa32a31aa03524e) --- src/op_mode/dynamic_dns.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/op_mode/dynamic_dns.py b/src/op_mode/dynamic_dns.py index f9a1aad38..263a3b6a5 100755 --- a/src/op_mode/dynamic_dns.py +++ b/src/op_mode/dynamic_dns.py @@ -65,11 +65,10 @@ def show_status(): if ip: outp['ip'] = ip.split(',')[0] - if 'atime=' in line: - atime = line.split('atime=')[1] - if atime: - tmp = atime.split(',')[0] - outp['time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(int(tmp, base=10))) + if 'mtime=' in line: + mtime = line.split('mtime=')[1] + if mtime: + outp['time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(int(mtime.split(',')[0], base=10))) if 'status=' in line: status = line.split('status=')[1] -- cgit v1.2.3