aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/rpki/up_down.py34
1 files changed, 22 insertions, 12 deletions
diff --git a/scripts/rpki/up_down.py b/scripts/rpki/up_down.py
index 2996fe59..b320f037 100644
--- a/scripts/rpki/up_down.py
+++ b/scripts/rpki/up_down.py
@@ -45,8 +45,8 @@ class base_elt(object):
if value is not None:
lxml.etree.SubElement(elt, "{%s}%s" % (xmlns, name), nsmap=nsmap).text = base64.b64encode(value)
- def serve_pdu(self, gctx, r_msg, child):
- raise NotImplementedError
+ def serve_pdu(self, gctx, q_msg, r_msg, child):
+ raise rpki.exceptions.BadQuery, "Unexpected query type %s" % q_msg.type
class multi_uri(list):
"""Container for a set of URIs."""
@@ -140,7 +140,7 @@ class list_pdu(base_elt):
"""Generate (empty) payload of "list" PDU."""
return []
- def serve_pdu(self, gctx, r_msg, child):
+ def serve_pdu(self, gctx, q_msg, r_msg, child):
r_msg.payload = list_response_pdu()
irdb_as, irdb_v4, irdb_v6 = rpki.left_right.irdb_query(gctx, child.self_id, child.child_id)
for ca_id in rpki.sql.fetch_column(gctx.cur, "SELECT ca_id FROM ca WHERE ca.parent_id = parent.parent_id AND parent.self_id = %s" % child.self_id):
@@ -186,14 +186,14 @@ class list_response_pdu(base_elt):
def startElement(self, stack, name, attrs):
"""Handle "list_response" PDU."""
assert name == "class", "Unexpected name %s, stack %s" % (name, stack)
- klass = class_elt()
- self.classes.append(klass)
- stack.append(klass)
- klass.startElement(stack, name, attrs)
+ c = class_elt()
+ self.classes.append(c)
+ stack.append(c)
+ c.startElement(stack, name, attrs)
def toXML(self):
"""Generate payload of "list_response" PDU."""
- return [i.toXML() for i in self.classes]
+ return [c.toXML() for c in self.classes]
class issue_pdu(base_elt):
"""Up-Down protocol "issue" PDU."""
@@ -218,6 +218,9 @@ class issue_pdu(base_elt):
elt.text = self.pkcs10.get_Base64()
return [elt]
+ def serve_pdu(self, gctx, q_msg, r_msg, child):
+ raise NotImplementedError
+
class issue_response_pdu(list_response_pdu):
"""Up-Down protocol "issue_response" PDU."""
@@ -226,8 +229,8 @@ class issue_response_pdu(list_response_pdu):
assert len(self.classes) == 1
return list_response_pdu.toXML(self)
-class revoke_pdu(base_elt):
- """Up-Down protocol "revoke" PDU."""
+class revoke_elt(base_elt):
+ """Syntax for Up-Down protocol "revoke" and "revoke_response" PDUs."""
def startElement(self, stack, name, attrs):
"""Handle "revoke" PDU."""
@@ -238,8 +241,15 @@ class revoke_pdu(base_elt):
"""Generate payload of "revoke" PDU."""
return [self.make_elt("key", "class_name", "ski")]
-class revoke_response_pdu(revoke_pdu):
+class revoke_pdu(revoke_elt):
+ """Up-Down protocol "revoke" PDU."""
+
+ def serve_pdu(self, gctx, q_msg, r_msg, child):
+ raise NotImplementedError
+
+class revoke_response_pdu(revoke_elt):
"""Up-Down protocol "revoke_response" PDU."""
+
pass
class error_response_pdu(base_elt):
@@ -318,7 +328,7 @@ class message_pdu(base_elt):
def serve_top_level(self, gctx, child):
r_msg = self.__class__()
- self.payload.serve_pdu(self, gctx, r_msg, child)
+ self.payload.serve_pdu(gctx, self, r_msg, child)
return r_msg
class sax_handler(rpki.sax_utils.handler):