aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rootd.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/rootd.py')
-rwxr-xr-xrpkid/rootd.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/rpkid/rootd.py b/rpkid/rootd.py
index 21b1b371..6bae0b7d 100755
--- a/rpkid/rootd.py
+++ b/rpkid/rootd.py
@@ -124,30 +124,28 @@ class message_pdu(rpki.up_down.message_pdu):
"error_response" : rpki.up_down.error_response_pdu }
type2name = dict((v,k) for k,v in name2type.items())
-class sax_handler(rpki.sax_utils.handler):
- def create_top_level(self, name, attrs):
- return message_pdu()
+class sax_handler(rpki.up_down.sax_handler):
+ pdu = message_pdu
+
+class cms_msg(rpki.up_down.cms_msg):
+ saxify = sax_handler.saxify
def up_down_handler(query, path):
try:
- q_cms = rpki.x509.up_down_pdu(DER = query)
- q_elt = q_cms.verify(cms_ta)
- q_msg = sax_handler.saxify(q_elt)
+ q_msg = cms_msg.unwrap(query, cms_ta)
except Exception, data:
rpki.log.error(traceback.format_exc())
return 400, "Could not process PDU: %s" % data
try:
r_msg = q_msg.serve_top_level(None)
- r_elt = r_msg.toXML()
- r_cms = rpki.x509.up_down_pdu.build(r_elt, cms_key, cms_certs)
- return 200, r_cms.get_DER()
+ r_cms = cms_msg.wrap(r_msg, cms_key, cms_certs)
+ return 200, r_cms
except Exception, data:
rpki.log.error(traceback.format_exc())
try:
r_msg = q_msg.serve_error(data)
- r_elt = r_msg.toXML()
- r_cms = rpki.x509.up_down_pdu.build(r_elt, cms_key, cms_certs)
- return 200, r_cms.get_DER()
+ r_cms = cms_msg.wrap(r_msg, cms_key, cms_certs)
+ return 200, r_cms
except Exception, data:
rpki.log.error(traceback.format_exc())
return 500, "Could not process PDU: %s" % data