ddns patches for desec.io provider support

Message ID 55B917C8.4080708@desec.io
State Superseded
Headers

Message

Jonas July 30, 2015, 4:13 a.m. UTC
  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
  

Comments

Michael Tremer July 30, 2015, 9 p.m. UTC | #1
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
  
Jonas July 31, 2015, 9:51 a.m. UTC | #2
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)

As far as i understand the ddns sources, simultaneous
updates are not possible.

This may be resolved on the server side in the future.

A possible workaround could be to always include
both addresses in the update URL, independent of
the "protocol" argument of the update method.


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
  
Michael Tremer July 31, 2015, 8:09 p.m. UTC | #3
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
>