]> git.ipfire.org Git - oddments/ddns.git/commitdiff
Merge remote-tracking branch 'stevee/spdns.org'
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 16 Jun 2014 09:54:16 +0000 (11:54 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 16 Jun 2014 09:54:16 +0000 (11:54 +0200)
ddns.conf.sample
src/ddns/__init__.py
src/ddns/providers.py

index 888137eef22fd4bfb68f2ea46e84251ed2d5769d..3704b6e3e5fc56641bd62ee0eae2c5e47370213c 100644 (file)
 # username = user
 # password = pass
 
+# [test.spdns.org]
+# provider = spdns.org
+# username = user
+# password = pass
+
 # [test.lightningwirelabs.com]
 # provider = dns.lightningwirelabs.com
 
index 494bf76ac86288e2556d08ddfe5487cbced15081..ddc995e97609df89c9cb2a4344585b5cffa5025e 100644 (file)
@@ -99,6 +99,7 @@ class DDNSCore(object):
                        DDNSProviderNOIP,
                        DDNSProviderLightningWireLabs,
                        DDNSProviderSelfhost,
+                       DDNSProviderSPDNS,
                ):
                        self.register_provider(provider)
 
index 919642fb0022d4dedb90458d0022835f44e1f198..3422cd074cd45f501f7d72aa3ab776cd84df1f1e 100644 (file)
@@ -527,3 +527,21 @@ class DDNSProviderSelfhost(DDNSProvider):
                match = re.search("status=20(0|4)", response.read())
                if not match:
                        raise DDNSUpdateError
+
+
+class DDNSProviderSPDNS(DDNSProviderDynDNS):
+       INFO = {
+               "handle"    : "spdns.org",
+               "name"      : "SPDNS",
+               "website"   : "http://spdns.org/",
+               "protocols" : ["ipv4",]
+       }
+
+       # Detailed information about request and response codes are provided
+       # by the vendor. They are using almost the same mechanism and status
+       # codes as dyndns.org so we can inherit all those stuff.
+       #
+       # http://wiki.securepoint.de/index.php/SPDNS_FAQ
+       # http://wiki.securepoint.de/index.php/SPDNS_Update-Tokens
+
+       url = "https://update.spdns.de/nic/update"