diff options
author | Rob Austein <sra@hactrn.net> | 2007-07-09 22:16:34 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-07-09 22:16:34 +0000 |
commit | f07781b6e3b4531b7beb808050a10659527d2a6a (patch) | |
tree | 31e7f1f5c28ccc9bce1f76328a5333c6af21472d /scripts/rpki/resource_set.py | |
parent | 79db7aebd2c316923bbdf37657e231d76f9d5225 (diff) |
Checkpoint
svn path=/scripts/rpki/resource_set.py; revision=739
Diffstat (limited to 'scripts/rpki/resource_set.py')
-rw-r--r-- | scripts/rpki/resource_set.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/scripts/rpki/resource_set.py b/scripts/rpki/resource_set.py index 2309bafe..1d2b9c9c 100644 --- a/scripts/rpki/resource_set.py +++ b/scripts/rpki/resource_set.py @@ -167,13 +167,21 @@ def parse_extensions(exts): POW.pkix.cert.getExtensions(). """ - res = resource_set() + as = None + v4 = None + v6 = None + for x in exts: if x[0] == (1, 3, 6, 1, 5, 5, 7, 1, 8): # sbgp-autonomousSysNum assert x[2][1] is None, "RDI not implemented: %s" % (str(x)) - res.extend(resource_set_as(x[2][0])) - elif x[0] == (1, 3, 6, 1, 5, 5, 7, 1, 7): # sbgp-ipAddrBlock + assert as is None + as = resource_set_as(x[2][0]) + if x[0] == (1, 3, 6, 1, 5, 5, 7, 1, 7): # sbgp-ipAddrBlock for fam in x[2]: - res.extend(({ "\x00\x01" : resource_set_ipv4, - "\x00\x02" : resource_set_ipv6 }[fam[0]])(fam[1])) - return res + if fam[0] == "\x00\x01": + assert v4 is None + v4 = resource_set_ipv4(fam[1]) + if fam[0] == "\x00\x02": + assert v6 is None + v6 = resource_set_ipv6(fam[1]) + return as, v4, v6 |