public inbox for ddns@lists.ipfire.org
 help / color / mirror / Atom feed
* ddns patches for desec.io provider support
@ 2015-07-29 18:13 Jonas
  2015-07-30 11:00 ` Michael Tremer
  0 siblings, 1 reply; 10+ messages in thread
From: Jonas @ 2015-07-29 18:13 UTC (permalink / raw)
  To: ddns

[-- Attachment #1: Type: text/plain, Size: 132 bytes --]

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: ddns.conf.sample.diff --]
[-- Type: text/x-patch, Size: 325 bytes --]

diff --git a/ddns.conf.sample b/ddns.conf.sample
index bc42319..3077f90 100644
--- a/ddns.conf.sample
+++ b/ddns.conf.sample
@@ -43,6 +43,11 @@
 # username = user
 # password = pass
 
+# [test.dedyn.io]
+# provider = desec.io
+# username = user
+# password = pass
+
 # [test.dhs.org]
 # provider = dhs.org
 # username = user

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: providers.py.diff --]
[-- Type: text/x-patch, Size: 773 bytes --]

diff --git a/src/ddns/providers.py b/src/ddns/providers.py
index 6ac5564..253c562 100644
--- a/src/ddns/providers.py
+++ b/src/ddns/providers.py
@@ -652,6 +652,20 @@ class DDNSProviderDDNSS(DDNSProvider):
 		raise DDNSUpdateError
 
 
+class DDNSProviderDeSEC(DDNSProtocolDynDNS2, DDNSProvider):
+	handle    = "desec.io"
+	name      = "desec.io"
+	website   = "https://www.desec.io"
+	protocols = ("ipv4", "ipv6")
+	can_remove_records = False
+
+	# ipv4 / ipv6 records are automatically removed when the update
+	# request originates from the respectively other protocol and no
+	# address is explicitly provided for the unused protocol.
+
+	url = "https://update.dedyn.io"
+
+
 class DDNSProviderDHS(DDNSProvider):
 	handle    = "dhs.org"
 	name      = "DHS International"

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: ddns patches for desec.io provider support
  2015-07-29 18:13 ddns patches for desec.io provider support Jonas
@ 2015-07-30 11:00 ` Michael Tremer
  2015-07-30 23:51   ` Jonas
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Tremer @ 2015-07-30 11:00 UTC (permalink / raw)
  To: ddns

[-- Attachment #1: Type: text/plain, Size: 775 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: ddns patches for desec.io provider support
  2015-07-30 11:00 ` Michael Tremer
@ 2015-07-30 23:51   ` Jonas
  2015-07-31 10:09     ` Michael Tremer
  0 siblings, 1 reply; 10+ messages in thread
From: Jonas @ 2015-07-30 23:51 UTC (permalink / raw)
  To: ddns

[-- Attachment #1: Type: text/plain, Size: 1390 bytes --]

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: ddns patches for desec.io provider support
  2015-07-30 23:51   ` Jonas
@ 2015-07-31 10:09     ` Michael Tremer
  2015-08-31 16:11       ` Jonas
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Tremer @ 2015-07-31 10:09 UTC (permalink / raw)
  To: ddns

[-- Attachment #1: Type: text/plain, Size: 2425 bytes --]

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
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: ddns patches for desec.io provider support
  2015-07-31 10:09     ` Michael Tremer
@ 2015-08-31 16:11       ` Jonas
  2015-08-31 16:37         ` Michael Tremer
  0 siblings, 1 reply; 10+ messages in thread
From: Jonas @ 2015-08-31 16:11 UTC (permalink / raw)
  To: ddns

[-- Attachment #1: Type: text/plain, Size: 3016 bytes --]

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=6ac5
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.

Find attached the patches for src/ddns/providers.py
and ddns.conf.sample


-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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 2015-08-31-ddns.conf.sample.diff --]
[-- Type: text/x-patch, Size: 325 bytes --]

diff --git a/ddns.conf.sample b/ddns.conf.sample
index bc42319..3077f90 100644
--- a/ddns.conf.sample
+++ b/ddns.conf.sample
@@ -43,6 +43,11 @@
 # username = user
 # password = pass
 
+# [test.dedyn.io]
+# provider = desec.io
+# username = user
+# password = pass
+
 # [test.dhs.org]
 # provider = dhs.org
 # username = user

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 2015-08-31-providers.py.diff --]
[-- Type: text/x-patch, Size: 1121 bytes --]

diff --git a/src/ddns/providers.py b/src/ddns/providers.py
index 6ac5564..3845193 100644
--- a/src/ddns/providers.py
+++ b/src/ddns/providers.py
@@ -586,6 +586,33 @@ class DDNSProviderChangeIP(DDNSProvider):
 		raise DDNSUpdateError(_("Server response: %s") % output)
 
 
+class DDNSProviderDesecIO(DDNSProtocolDynDNS2, DDNSProvider):
+	handle    = "desec.io"
+	name      = "desec.io"
+	website   = "https://www.desec.io"
+	protocols = ("ipv6", "ipv4",)
+
+	# ipv4 / ipv6 records are automatically removed when the update
+	# request originates from the respectively other protocol and no
+	# address is explicitly provided for the unused protocol.
+
+	url = "https://update.dedyn.io"
+
+	# desec.io sends the IPv6 and IPv4 address in one request
+
+	def update(self):
+		data = DDNSProtocolDynDNS2.prepare_request_data(self, "ipv4")
+
+		# This one supports IPv6
+		myipv6 = self.get_address("ipv6")
+
+		# Add update information if we have an IPv6 address.
+		if myipv6:
+			data["myipv6"] = myipv6
+
+		self.send_request(data)
+
+
 class DDNSProviderDDNSS(DDNSProvider):
 	handle    = "ddnss.de"
 	name      = "DDNSS"

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: ddns patches for desec.io provider support
  2015-08-31 16:11       ` Jonas
@ 2015-08-31 16:37         ` Michael Tremer
  2015-09-01  8:10           ` Nils Wisiol
  2015-10-08 19:56           ` Jonas
  0 siblings, 2 replies; 10+ messages in thread
