Hi Jonas,
thank you for taking the time. This patch looks good to me.
Acked-By: Michael Tremer michael.tremer@ipfire.org
On Mon, 2015-08-31 at 18:11 +0200, Jonas wrote:
Hi,
sorry for the delay. The desec.io DDNS provider class is now implemented analog to
http://git.ipfire.org/?p=ddns.git;a=blob;f=src/ddns/providers.py;h=6a c5 56444553fbf0d6e8b23854fe228ad6c81fc5;hb=HEAD#l805
for simultaneous IPv4/v6 updates as suggested by Michael.
Registering IPv4 and IPv6 addresses with the update.dedyn.io server was successfully tested. Explicit unregistering will still require updates on the server side.
Most of the providers don't implement that and that is okay.
Find attached the patches for src/ddns/providers.py and ddns.conf.sample
Stefan, would you please merge these patches after giving them good testing?
@Jonas: If you want to promote out little ddns client, it will run on other systems as well, not just IPFire. Maybe it needs some slight modification on the one or the other distribution, but I think it is de finitely worth being more widely used.
Best, -Michael
-Jonas
On 07/31/2015 12:09 PM, Michael Tremer wrote:
Hi,
On Fri, 2015-07-31 at 01:51 +0200, Jonas wrote:
Hello Michael,
in case of both IPv4 and IPv6 connection, the query string in the update URL may contain both a "myip" and a "myipv6" key simultaneously. (for single protocol updates, "myip" may be used for either protocol)
That is actually a good idea to do, but that is not included in the reference documentation of the DynDNS protocol.
We have implemented this for an other provider so you can simply copy those two lines and you are done:
http://git.ipfire.org/?p=ddns.git;a=blob;f=src/ddns/providers.py;h= 6ac5 56444553fbf0d6e8b23854fe228ad6c81fc5;hb=HEAD#l805
As far as i understand the ddns sources, simultaneous updates are not possible.
They are. Just like the example above or this:
http://git.ipfire.org/?p=ddns.git;a=blob;f=src/ddns/providers.py;h= 6ac5 56444553fbf0d6e8b23854fe228ad6c81fc5;hb=HEAD#l1085
Most providers just require sending two requests which is not the most preferable option, but what can you do?!
This may be resolved on the server side in the future.
What is probably quite important is to properly clear any IPv4 or IPv6 addresses when a system does not have connectivity to either one any more.
A possible workaround could be to always include both addresses in the update URL, independent of the "protocol" argument of the update method.
Will you send me an updated patch then?
-Michael
Kind regards, Jonas
On 07/30/2015 01:00 PM, Michael Tremer wrote:
Hello Jonas,
thank you very much for sending in this patch. It looks really good.
I was just wondering if it wouldn't be better to implement IPv6 support properly. As far as I understand it, ddns will send two updates and the second one will delete the updated data from the first one. In case of a system having connectivity to the IPv6 and IPv4 Internet, the DNS record will just point to the IPv4 address. Correct me if I am wrong here. Now it only works if a system has either IPv6 or IPv4 connectivity.
Let me know if we can solve this problem.
Best, -Michael
On Wed, 2015-07-29 at 20:13 +0200, Jonas wrote:
Hi,
i'd like to add support for the desec.io dyndns service.
It is DynDNS 2 compatible, so the patch is small.
Regards, Jonas