diff options
-rw-r--r-- | rpkid/rpki/http.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/rpkid/rpki/http.py b/rpkid/rpki/http.py index c3eae1fe..d7690988 100644 --- a/rpkid/rpki/http.py +++ b/rpkid/rpki/http.py @@ -1048,13 +1048,18 @@ class caller(object): """ Handle CMS-wrapped XML response message. """ - r_cms = self.proto.cms_msg(DER = r_der) - r_msg = r_cms.unwrap((self.server_ta, self.server_cert)) - self.cms_timestamp = r_cms.check_replay(self.cms_timestamp) - if self.debug: - print "<!-- Reply -->" - print r_cms.pretty_print_content() - cb(r_msg) + try: + r_cms = self.proto.cms_msg(DER = r_der) + r_msg = r_cms.unwrap((self.server_ta, self.server_cert)) + self.cms_timestamp = r_cms.check_replay(self.cms_timestamp) + if self.debug: + print "<!-- Reply -->" + print r_cms.pretty_print_content() + cb(r_msg) + except (rpki.async.ExitNow, SystemExit): + raise + except Exception, e: + eb(e) q_msg = self.proto.msg.query(*pdus) q_cms = self.proto.cms_msg() |