pvl/hosts/zone.py
changeset 464 f1d3dbf04ca3
parent 463 2cbdb2435487
child 466 ad9d512ec1e7
--- a/pvl/hosts/zone.py	Wed Feb 25 14:41:51 2015 +0200
+++ b/pvl/hosts/zone.py	Wed Feb 25 14:52:53 2015 +0200
@@ -86,13 +86,21 @@
 
 def host_reverse (host, prefix) :
     """
-        Yield (ip, fqnd) for host within given prefix.
+        Yield (ipaddr.IPAddress, ZoneRecord) tuples for host within given prefix's reverse-dns zone.
     """
 
     if prefix.version == 4 :
         ip = host.ip
+        
+        # reverse= is IPv4-only
+        reverse = host.reverse
+
     elif prefix.version == 6 :
         ip = host.ip6
+        
+        # if reverse= is set, always omit, for lack of reverse6=
+        reverse = None if host.reverse is None else False
+
     else :
         raise ValueError("%s: unknown ip version: %s" % (prefix, prefix.version))
 
@@ -107,21 +115,21 @@
     # relative label
     label = pvl.dns.reverse_label(prefix, ip)
    
-    if host.reverse :
-        alias = pvl.dns.fqdn(host.reverse)
+    if reverse:
+        alias = pvl.dns.fqdn(reverse)
         
         log.info("%s %s[%s]: CNAME %s", host, prefix, ip, alias)
 
         yield ip, pvl.dns.zone.ZoneRecord.CNAME(label, alias)
 
-    elif host.reverse is None :
+    elif reverse is None :
         fqdn = host.fqdn()
 
         log.info("%s %s[%s]: PTR %s", host, prefix, ip, fqdn)
 
         yield ip, pvl.dns.zone.ZoneRecord.PTR(label, fqdn)
 
-    else :
+    else:
         log.info("%s %s[%s]: omit", host, prefix, ip)
  
 def apply_hosts_forward (options, hosts, origin) :