--- a/pvl/hosts/zone.py Mon Mar 09 18:00:18 2015 +0200
+++ b/pvl/hosts/zone.py Mon Mar 09 19:47:10 2015 +0200
@@ -31,21 +31,24 @@
elif host.forward is None:
# forward
- for sublabel, (ip4, ip6) in host.ip.iteritems():
+ for sublabel, ip in host.addresses():
if sublabel:
sublabel = pvl.dns.join(sublabel, label)
else:
sublabel = label
- if ip4:
- log.info("%s: ip: %s@%s A %s", host, sublabel, origin, ip4)
+ if ip.version == 4:
+ log.info("%s: ip: %s@%s A %s", host, sublabel, origin, ip)
- yield pvl.dns.ZoneRecord.A(sublabel, ip4)
+ yield pvl.dns.ZoneRecord.A(sublabel, ip)
- if ip6:
- log.info("%s: ip6: %s@%s AAAA %s", host, label, origin, ip6)
+ elif ip.version == 6:
+ log.info("%s: ip6: %s@%s AAAA %s", host, label, origin, ip)
- yield pvl.dns.ZoneRecord.AAAA(sublabel, ip6)
+ yield pvl.dns.ZoneRecord.AAAA(sublabel, ip)
+
+ else:
+ raise ValueError(ip)
else:
log.info("%s: skip forward", host)
@@ -79,30 +82,22 @@
Yield (ipaddr.IPAddress, ZoneRecord) tuples for host within given prefix's reverse-dns zone.
"""
- for sublabel, (ip4, ip6) in host.ip.iteritems():
- if prefix.version == 4:
- ip = ip4
-
- # reverse= is IPv4-only
- reverse = host.reverse
-
- elif prefix.version == 6:
- ip = 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))
-
- if not ip:
- log.debug("%s: no ip%d", host, prefix.version)
+ for sublabel, ip in host.addresses():
+ if ip.version != prefix.version:
continue
if ip not in prefix:
log.debug("%s: %s out of prefix: %s", host, ip, prefix)
continue
-
+
+ if ip.version == 4:
+ # reverse= is IPv4-only
+ reverse = host.reverse
+
+ elif prefix.version == 6:
+ # if reverse= is set, always omit, for lack of reverse6=
+ reverse = None if host.reverse is None else False
+
# relative label
label = pvl.dns.reverse_label(prefix, ip)