diff options
author | Rob Austein <sra@hactrn.net> | 2007-07-08 04:52:11 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-07-08 04:52:11 +0000 |
commit | 39e3ad749932591392d9a11420021a935b5d9826 (patch) | |
tree | ecd0471a7112159020ee9abead3639f6bc3bc771 | |
parent | 2664ec79f86356dd2f0a659ba5829d4468bdb5ba (diff) |
Address types
svn path=/scripts/test-pow.py; revision=732
-rw-r--r-- | scripts/test-pow.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/scripts/test-pow.py b/scripts/test-pow.py index 516f26b6..9f778c71 100644 --- a/scripts/test-pow.py +++ b/scripts/test-pow.py @@ -1,6 +1,6 @@ # $Id$ -import POW, POW.pkix, base64 +import POW, POW.pkix, base64, rpki.ipaddrs Alice_EE = """ MIIDGDCCAgCgAwIBAgIJANkdU8+R7K3dMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV @@ -92,6 +92,7 @@ for der in (alice, apnic): print fam 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: @@ -105,17 +106,20 @@ for der in (alice, apnic): print aor[1] def b2l(x, y): return (x << 1) | y if aor[0] == 'addressRange': - min = reduce(b2l, aor[1][0], long(0)) - max = reduce(b2l, aor[1][1], long(0)) + 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 - txt = "%x-%x" % (min, max) + min = addrtype(min) + max = addrtype(max) + txt = "%s-%s" % (min, max) vals.append((txt, min, max)) else: - prefix = reduce(b2l, aor[1], long(0)) + prefix = reduce(b2l, aor[1], 0L) prefix <<= addrlen - len(aor[1]) prefixlen = len(aor[1]) - txt = "%x/%d" % (prefix, prefixlen) + prefix = addrtype(prefix) + txt = "%s/%d" % (prefix, prefixlen) vals.append((txt, prefix, prefixlen)) print afi, safi, vals |