diff options
author | Rob Austein <sra@hactrn.net> | 2007-07-09 21:23:17 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-07-09 21:23:17 +0000 |
commit | 79db7aebd2c316923bbdf37657e231d76f9d5225 (patch) | |
tree | 46f6020e95da56d2bf4cf56a1cba55644ee71307 /scripts/test-pow.py | |
parent | 7dcbe6a47c628b1c69ae5ec33da59d1f06cab119 (diff) |
Checkpoint
svn path=/scripts/rpki/resource_set.py; revision=738
Diffstat (limited to 'scripts/test-pow.py')
-rw-r--r-- | scripts/test-pow.py | 74 |
1 files changed, 39 insertions, 35 deletions
diff --git a/scripts/test-pow.py b/scripts/test-pow.py index 542cf715..d2b2d9fa 100644 --- a/scripts/test-pow.py +++ b/scripts/test-pow.py @@ -1,6 +1,6 @@ # $Id$ -import POW, POW.pkix, base64, rpki.ipaddrs +import POW, POW.pkix, base64, rpki.ipaddrs, rpki.resource_set Alice_EE = """ MIIDGDCCAgCgAwIBAgIJANkdU8+R7K3dMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV @@ -78,37 +78,41 @@ for der in (alice, apnic): print " OID: ", oid, POW.pkix.oid2obj(oid) print " Val:", val print - val = [x[2] for x in cert.getExtensions() if x[0] == POW.pkix.obj2oid("sbgp-ipAddrBlock")] - if val: - for fam in val[0]: - afi = (ord(fam[0][0]) << 8) + ord(fam[0][1]) - addrlen = { 1 : 32, 2 : 128 }[afi] - addrtype = { 1 : rpki.ipaddrs.v4addr, 2 : rpki.ipaddrs.v6addr }[afi] - if len(fam[0]) > 2: - safi = ord(fam[0][2]) - else: - safi = None - if fam[1][0] == 'inherit': - vals = None - else: - vals = [] - for aor in fam[1][1]: - def b2l(x, y): return (x << 1) | y - if aor[0] == 'addressRange': - min = reduce(b2l, aor[1][0], 0L) - max = reduce(b2l, aor[1][1], 0L) - min <<= addrlen - len(aor[1][0]) - max <<= addrlen - len(aor[1][1]) - max |= (1 << (addrlen - len(aor[1][1]))) - 1 - min = addrtype(min) - max = addrtype(max) - txt = "%s-%s" % (min, max) - vals.append((txt, min, max)) - else: - prefix = reduce(b2l, aor[1], 0L) - prefix <<= addrlen - len(aor[1]) - prefixlen = len(aor[1]) - prefix = addrtype(prefix) - txt = "%s/%d" % (prefix, prefixlen) - vals.append((txt, prefix, prefixlen)) - print afi, safi, vals + if False: + val = [x[2] for x in cert.getExtensions() if x[0] == POW.pkix.obj2oid("sbgp-ipAddrBlock")] + if val: + for fam in val[0]: + afi = (ord(fam[0][0]) << 8) + ord(fam[0][1]) + addrlen = { 1 : 32, 2 : 128 }[afi] + addrtype = { 1 : rpki.ipaddrs.v4addr, 2 : rpki.ipaddrs.v6addr }[afi] + if len(fam[0]) > 2: + safi = ord(fam[0][2]) + else: + safi = None + if fam[1][0] == 'inherit': + vals = None + else: + vals = [] + for aor in fam[1][1]: + def b2l(x, y): return (x << 1) | y + if aor[0] == 'addressRange': + min = reduce(b2l, aor[1][0], 0L) + max = reduce(b2l, aor[1][1], 0L) + min <<= addrlen - len(aor[1][0]) + max <<= addrlen - len(aor[1][1]) + max |= (1 << (addrlen - len(aor[1][1]))) - 1 + min = addrtype(min) + max = addrtype(max) + txt = "%s-%s" % (min, max) + vals.append((txt, min, max)) + else: + prefix = reduce(b2l, aor[1], 0L) + prefix <<= addrlen - len(aor[1]) + prefixlen = len(aor[1]) + prefix = addrtype(prefix) + txt = "%s/%d" % (prefix, prefixlen) + vals.append((txt, prefix, prefixlen)) + print afi, safi, vals + else: + rs = rpki.resource_set.parse_extensions(cert.getExtensions()) + print rs |