This includes:
- inwx.com - inwx.de - inwx.at - inwx.ch - inwx.es
Signed-off-by: Alexander Koch ipfire@starkstromkonsument.de --- README | 1 + configure.ac | 2 +- src/ddns/providers.py | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/README b/README index b0601a0..0f2798e 100644 --- a/README +++ b/README @@ -68,6 +68,7 @@ SUPPORTED PROVIDERS: enom.com entrydns.net freedns.afraid.org + inwx.com|de|at|ch|es itsdns.de joker.com loopia.se diff --git a/configure.ac b/configure.ac index 008950d..14bccc0 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ AC_PREREQ([2.64])
AC_INIT([ddns], - [011], + [012], [info@ipfire.org], [ddns], [http://git.ipfire.org/?p=oddments/ddns.git;a=summary]) diff --git a/src/ddns/providers.py b/src/ddns/providers.py index 4ffd8bf..12116e3 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -1003,7 +1003,7 @@ class DDNSProviderDynsNet(DDNSProvider): raise DDNSInternalServerError
# If we got here, some other update error happened. - raise DDNSUpdateError(_("Server response: %s") % output) + raise DDNSUpdateError(_("Server response: %s") % output)
class DDNSProviderEnomCom(DDNSResponseParserXML, DDNSProvider): @@ -1129,6 +1129,19 @@ class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): raise DDNSUpdateError
+class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider): + handle = "inwx.com" + name = "INWX" + website = "https://www.inwx.com" + protocols = ("ipv6", "ipv4") + + # Information about the format of the HTTP request is to be found + # here: https://www.inwx.com/en/nameserver2/dyndns (requires login) + # Notice: The URL is the same for: inwx.com|de|at|ch|es + + url = "https://dyndns.inwx.com/nic/update" + + class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider): handle = "itsdns.de" name = "it's DNS"
Hi,
Thank you for sending this patch, but I am afraid I have a little bit of a problem here…
On 18 Sep 2019, at 15:25, Alexander Koch ipfire@starkstromkonsument.de wrote:
This includes:
- inwx.com
- inwx.de
- inwx.at
- inwx.ch
- inwx.es
Signed-off-by: Alexander Koch ipfire@starkstromkonsument.de
README | 1 + configure.ac | 2 +- src/ddns/providers.py | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/README b/README index b0601a0..0f2798e 100644 --- a/README +++ b/README @@ -68,6 +68,7 @@ SUPPORTED PROVIDERS: enom.com entrydns.net freedns.afraid.org
- inwx.com|de|at|ch|es itsdns.de joker.com loopia.se
diff --git a/configure.ac b/configure.ac index 008950d..14bccc0 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ AC_PREREQ([2.64])
AC_INIT([ddns],
- [011],
- [012], [info@ipfire.org], [ddns], [http://git.ipfire.org/?p=oddments/ddns.git;a=summary])
You don’t need to increment the version number. That will be done by the maintainer when ever it is decided to have a new release.
diff --git a/src/ddns/providers.py b/src/ddns/providers.py index 4ffd8bf..12116e3 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -1003,7 +1003,7 @@ class DDNSProviderDynsNet(DDNSProvider): raise DDNSInternalServerError
# If we got here, some other update error happened.
raise DDNSUpdateError(_("Server response: %s") % output)
raise DDNSUpdateError(_("Server response: %s") % output)
Whitespace changes like this should not be included in this patch. This could be an extra patch.
class DDNSProviderEnomCom(DDNSResponseParserXML, DDNSProvider): @@ -1129,6 +1129,19 @@ class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): raise DDNSUpdateError
+class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider):
handle = "inwx.com"
name = "INWX"
website = "https://www.inwx.com"
protocols = ("ipv6", "ipv4")
# Information about the format of the HTTP request is to be found
# here: https://www.inwx.com/en/nameserver2/dyndns (requires login)
# Notice: The URL is the same for: inwx.com|de|at|ch|es
url = "https://dyndns.inwx.com/nic/update"
My problem with this provider is that the documentation is not publicly accessible. Therefore this is not maintainable for everyone who does not have an account there. Creating an account with every single ISP is of course not an option either.
I would be interested to hear what Stefan and others think about this.
Best, -Michael
class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider): handle = "itsdns.de" name = "it's DNS" -- 2.17.1
ddns mailing list ddns@lists.ipfire.org https://lists.ipfire.org/mailman/listinfo/ddns
Hi,
-------- Original Message -------- From: Michael Tremer [mailto:michael.tremer@ipfire.org] Sent: Thursday, 19 September 2019, 14:57 CEST To: Alexander Koch ipfire@starkstromkonsument.de Cc: ddns@lists.ipfire.org Subject: [PATCH] Add new provider INWX (https://www.inwx.com)
Hi,
Thank you for sending this patch, but I am afraid I have a little bit of a problem here…
On 18 Sep 2019, at 15:25, Alexander Koch ipfire@starkstromkonsument.de wrote:
This includes:
- inwx.com
- inwx.de
- inwx.at
- inwx.ch
- inwx.es
Signed-off-by: Alexander Koch ipfire@starkstromkonsument.de
README | 1 + configure.ac | 2 +- src/ddns/providers.py | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/README b/README index b0601a0..0f2798e 100644 --- a/README +++ b/README @@ -68,6 +68,7 @@ SUPPORTED PROVIDERS: enom.com entrydns.net freedns.afraid.org
- inwx.com|de|at|ch|es itsdns.de joker.com loopia.se
diff --git a/configure.ac b/configure.ac index 008950d..14bccc0 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ AC_PREREQ([2.64])
AC_INIT([ddns],
- [011],
- [012], [info@ipfire.org], [ddns], [http://git.ipfire.org/?p=oddments/ddns.git;a=summary])
You don’t need to increment the version number. That will be done by the maintainer when ever it is decided to have a new release.
Ok.
diff --git a/src/ddns/providers.py b/src/ddns/providers.py index 4ffd8bf..12116e3 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -1003,7 +1003,7 @@ class DDNSProviderDynsNet(DDNSProvider): raise DDNSInternalServerError
# If we got here, some other update error happened.
raise DDNSUpdateError(_("Server response: %s") % output)
raise DDNSUpdateError(_("Server response: %s") % output)
Whitespace changes like this should not be included in this patch. This could be an extra patch.
Ok. My text editor corrected this automatically. I didn't think about it any further...
class DDNSProviderEnomCom(DDNSResponseParserXML, DDNSProvider): @@ -1129,6 +1129,19 @@ class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): raise DDNSUpdateError
+class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider):
handle = "inwx.com"
name = "INWX"
website = "https://www.inwx.com"
protocols = ("ipv6", "ipv4")
# Information about the format of the HTTP request is to be found
# here: https://www.inwx.com/en/nameserver2/dyndns (requires login)
# Notice: The URL is the same for: inwx.com|de|at|ch|es
url = "https://dyndns.inwx.com/nic/update"
My problem with this provider is that the documentation is not publicly accessible. Therefore this is not maintainable for everyone who does not have an account there. Creating an account with every single ISP is of course not an option either.
I would be interested to hear what Stefan and others think about this.
Best, -Michael
I get your point. I did some research in their KB - without login - but couldn't find an alternative place providing the infos. They use the dyndns2-protocol without any modifications. The only information they provide at the given URL (with login) is the Update-URL: https://dyndns.inwx.com/nic/update?myip=<ipaddr>&myipv6=<ip6addr> I doubt they will ever change this, unless they move to another protocol ... this would then be reported as a bug by a user who has a login and is able to provide further information though.
I've got an alternative idea to solve this. As they (and some other of the already implemented providers) are using the dyndns2-protocoll without any modifications, why not add a specific handle "DynDNS2 misc" to the service-dropdown (or an additional dropdown for the protocol) and a textfield for the Update-URL on the Web UI and create a unified handle for all dyndns2-providers in providers.py. The Update-URL for the dydns2-service can easily be provided by the user. This would simplify the maintenance of ddns on one side and provide support for more dyndns2-services without any effort on the other side. A similar approach could be used for other existent/future standardized dyndns-service-protocolls.
Please let me know what you think about it. I offer to work on a patch for the "DynDNS2 misc"-service if you like the idea.
class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider): handle = "itsdns.de" name = "it's DNS" -- 2.17.1
ddns mailing list ddns@lists.ipfire.org https://lists.ipfire.org/mailman/listinfo/ddns
Regards, Alex
Hi,
On 20 Sep 2019, at 12:20, Alexander Koch ipfire@starkstromkonsument.de wrote:
Hi,
-------- Original Message -------- From: Michael Tremer [mailto:michael.tremer@ipfire.org] Sent: Thursday, 19 September 2019, 14:57 CEST To: Alexander Koch ipfire@starkstromkonsument.de Cc: ddns@lists.ipfire.org Subject: [PATCH] Add new provider INWX (https://www.inwx.com)
Hi, Thank you for sending this patch, but I am afraid I have a little bit of a problem here…
On 18 Sep 2019, at 15:25, Alexander Koch ipfire@starkstromkonsument.de wrote:
This includes:
- inwx.com
- inwx.de
- inwx.at
- inwx.ch
- inwx.es
Signed-off-by: Alexander Koch ipfire@starkstromkonsument.de
README | 1 + configure.ac | 2 +- src/ddns/providers.py | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/README b/README index b0601a0..0f2798e 100644 --- a/README +++ b/README @@ -68,6 +68,7 @@ SUPPORTED PROVIDERS: enom.com entrydns.net freedns.afraid.org
- inwx.com|de|at|ch|es itsdns.de joker.com loopia.se
diff --git a/configure.ac b/configure.ac index 008950d..14bccc0 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ AC_PREREQ([2.64])
AC_INIT([ddns],
- [011],
- [012], [info@ipfire.org], [ddns], [http://git.ipfire.org/?p=oddments/ddns.git;a=summary])
You don’t need to increment the version number. That will be done by the maintainer when ever it is decided to have a new release.
Ok.
diff --git a/src/ddns/providers.py b/src/ddns/providers.py index 4ffd8bf..12116e3 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -1003,7 +1003,7 @@ class DDNSProviderDynsNet(DDNSProvider): raise DDNSInternalServerError
# If we got here, some other update error happened.
raise DDNSUpdateError(_("Server response: %s") % output)
raise DDNSUpdateError(_("Server response: %s") % output)
Whitespace changes like this should not be included in this patch. This could be an extra patch.
Ok. My text editor corrected this automatically. I didn't think about it any further...
class DDNSProviderEnomCom(DDNSResponseParserXML, DDNSProvider): @@ -1129,6 +1129,19 @@ class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): raise DDNSUpdateError
+class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider):
handle = "inwx.com"
name = "INWX"
website = "https://www.inwx.com"
protocols = ("ipv6", "ipv4")
# Information about the format of the HTTP request is to be found
# here: https://www.inwx.com/en/nameserver2/dyndns (requires login)
# Notice: The URL is the same for: inwx.com|de|at|ch|es
url = "https://dyndns.inwx.com/nic/update"
My problem with this provider is that the documentation is not publicly accessible. Therefore this is not maintainable for everyone who does not have an account there. Creating an account with every single ISP is of course not an option either. I would be interested to hear what Stefan and others think about this. Best, -Michael
I get your point. I did some research in their KB - without login - but couldn't find an alternative place providing the infos. They use the dyndns2-protocol without any modifications. The only information they provide at the given URL (with login) is the Update-URL: https://dyndns.inwx.com/nic/update?myip=<ipaddr>&myipv6=<ip6addr> I doubt they will ever change this, unless they move to another protocol ... this would then be reported as a bug by a user who has a login and is able to provide further information though.
Stefan told me today that we have others were the documentation is not publicly available. Although I do not understand this - why make this so complicated for people who are implementing your API? - I guess we have to accept this then for the same reasons we accepted the other ones for.
Acked-by: Michael Tremer michael.tremer@ipfire.org
I've got an alternative idea to solve this. As they (and some other of the already implemented providers) are using the dyndns2-protocoll without any modifications, why not add a specific handle "DynDNS2 misc" to the service-dropdown (or an additional dropdown for the protocol) and a textfield for the Update-URL on the Web UI and create a unified handle for all dyndns2-providers in providers.py. The Update-URL for the dydns2-service can easily be provided by the user. This would simplify the maintenance of ddns on one side and provide support for more dyndns2-services without any effort on the other side. A similar approach could be used for other existent/future standardized dyndns-service-protocolls.
Please let me know what you think about it. I offer to work on a patch for the "DynDNS2 misc"-service if you like the idea.
This however is not a good idea. It defies one of the most important points of building ddns in the first place:
We wanted to be able to make changes to every provider, because sometimes things change. Some providers have asked us to make changes to the behaviour of ddns and we were able to do that and roll out the changes immediately across all IPFire systems. That won’t be possible with the generic service.
We neither have the UI, and it is not at all a problem to add a provider that is 100% compatible with DynDNS. It is literally 5 lines of code. That approach allows us a lot of flexibility for very little work.
-Michael
class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider): handle = "itsdns.de" name = "it's DNS" -- 2.17.1
ddns mailing list ddns@lists.ipfire.org https://lists.ipfire.org/mailman/listinfo/ddns
Regards, Alex
This includes:
- inwx.com - inwx.de - inwx.at - inwx.ch - inwx.es
Signed-off-by: Alexander Koch ipfire@starkstromkonsument.de --- README | 1 + src/ddns/providers.py | 13 +++++++++++++ 2 files changed, 14 insertions(+)
diff --git a/README b/README index b0601a0..0f2798e 100644 --- a/README +++ b/README @@ -68,6 +68,7 @@ SUPPORTED PROVIDERS: enom.com entrydns.net freedns.afraid.org + inwx.com|de|at|ch|es itsdns.de joker.com loopia.se diff --git a/src/ddns/providers.py b/src/ddns/providers.py index 4ffd8bf..dfa4023 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -1129,6 +1129,19 @@ class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): raise DDNSUpdateError
+class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider): + handle = "inwx.com" + name = "INWX" + website = "https://www.inwx.com" + protocols = ("ipv6", "ipv4") + + # Information about the format of the HTTP request is to be found + # here: https://www.inwx.com/en/nameserver2/dyndns (requires login) + # Notice: The URL is the same for: inwx.com|de|at|ch|es + + url = "https://dyndns.inwx.com/nic/update" + + class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider): handle = "itsdns.de" name = "it's DNS"
Signed-off-by: Alexander Koch ipfire@starkstromkonsument.de --- src/ddns/providers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ddns/providers.py b/src/ddns/providers.py index dfa4023..12116e3 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -1003,7 +1003,7 @@ class DDNSProviderDynsNet(DDNSProvider): raise DDNSInternalServerError
# If we got here, some other update error happened. - raise DDNSUpdateError(_("Server response: %s") % output) + raise DDNSUpdateError(_("Server response: %s") % output)
class DDNSProviderEnomCom(DDNSResponseParserXML, DDNSProvider):
Reviewed-by: Michael Tremer michael.tremer@ipfire.org
On 24 Sep 2019, at 09:58, Alexander Koch ipfire@starkstromkonsument.de wrote:
Signed-off-by: Alexander Koch ipfire@starkstromkonsument.de
src/ddns/providers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ddns/providers.py b/src/ddns/providers.py index dfa4023..12116e3 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -1003,7 +1003,7 @@ class DDNSProviderDynsNet(DDNSProvider): raise DDNSInternalServerError
# If we got here, some other update error happened.
raise DDNSUpdateError(_("Server response: %s") % output)
raise DDNSUpdateError(_("Server response: %s") % output)
class DDNSProviderEnomCom(DDNSResponseParserXML, DDNSProvider):
2.17.1
ddns mailing list ddns@lists.ipfire.org https://lists.ipfire.org/mailman/listinfo/ddns
Okay, I will just ack this again.
Acked-by: Michael Tremer michael.tremer@ipfire.org
On 24 Sep 2019, at 09:58, Alexander Koch ipfire@starkstromkonsument.de wrote:
This includes:
- inwx.com
- inwx.de
- inwx.at
- inwx.ch
- inwx.es
Signed-off-by: Alexander Koch ipfire@starkstromkonsument.de
README | 1 + src/ddns/providers.py | 13 +++++++++++++ 2 files changed, 14 insertions(+)
diff --git a/README b/README index b0601a0..0f2798e 100644 --- a/README +++ b/README @@ -68,6 +68,7 @@ SUPPORTED PROVIDERS: enom.com entrydns.net freedns.afraid.org
- inwx.com|de|at|ch|es itsdns.de joker.com loopia.se
diff --git a/src/ddns/providers.py b/src/ddns/providers.py index 4ffd8bf..dfa4023 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -1129,6 +1129,19 @@ class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): raise DDNSUpdateError
+class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider):
handle = "inwx.com"
name = "INWX"
website = "https://www.inwx.com"
protocols = ("ipv6", "ipv4")
# Information about the format of the HTTP request is to be found
# here: https://www.inwx.com/en/nameserver2/dyndns (requires login)
# Notice: The URL is the same for: inwx.com|de|at|ch|es
url = "https://dyndns.inwx.com/nic/update"
class DDNSProviderItsdns(DDNSProtocolDynDNS2, DDNSProvider): handle = "itsdns.de" name = "it's DNS" -- 2.17.1
ddns mailing list ddns@lists.ipfire.org https://lists.ipfire.org/mailman/listinfo/ddns