aboutsummaryrefslogtreecommitdiff
path: root/rpkid
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid')
-rw-r--r--rpkid/rpki/resource_set.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/rpkid/rpki/resource_set.py b/rpkid/rpki/resource_set.py
index 27f6df6e..519af61e 100644
--- a/rpkid/rpki/resource_set.py
+++ b/rpkid/rpki/resource_set.py
@@ -188,10 +188,15 @@ class resource_range_ip(resource_range):
"""
r = re_address_range.match(x)
if r:
- return cls(rpki.POW.IPAddress(r.group(1)), rpki.POW.IPAddress(r.group(2)))
+ return cls.from_strings(r.group(1), r.group(2))
r = re_prefix.match(x)
if r:
- return cls.make_prefix(rpki.POW.IPAddress(r.group(1)), int(r.group(2)))
+ a = rpki.POW.IPAddress(r.group(1))
+ if cls is resource_range_ip and a.version == 4:
+ cls = resource_range_ipv4
+ if cls is resource_range_ip and a.version == 6:
+ cls = resource_range_ipv6
+ return cls.make_prefix(a, int(r.group(2)))
raise rpki.exceptions.BadIPResource, 'Bad IP resource "%s"' % (x)
@classmethod