diff options
author | Rob Austein <sra@hactrn.net> | 2008-01-25 00:46:37 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2008-01-25 00:46:37 +0000 |
commit | 3edf48512a725f0cbc69c510ff2f191193f3cfe3 (patch) | |
tree | c34f6a05b6bdbea632d0befae873664dcad471e8 | |
parent | 872ee7e20cce9baf52ef6f67849acd9f0883d3d3 (diff) |
Clean up .publish() and .withdraw() calls
svn path=/scripts/rpki/left_right.py; revision=1504
-rw-r--r-- | scripts/rpki/left_right.py | 17 | ||||
-rw-r--r-- | scripts/rpki/sql.py | 24 |
2 files changed, 15 insertions, 26 deletions
diff --git a/scripts/rpki/left_right.py b/scripts/rpki/left_right.py index fca95389..06ca194f 100644 --- a/scripts/rpki/left_right.py +++ b/scripts/rpki/left_right.py @@ -391,8 +391,7 @@ class self_elt(data_elt): repository = parent.repository(gctx) child_cert.sql_delete(gctx) ca_detail.generate_manifest(gctx) - repository.withdraw(gctx, - (child_cert.cert, child_cert.uri(ca))) + repository.withdraw(gctx, child_cert.cert, child_cert.uri(ca)) def regenerate_crls_and_manifests(self, gctx): """Generate new CRLs and manifests as necessary for all of this @@ -786,19 +785,17 @@ class repository_elt(data_elt): rpki.log.trace() os.remove(cls.uri_to_filename(base, uri)) - def publish(self, gctx, *things): + def publish(self, gctx, obj, uri): """Placeholder for publication operation. [TEMPORARY]""" rpki.log.trace() - for obj, uri in things: - rpki.log.info("Pretending to publish %s to repository %s at %s" % (repr(obj), repr(self), repr(uri))) - self.object_write(gctx.publication_kludge_base, uri, obj) + rpki.log.info("Pretending to publish %s to repository %s at %s" % (repr(obj), repr(self), repr(uri))) + self.object_write(gctx.publication_kludge_base, uri, obj) - def withdraw(self, gctx, *things): + def withdraw(self, gctx, obj, uri): """Placeholder for publication withdrawal operation. [TEMPORARY]""" rpki.log.trace() - for obj, uri in things: - rpki.log.info("Pretending to withdraw %s from repository %s at %s" % (repr(obj), repr(self), repr(uri))) - self.object_delete(gctx.publication_kludge_base, uri) + rpki.log.info("Pretending to withdraw %s from repository %s at %s" % (repr(obj), repr(self), repr(uri))) + self.object_delete(gctx.publication_kludge_base, uri) class route_origin_elt(data_elt): """<route_origin/> element.""" diff --git a/scripts/rpki/sql.py b/scripts/rpki/sql.py index 215d3c68..7b7cf1d8 100644 --- a/scripts/rpki/sql.py +++ b/scripts/rpki/sql.py @@ -416,14 +416,12 @@ class ca_detail_obj(sql_persistant): """Delete this ca_detail and all of its associated child_cert objects.""" for child_cert in self.child_certs(gctx): - repository.withdraw(gctx, - (child_cert.cert, child_cert.uri(ca))) + repository.withdraw(gctx, child_cert.cert, child_cert.uri(ca)) child_cert.sql_delete(gctx) for child_cert in self.child_certs(gctx, revoked = True): child_cert.sql_delete(gctx) - repository.withdraw(gctx, - (self.latest_crl, self.crl_uri()), - (self.latest_manifest, self.manifest_uri(ca))) + repository.withdraw(gctx, self.latest_manifest, self.manifest_uri(ca)) + repository.withdraw(gctx, self.latest_crl, self.crl_uri()) self.sql_delete(gctx) def revoke(self, gctx): @@ -501,6 +499,7 @@ class ca_detail_obj(sql_persistant): place; if not specified, we create a new one. Returns the child_cert object containing the newly issued cert. """ + assert child_cert is None or (child_cert.child_id == child.child_id and child_cert.ca_detail_id == self.ca_detail_id) @@ -528,15 +527,10 @@ class ca_detail_obj(sql_persistant): child_cert.sql_store(gctx) + ca.parent(gctx).repository(gctx).publish(gctx, child_cert.cert, child_cert.uri(ca)) + self.generate_manifest(gctx) - parent = ca.parent(gctx) - repository = parent.repository(gctx) - - repository.publish(gctx, - (child_cert.cert, child_cert.uri(ca)), - (self.latest_manifest, self.manifest_uri(ca))) - return child_cert def generate_crl(self, gctx): @@ -567,8 +561,7 @@ class ca_detail_obj(sql_persistant): nextUpdate = now + crl_interval, revokedCertificates = certlist) - repository.publish(gctx, - (self.latest_crl, self.crl_uri(ca))) + repository.publish(gctx, self.latest_crl, self.crl_uri(ca)) def generate_manifest(self, gctx): """Generate a new manifest for this ca_detail.""" @@ -590,8 +583,7 @@ class ca_detail_obj(sql_persistant): certs = rpki.x509.X509_chain(self.latest_manifest_cert)) self.latest_manifest = m - repository.publish(gctx, - (self.latest_manifest, self.manifest_uri(ca))) + repository.publish(gctx, self.latest_manifest, self.manifest_uri(ca)) class child_cert_obj(sql_persistant): """Certificate that has been issued to a child.""" |