From: Michael Tremer @ 2015-08-31 16:37 UTC (permalink / raw)
  To: ddns

[-- Attachment #1: Type: text/plain, Size: 3987 bytes --]

Hi Jonas,

thank you for taking the time. This patch looks good to me.

Acked-By: Michael Tremer <michael.tremer(a)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
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: ddns patches for desec.io provider support
  2015-08-31 16:37         ` Michael Tremer
@ 2015-09-01  8:10           ` Nils Wisiol
  2015-10-08 19:56           ` Jonas
  1 sibling, 0 replies; 10+ messages in thread
From: Nils Wisiol @ 2015-09-01  8:10 UTC (permalink / raw)
  To: ddns

[-- Attachment #1: Type: text/plain, Size: 995 bytes --]

Hi Michael,

Frist I'd like to thank you for accepting Jonas' patch.

Our dedyn.io users most frequently ask how to update IP addresses when
their router *does not* support a dynamic DNS provider of their choice.
Usually, this is a Deutsche Telekom "Speedport" router. Also some
Netgear routers only support a build-in list of providers.

On 08/31/2015 06:37 PM, Michael Tremer wrote:
> @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.

I'd be happy to promote your client to enable our users to use the
dedyn.io service even if their router doesn't support dedyn.io. Are
there convenient to use packages for Ubuntu and other distros available?
(Any chance to support Windows?) If it does, we should make a short
guide available on our website on how to use it with dedyn.io.

Cheers,
Nils

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: ddns patches for desec.io provider support
  2015-08-31 16:37         ` Michael Tremer
  2015-09-01  8:10           ` Nils Wisiol
@ 2015-10-08 19:56           ` Jonas
  2015-10-15 11:08             ` Michael Tremer
  1 sibling, 1 reply; 10+ messages in thread
From: Jonas @ 2015-10-08 19:56 UTC (permalink / raw)
  To: ddns

[-- Attachment #1: Type: text/plain, Size: 4032 bytes --]

Hi,

it has been a while -- are there any remaining
issues with the patch?

Regards,
Jonas

On 08/31/2015 06:37 PM, Michael Tremer wrote:
> Hi Jonas,
>
> thank you for taking the time. This patch looks good to me.
>
> Acked-By: Michael Tremer <michael.tremer(a)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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: ddns patches for desec.io provider support
  2015-10-08 19:56           ` Jonas
@ 2015-10-15 11:08             ` Michael Tremer
  2015-10-15 11:24               ` Stefan Schantl
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Tremer @ 2015-10-15 11:08 UTC (permalink / raw)
  To: ddns

[-- Attachment #1: Type: text/plain, Size: 4959 bytes --]

Hello,

not from my end. So this is ready to be merged with ddns if Stefan
approves.

-Michael

On Thu, 2015-10-08 at 21:56 +0200, Jonas wrote:
> Hi,
> 
> it has been a while -- are there any remaining
> issues with the patch?
> 
> Regards,
> Jonas
> 
> On 08/31/2015 06:37 PM, Michael Tremer wrote:
> > Hi Jonas,
> > 
> > thank you for taking the time. This patch looks good to me.
> > 
> > Acked-By: Michael Tremer <michael.tremer(a)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.p
> > > > y;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.p
> > > > y;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
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: ddns patches for desec.io provider support
  2015-10-15 11:08             ` Michael Tremer
@ 2015-10-15 11:24               ` Stefan Schantl
  0 siblings, 0 replies; 10+ messages in thread
From: Stefan Schantl @ 2015-10-15 11:24 UTC (permalink / raw)
  To: ddns

[-- Attachment #1: Type: text/plain, Size: 5625 bytes --]

Hello Jonas,

thanks for the patch, your changes already have been merged into DDNS.

http://git.ipfire.org/?p=ddns.git;a=commit;h=d1a5be9e002a6c2b6757ef70a1
decb5c4a20e404

Best regards,

-Stefan

> Hello,
> 
> not from my end. So this is ready to be merged with ddns if Stefan
> approves.
> 
> -Michael
> 
> On Thu, 2015-10-08 at 21:56 +0200, Jonas wrote:
> > Hi,
> > 
> > it has been a while -- are there any remaining
> > issues with the patch?
> > 
> > Regards,
> > Jonas
> > 
> > On 08/31/2015 06:37 PM, Michael Tremer wrote:
> > > Hi Jonas,
> > > 
> > > thank you for taking the time. This patch looks good to me.
> > > 
> > > Acked-By: Michael Tremer <michael.tremer(a)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.p
> > > > y;
> > > > 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
> > > > > .p
> > > > > y;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
> > > > > .p
> > > > > y;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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-10-15 11:24 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-29 18:13 ddns patches for desec.io provider support Jonas
2015-07-30 11:00 ` Michael Tremer
2015-07-30 23:51   ` Jonas
2015-07-31 10:09     ` Michael Tremer
2015-08-31 16:11       ` Jonas
2015-08-31 16:37         ` Michael Tremer
2015-09-01  8:10           ` Nils Wisiol
2015-10-08 19:56           ` Jonas
2015-10-15 11:08             ` Michael Tremer
2015-10-15 11:24               ` Stefan Schantl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox