diff options
author | Michael Elkins <melkins@tislabs.com> | 2011-02-24 00:00:05 +0000 |
---|---|---|
committer | Michael Elkins <melkins@tislabs.com> | 2011-02-24 00:00:05 +0000 |
commit | db47711dadcf69c041895caa86293b1d8f9ff514 (patch) | |
tree | bd2a5bbb22cc00effc820eecfbaa4924049c41a3 /rpkid/rpki/resource_set.py | |
parent | 89567f2d7b37bfdf5cee2906b6c0705b049d4212 (diff) |
add rpki.resource_set.roa_prefix.from_roa_tuple() to do the opposite of .to_roa_tuple(); namely, convert from the ROA ASN.1 tuple into a roa_prefix object.
svn path=/rpkid/rpki/resource_set.py; revision=3688
Diffstat (limited to 'rpkid/rpki/resource_set.py')
-rw-r--r-- | rpkid/rpki/resource_set.py | 8 |
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. |