On 2023.06.04 16:36, Grant Edwards wrote:
On 2023-06-04, Jack <ostrof...@users.sourceforge.net> wrote:
> I may have an explanation. How did you run ddclient when you got
that
> error? I think its check for ownership is very specific, and if you
> just run ddclient from command line as either yourself or root, you
are
> not the owner (ddclient) of the file. When run as a service
(rc-service
> ddclient start, in my case) the process is owned by ddclient, so the
> ownership matches. Also - that is just a warning, not an error, so
it
> should work anyway.
You're right, I was not running it as user ddclient.
It's not checking to see if the file is owned by the user ddclient,
it's checking to see if it's owned by the user _running_
ddclient. Either the code needs to be changed to check what the
warning says or the warning text needs to be changed.
I agree - it's probably ASSUMING that it's being run as the user
ddclient, which obviously isn't always the case.
Ignoring that warning, it still doesn't seem to correctly determine
whether an update attempt fails or not. As a result of that it tries
to do an update every time it runs, even though the IP address has not
changed since the last update (which did not fail, regardless of what
ddclient thinks).
I think I did see issues filed at github for that problem. Given the
lack of any core maintainer, you're probably going in the right
direction.
I've found that my DNS provider offers their own client, and I'm going
to try that. If that doesn't work, it shouldn't take more than about a
an hour to write my own in Python. [I've wasted way more than that
trying to get ddclient to work in the past few days.]