]> git.ipfire.org Git - oddments/ddns.git/commitdiff
Lightning Wire Labs: Unset unused IP addresses
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 22 Jun 2014 23:01:15 +0000 (23:01 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 22 Jun 2014 23:01:15 +0000 (23:01 +0000)
src/ddns/providers.py

index a023b1e0c9e7464090b296ed3fc35e0e8f66078f..3d2d0c204fb48b1b758241e1e128b985ab440598 100644 (file)
@@ -139,11 +139,11 @@ class DDNSProvider(object):
                """
                return self.core.system.send_request(*args, **kwargs)
 
-       def get_address(self, proto):
+       def get_address(self, proto, default=None):
                """
                        Proxy method to get the current IP address.
                """
-               return self.core.system.get_address(proto)
+               return self.core.system.get_address(proto) or default
 
 
 class DDNSProviderAllInkl(DDNSProvider):
@@ -440,22 +440,10 @@ class DDNSProviderLightningWireLabs(DDNSProvider):
        def update(self):
                data =  {
                        "hostname" : self.hostname,
+                       "address6" : self.get_address("ipv6", "-"),
+                       "address4" : self.get_address("ipv4", "-"),
                }
 
-               # Check if we update an IPv6 address.
-               address6 = self.get_address("ipv6")
-               if address6:
-                       data["address6"] = address6
-
-               # Check if we update an IPv4 address.
-               address4 = self.get_address("ipv4")
-               if address4:
-                       data["address4"] = address4
-
-               # Raise an error if none address is given.
-               if not data.has_key("address6") and not data.has_key("address4"):
-                       raise DDNSConfigurationError
-
                # Check if a token has been set.
                if self.token:
                        data["token"] = self.token