diff options
author | Rob Austein <sra@hactrn.net> | 2008-07-08 07:42:08 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2008-07-08 07:42:08 +0000 |
commit | 6ac72cdb4d1139d89bada6b9223150b7006b5b22 (patch) | |
tree | 69e0140917a9f16756146ceab5da50202bc55fdb | |
parent | f573b3206cafa53ce9e4ff621961f2c6e63caa38 (diff) |
Code to extract resource_range_ip values from ASN.1 was whacked.
svn path=/rpkid/rpki/left_right.py; revision=1982
-rw-r--r-- | rpkid/rpki/left_right.py | 2 | ||||
-rw-r--r-- | rpkid/rpki/resource_set.py | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/rpkid/rpki/left_right.py b/rpkid/rpki/left_right.py index e52dcb28..3f594af5 100644 --- a/rpkid/rpki/left_right.py +++ b/rpkid/rpki/left_right.py @@ -669,7 +669,7 @@ class route_origin_elt(data_elt): break if ca_detail is None: - rpki.log.warn("generate_roa() could not find a covering certificate") + rpki.log.warn("generate_roa() could not find a certificate covering %s %s" % (v4, v6)) return resources = rpki.resource_set.resource_bag(v4 = v4, v6 = v6) diff --git a/rpkid/rpki/resource_set.py b/rpkid/rpki/resource_set.py index b327a236..dc9b37ee 100644 --- a/rpkid/rpki/resource_set.py +++ b/rpkid/rpki/resource_set.py @@ -371,14 +371,15 @@ class resource_set_ip(resource_set): if x[0] == "addressesOrRanges": for aor in x[1]: if aor[0] == "addressRange": + mask = (1L << (self.range_type.datum_type.bits - len(aor[1][1]))) - 1 min = _bs2long(aor[1][0]) << (self.range_type.datum_type.bits - len(aor[1][0])) max = _bs2long(aor[1][1]) << (self.range_type.datum_type.bits - len(aor[1][1])) - mask = (1L << (self.range_type.datum_type.bits - len(aor[1][1]))) - 1 + max = max | mask else: - min = _bs2long(aor[1]) << (self.range_type.datum_type.bits - len(aor[1])) mask = (1L << (self.range_type.datum_type.bits - len(aor[1]))) - 1 + min = _bs2long(aor[1]) << (self.range_type.datum_type.bits - len(aor[1])) + max = min | mask assert (min & mask) == 0, "Resource not in canonical form: %s" % (str(x)) - max = min | mask self.append(self.range_type(self.range_type.datum_type(min), self.range_type.datum_type(max))) else: assert x[0] == "inherit" |