-
Notifications
You must be signed in to change notification settings - Fork 380
Fix handling of legacy status with IPv6-aware protocols
#670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@phaze75 Would you please try this to see if it fixes your issue? |
a92a6d6 to
2a38bb4
Compare
@rhansen I would like to try it out. But I have no development skills whatsoever, so I also have no idea how to compile the code to try it out. ddclient is "just" a package of my OPNsense firewall (OPNsense 24.1.7-amd64, FreeBSD 13.2-RELEASE-p11). I installed it by clicking on it. ;-) However, I can handle the system on command line level. So, if I should try this, I would need dummy step by step instructions provided on how to do it please. ;-) |
|
@phaze75 Try these steps:
|
The `dnsexit2` protocol reads the IP addresses from the new `ipv4` and `ipv6` variables, so it should update the `status-ipv4` and `status-ipv6` variables.
This shouldn't matter in practice because the `status-ipv$ipversion` field is initialized to a non-`good` value so failing to set it to `bad` doesn't turn it `good`, but it improves readability.
`$config{$h}{'status'}` was always initialized to a non-`undef` value,
so the `//` fallbacks never did anything. Instead, any protocol that
does not explicitly update the legacy `status` variable (such as
`godaddy`) would always appear to have failed even if it had
succeeded.
Change the `status*` variables to `undef` by default, and only set
them when an attempt is made so that the legacy `//` fallback works as
expected.
ddclient infrastructure will update the legacy `status` variable if necessary.
|
@rhansen Thanks a lot, I successfully managed to compile and replace the ddclient file. Unfortunately, GoDaddy meanwhile denies my access via API (maybe due to the excessive updates). I just became aware of the errors in the log. I tried to renew the API key and secret, but no success. I opened a support case. Update: I stumbled upon some recent posts from users in Reddit, who have similar issues. Some claim GoDaddy have changed their Domain API requirements, requiring customers to have at least 50 domains in their account to be allowed to use the API. That would kill my use case and our test case. I wait for official confirmation by GoDaddy. |
|
@rhansen Unfortunately the claims in Reddit were correct. I just received the official answer by GoDaddy:
As I have only a single domain, I cannot use or test the GoDaddy API anymore. Sorry! Thank you for your support! |
|
Thanks for following up. I'll go ahead and merge this and hope that someone will speak up if it breaks something. 😉 |
Fixes #554
Fixes #631