aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2008-06-23 02:14:16 +0000
committerRob Austein <sra@hactrn.net>2008-06-23 02:14:16 +0000
commit8cf3a12cd341034593d6bcddfb448577ff9cd406 (patch)
treee6f16485ceaed664e38bf070d920d0536978acda
parent31fe8af163330777d6b75c0811784ea3478a96aa (diff)
List ROAs in manifests
svn path=/rpkid/rpki/left_right.py; revision=1928
-rw-r--r--rpkid/rpki/left_right.py6
-rw-r--r--rpkid/rpki/rpki_engine.py5
2 files changed, 9 insertions, 2 deletions
diff --git a/rpkid/rpki/left_right.py b/rpkid/rpki/left_right.py
index b6272194..e52dcb28 100644
--- a/rpkid/rpki/left_right.py
+++ b/rpkid/rpki/left_right.py
@@ -723,7 +723,11 @@ class route_origin_elt(data_elt):
def roa_uri(self, ca, key = None):
"""Return the publication URI for this route_origin's ROA."""
- return ca.sia_uri + (key or self.cert).gSKI() + ".roa"
+ return ca.sia_uri + self.roa_uri_tail(key)
+
+ def roa_uri_tail(self, key = None):
+ """Return the tail (filename portion) of the publication URI for this route_origin's ROA."""
+ return (key or self.cert).gSKI() + ".roa"
def ee_uri_tail(self):
"""Return the tail (filename) portion of the URI for this route_origin's ROA's EE certificate."""
diff --git a/rpkid/rpki/rpki_engine.py b/rpkid/rpki/rpki_engine.py
index 05cf23ac..df6f421b 100644
--- a/rpkid/rpki/rpki_engine.py
+++ b/rpkid/rpki/rpki_engine.py
@@ -619,8 +619,11 @@ class ca_detail_obj(rpki.sql.sql_persistant):
if nextUpdate is None:
nextUpdate = now + crl_interval
+ route_origins = [r for r in self.route_origins() if r.cert is not None and r.roa is not None]
+
certs = [(c.uri_tail(), c.cert) for c in self.child_certs()] + \
- [(r.ee_uri_tail(), r.cert) for r in self.route_origins() if r.cert is not None]
+ [(r.ee_uri_tail(), r.cert) for r in route_origins] + \
+ [(r.roa_uri_tail(), r.cert) for r in route_origins]
self.latest_manifest = rpki.x509.SignedManifest.build(
serial = ca.next_manifest_number(),