-
Notifications
You must be signed in to change notification settings - Fork 380
dnsexit2: Update multiple hosts at a time when possible #684
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
|
Sorry for the delay, I've been having some challenges on testing this. While testing this with multiple hosts, the produced JSON data is looking perfectly fine to me, but I'm receiving this response; Interestingly, when only testing with a single host, it works OK. Finally, I've decided to contact DNSExit support (just did this), in hopes of moving this forward. However, one other thing I've noticed, is that the cache is behaving strangely. While the cache is correctly updated to have for each host; it also has the IPs set to it, and the next run will happily print: |
|
Thank you for testing @jortkoopmans!
This definitely looks like a server-side bug at DNSExit. I'll put this PR on the back burner until I hear that the issue has been fixed.
That's an old bug in ddclient that arises with |
|
Just a brief update, I've not received word from DNSExit support yet. Today I've sent a friendly reminder. |
|
Apologies for the extremely late response @rhansen. After some attempts to get a response on my support request from DNSExit, I finally caught their attention, and they were friendly enough to look into the issue and subsequently reported they fixed the issue on their end. It then sat on my desk for a bit 😬, but I finally got around to testing it again based on this branch. I then briefly looked into resolving conflicts on this old branch with master, but hit a snag with reworks on the |
0382f13 to
2581ca9
Compare
This makes the tests easier to read and extend.
|
@jortkoopmans @DiSHTiX Would one (or both) of you please test this one final time? |
|
I signed up with dnsexit and grabbed a free domain to test this. Here are my observations:
ddclient.conf: ddclient.cache:
ddclient.conf: ddclient.cache:
ddclient.conf: ddclient.cache: |
|
@indrajitr ; thanks for testing, one thing I do recall is that behavior on non-existing records can be unpredictable. For your case 1 (fail); did you have the foo and bar records already existing? @rhansen ; I will try to also run a test soon! |
|
@jortkoopmans, more details:
Enabled debug for more details, I see the API call is using following JSON payload: and the POST fails with following response:
and the POST succeeds with the following response (pasted for one host, but the other host succeeds with similar response): |
This increases overhead when the verbose or debug option is disabled, but makes it possible for tests to intercept debug, info, and fatal messages.
|
I pushed some logging fixes and test improvements (no other behavior changes). @indrajitr IIUC, assuming DNSExit supports third-level host names for their free second-level domain names. |
|
@rhansen: |
|
|
|
@rhansen you are 100% right!
Just found out that this is actually allowed in their DNS control panel. So technically, I can have In fact, these So the following ddclient.conf works just fine (even when |
|
Oh things are moving along fast today. I was not at my pc earlier but i see indrajitr already nailed it down. DNSexit quite awesome how they allow full control through their api, basically all types of records can be added/removed/updated on the fly and in a single api update. thanks both for your efforts and time |
|
Sorry I couldn't test before this was merged, but thanks @indrajitr for doing this. Indeed the zone needs to match with the claimed subdomains (under the linkpc.net TLD), well spotted @rhansen 👍 . |
TODO: