aboutsummaryrefslogtreecommitdiff
path: root/rpkid
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2010-08-30 19:14:31 +0000
committerRob Austein <sra@hactrn.net>2010-08-30 19:14:31 +0000
commit51926d3d7bc098e49ce3e1412b98ab792e30db8a (patch)
treea21fe30a3dd3f95dba8daf2b417882c0f93e8297 /rpkid
parent97d079cef9db142ef7dee6bf214f96b1d63f1249 (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.py74
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):
"""