I own multiple domains which are managed in Zoneedit. I configured ddclient with all hosts listed in one line, separated by a comma (e.g. www.h1.com,www.h2.com,www.h3.com)
In the above example, ddclient creates the following call: https://dynamic.zoneedit.com/auth/dynamic.html?host=www.h1.com,www.h2.com,www.h3.com&dnsto=111.11.11.11
The response I receive from zoneedit is the following:
RECEIVE: <success code="201" text="no update required for www.h1.com to 111.11.11.11" zone="www.h1.com,www.h2.com,www.h3.com">
SUCCESS: updating www.h1.com: IP address set to 111.11.11.11 (201: no update required for www.h1.com to 111.11.11.11)
FAILED: updating www.h2.com,www.h3.com: no response from dynamic.zoneedit.com</success>
The problem is that zoneedit does not process more than one h:ost. It only processes the first host in the list. I checked the source of ddclient which confirms my observations
sub nic_zoneedit1_update {
debug("\nnic_zoneedit1_update -------------------");
## group hosts with identical attributes together
my %groups = group_hosts_by([ @_ ], [ qw(login password server zone) ]);
...
As the zoneedit login ID is case insensitive, I created multiple entries in /etc/ddclient.conf, every single host is now configured with a different login IDs. This is how I can work around the issue. However, as ddclient officially supports multiple hosts, the processing should be changed so that for every host, a separate request is sent to zoneedit
Second observation: For every host, the public IP address is identified again. In my eyes, this is not necessary, as it can be assumed that the address won't change so quickly.
I'm sorry. The following comment, which I posted before, seems to be wrong and the suggested solusion doesn't work even for me now. I hope that the discussion for this bug continues.
Last edit: Izuka Masahiro 2017-02-16
I have prepared a patch(for 3.9.0) which will send zoneedit request 1 by 1 for each host, PFA