diff options
author | Rob Austein <sra@hactrn.net> | 2010-08-30 19:14:31 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2010-08-30 19:14:31 +0000 |
commit | 51926d3d7bc098e49ce3e1412b98ab792e30db8a (patch) | |
tree | a21fe30a3dd3f95dba8daf2b417882c0f93e8297 /rpkid | |
parent | 97d079cef9db142ef7dee6bf214f96b1d63f1249 (diff) |
Use correct exception handler in call_pubd()
svn path=/rpkid/rpki/left_right.py; revision=3433
Diffstat (limited to 'rpkid')
-rw-r--r-- | rpkid/rpki/left_right.py | 74 |
1 files changed, 40 insertions, 34 deletions
diff --git a/rpkid/rpki/left_right.py b/rpkid/rpki/left_right.py index a3b43b16..63ab9f87 100644 --- a/rpkid/rpki/left_right.py +++ b/rpkid/rpki/left_right.py @@ -652,46 +652,52 @@ class repository_elt(data_elt): False suppresses calling of the default handler. """ - rpki.log.trace() + try: + rpki.log.trace() - self.gctx.sql.sweep() + self.gctx.sql.sweep() - if not q_msg: - return callback() + if not q_msg: + return callback() - if handlers is None: - handlers = {} + if handlers is None: + handlers = {} - for q_pdu in q_msg: - rpki.log.info("Sending <%s %r %r> to pubd" % (q_pdu.action, q_pdu.uri, q_pdu.payload)) + for q_pdu in q_msg: + rpki.log.info("Sending <%s %r %r> to pubd" % (q_pdu.action, q_pdu.uri, q_pdu.payload)) - bsc = self.bsc() - q_cms = rpki.publication.cms_msg.wrap(q_msg, bsc.private_key_id, bsc.signing_cert, bsc.signing_cert_crl) - bpki_ta_path = (self.gctx.bpki_ta, self.self().bpki_cert, self.self().bpki_glue, self.bpki_cert, self.bpki_glue) + bsc = self.bsc() + q_cms = rpki.publication.cms_msg.wrap(q_msg, bsc.private_key_id, bsc.signing_cert, bsc.signing_cert_crl) + bpki_ta_path = (self.gctx.bpki_ta, self.self().bpki_cert, self.self().bpki_glue, self.bpki_cert, self.bpki_glue) - def done(r_cms): - try: - r_msg = rpki.publication.cms_msg.unwrap(r_cms, bpki_ta_path) - for r_pdu in r_msg: - handler = handlers.get(r_pdu.tag, self.default_pubd_handler) - if handler: - handler(r_pdu) - if len(q_msg) != len(r_msg): - raise rpki.exceptions.BadPublicationReply, "Wrong number of response PDUs from pubd: sent %r, got %r" % (q_msg, r_msg) - callback() - except (rpki.async.ExitNow, SystemExit): - raise - except Exception, e: - errback(e) - - rpki.https.client( - client_key = bsc.private_key_id, - client_cert = bsc.signing_cert, - server_ta = bpki_ta_path, - url = self.peer_contact_uri, - msg = q_cms, - callback = done, - errback = errback) + def done(r_cms): + try: + r_msg = rpki.publication.cms_msg.unwrap(r_cms, bpki_ta_path) + for r_pdu in r_msg: + handler = handlers.get(r_pdu.tag, self.default_pubd_handler) + if handler: + handler(r_pdu) + if len(q_msg) != len(r_msg): + raise rpki.exceptions.BadPublicationReply, "Wrong number of response PDUs from pubd: sent %r, got %r" % (q_msg, r_msg) + callback() + except (rpki.async.ExitNow, SystemExit): + raise + except Exception, e: + errback(e) + + rpki.https.client( + client_key = bsc.private_key_id, + client_cert = bsc.signing_cert, + server_ta = bpki_ta_path, + url = self.peer_contact_uri, + msg = q_cms, + callback = done, + errback = errback) + + except (rpki.async.ExitNow, SystemExit): + raise + except Exception, e: + errback(e) class parent_elt(data_elt): """ |