aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/resource_set.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/rpki/resource_set.py')
-rw-r--r--rpkid/rpki/resource_set.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/rpkid/rpki/resource_set.py b/rpkid/rpki/resource_set.py
index 598db990..2fd10756 100644
--- a/rpkid/rpki/resource_set.py
+++ b/rpkid/rpki/resource_set.py
@@ -890,6 +890,14 @@ class roa_prefix(object):
return cls(cls.range_type.datum_type(r.group(1)), int(r.group(2)))
raise rpki.exceptions.BadROAPrefix, 'Bad ROA prefix "%s"' % (x)
+ @classmethod
+ def from_roa_tuple(cls, o):
+ """
+ Convert from ROA ASN.1 tuple format.
+ """
+ assert isinstance(o, (list, tuple)), 'argument must be either list or tuple'
+ return cls(cls.range_type.datum_type(_bs2long(o[0], cls.range_type.datum_type.bits, 0)), len(o[0]), o[1])
+
class roa_prefix_ipv4(roa_prefix):
"""
IPv4 ROA prefix.