# Check if we actually need to update this host.
elif self.is_uptodate(self.protocols):
- logger.debug(_("%s is already up to date") % self.hostname)
+ logger.debug(_("The dynamic host %(hostname)s (%(provider)s) is already up to date") % \
+ { "hostname" : self.hostname, "provider" : self.name })
return
# Execute the update.
self.update()
+ logger.info(_("Dynamic DNS update for %(hostname)s (%(provider)s) successful") % \
+ { "hostname" : self.hostname, "provider" : self.name })
+
def update(self):
raise NotImplementedError
if server:
scriptlet.append("server %s" % server)
+ # Set the DNS zone the host should be added to.
+ zone = self.get("zone", None)
+ if zone:
+ scriptlet.append("zone %s" % zone)
+
key = self.get("key", None)
if key:
secret = self.get("secret")
url = "https://api.dynu.com/nic/update"
def _prepare_request_data(self):
- data = DDNSProviderDynDNS._prepare_request_data(self)
+ data = DDNSProtocolDynDNS2._prepare_request_data(self)
# This one supports IPv6
- data.update({
- "myipv6" : self.get_address("ipv6"),
- })
+ myipv6 = self.get_address("ipv6")
+
+ # Add update information if we have an IPv6 address.
+ if myipv6:
+ data["myipv6"] = myipv6
return data
url = "http://api.cp.easydns.com/dyn/tomato.php"
+class DDNSProviderDomopoli(DDNSProtocolDynDNS2, DDNSProvider):
+ handle = "domopoli.de"
+ name = "domopoli.de"
+ website = "http://domopoli.de/"
+ protocols = ("ipv4",)
+
+ # https://www.domopoli.de/?page=howto#DynDns_start
+
+ url = "http://dyndns.domopoli.de/nic/update"
+
+
class DDNSProviderEnomCom(DDNSResponseParserXML, DDNSProvider):
handle = "enom.com"
name = "eNom Inc."
# Send update to the server.
try:
- response = self.send_request(url, method="PUT", data=data)
+ response = self.send_request(url, data=data)
# Handle error codes
except urllib2.HTTPError, e:
url = "https://carol.selfhost.de/nic/update"
def _prepare_request_data(self):
- data = DDNSProviderDynDNS._prepare_request_data(self)
+ data = DDNSProtocolDynDNS2._prepare_request_data(self)
data.update({
"hostname" : "1",
})