--- 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) :