# Check if we actually need to update this host.
elif self.is_uptodate(self.protocols):
- logger.info(_("The dynamic host %(hostname)s (%(provider)s) is already up to date") % \
+ logger.debug(_("The dynamic host %(hostname)s (%(provider)s) is already up to date") % \
{ "hostname" : self.hostname, "provider" : self.name })
return
# Handle error codes.
if output == "badauth":
raise DDNSAuthenticationError
- elif output == "aduse":
+ elif output == "abuse":
raise DDNSAbuseError
elif output == "notfqdn":
raise DDNSRequestError(_("No valid FQDN was given."))
raise DDNSInternalServerError
elif output == "dnserr":
raise DDNSInternalServerError(_("DNS error encountered."))
+ elif output == "badagent":
+ raise DDNSBlockedError
# If we got here, some other update error happened.
raise DDNSUpdateError(_("Server response: %s") % output)
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({
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."
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",
})