aboutsummaryrefslogtreecommitdiff
path: root/rpki/rpkid.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpki/rpkid.py')
-rw-r--r--rpki/rpkid.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/rpki/rpkid.py b/rpki/rpkid.py
index ce7368df..6cbbc7dd 100644
--- a/rpki/rpkid.py
+++ b/rpki/rpkid.py
@@ -406,15 +406,19 @@ class main(object):
# Compatability kludge
if isinstance(q_pdu, rpki.left_right.data_elt):
- r_msg.append(rpki.left_right.report_error_elt.from_exception(
- e, self_handle = q_pdu.self_handle, tag = q_pdu.tag).toXML())
+ error_self_handle = q_pdu.self_handle
+ error_tag = q_pdu.tag
else:
- r_pdu = rpki.left_right.report_error_elt.from_exception(e, self_handle = q_pdu.get("self_handle"))
- tag = q_pdu.get("tag")
- if tag:
- r_pdu.set("tag", tag)
- r_msg.append(r_pdu.toXML())
-
+ error_self_handle = q_pdu.get("self_handle")
+ error_tag = q_pdu.get("tag")
+
+ r_pdu = SubElement(r_msg, rpki.left_right.tag_report_error, error_code = e.__class__.__name__)
+ r_pdu.text = str(e)
+ if error_tag is not None:
+ r_pdu.set("tag", error_tag)
+ if error_self_handle is not None:
+ r_pdu.set("self_handle", error_self_handle)
+
self.sql.sweep()
cb(200, body = rpki.left_right.cms_msg().wrap(r_msg, self.rpkid_key, self.rpkid_cert))