aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xrpkid/irbe-cli.py6
-rw-r--r--rpkid/irbe-setup.py4
-rwxr-xr-xrpkid/irdbd.py6
-rw-r--r--rpkid/left-right-protocol-samples.xml252
-rw-r--r--rpkid/left-right-protocol-samples/pdu.001.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.002.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.003.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.004.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.005.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.006.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.007.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.008.xml6
-rw-r--r--rpkid/left-right-protocol-samples/pdu.009.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.010.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.011.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.012.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.013.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.014.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.015.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.016.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.017.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.018.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.019.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.020.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.021.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.022.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.023.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.024.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.025.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.026.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.027.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.028.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.029.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.030.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.031.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.032.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.033.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.034.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.035.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.036.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.037.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.038.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.039.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.040.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.041.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.042.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.043.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.044.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.045.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.046.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.047.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.048.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.049.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.050.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.051.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.052.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.053.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.054.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.055.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.056.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.057.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.058.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.059.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.060.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.061.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.062.xml4
-rw-r--r--rpkid/left-right-protocol-samples/pdu.063.xml2
-rw-r--r--rpkid/left-right-schema.rnc181
-rw-r--r--rpkid/left-right-schema.rng473
-rw-r--r--rpkid/rpki/gctx.py6
-rw-r--r--rpkid/rpki/left_right.py23
-rw-r--r--rpkid/rpki/relaxng.py473
-rw-r--r--rpkid/testbed.py4
73 files changed, 832 insertions, 848 deletions
diff --git a/rpkid/irbe-cli.py b/rpkid/irbe-cli.py
index bb535ebb..76e246e2 100755
--- a/rpkid/irbe-cli.py
+++ b/rpkid/irbe-cli.py
@@ -43,11 +43,6 @@ class cmd_mixin(object):
setattr(self, o, a)
return argv
- def client_query_action(self, arg):
- """Special handler for --action option."""
- self.action = arg
- self.type = "query"
-
def client_query_bpki_cert(self, arg):
"""Special handler for --bpki_cert option."""
self.bpki_cert = rpki.x509.X509(Auto_file=arg)
@@ -183,6 +178,7 @@ irbe_key = rpki.x509.RSA( Auto_file = cfg.get("irbe-key"))
https_url = cfg.get("https-url")
q_msg = rpki.left_right.msg()
+q_msg.type = "query"
while argv:
try:
diff --git a/rpkid/irbe-setup.py b/rpkid/irbe-setup.py
index 9531cda7..6518bb55 100644
--- a/rpkid/irbe-setup.py
+++ b/rpkid/irbe-setup.py
@@ -43,8 +43,8 @@ def call_rpkid(pdu):
exception if anything bad happens, no fancy error handling.
"""
- pdu.type = "query"
msg = rpki.left_right.msg((pdu,))
+ msg.type = "query"
cms = rpki.x509.left_right_pdu.wrap(msg, irbe_key, irbe_cert)
der = rpki.https.client(client_key = irbe_key,
client_cert = irbe_cert,
@@ -53,7 +53,7 @@ def call_rpkid(pdu):
msg = cms)
msg = rpki.left_right.cms_msg.unwrap(der, (bpki_ta, rpkid_cert))
pdu = msg[0]
- assert len(msg) == 1 and pdu.type == "reply" and not isinstance(pdu, rpki.left_right.report_error_elt)
+ assert len(msg) == 1 and msg.type == "reply" and not isinstance(pdu, rpki.left_right.report_error_elt)
return pdu
print "Create a self instance"
diff --git a/rpkid/irdbd.py b/rpkid/irdbd.py
index 0ee44472..752276dc 100755
--- a/rpkid/irdbd.py
+++ b/rpkid/irdbd.py
@@ -32,19 +32,19 @@ def handler(query, path):
q_msg = rpki.left_right.cms_msg.unwrap(query, (bpki_ta, rpkid_cert))
- if not isinstance(q_msg, rpki.left_right.msg):
+ if not isinstance(q_msg, rpki.left_right.msg) or q_msg.type != "query":
raise rpki.exceptions.BadQuery, "Unexpected %s PDU" % repr(q_msg)
r_msg = rpki.left_right.msg()
+ r_msg.type = "reply"
for q_pdu in q_msg:
try:
- if not isinstance(q_pdu, rpki.left_right.list_resources_elt) or q_pdu.type != "query":
+ if not isinstance(q_pdu, rpki.left_right.list_resources_elt):
raise rpki.exceptions.BadQuery, "Unexpected %s PDU" % repr(q_pdu)
r_pdu = rpki.left_right.list_resources_elt()
- r_pdu.type = "reply"
r_pdu.tag = q_pdu.tag
r_pdu.self_id = q_pdu.self_id
r_pdu.child_id = q_pdu.child_id
diff --git a/rpkid/left-right-protocol-samples.xml b/rpkid/left-right-protocol-samples.xml
index dcd4b241..4f3d1b59 100644
--- a/rpkid/left-right-protocol-samples.xml
+++ b/rpkid/left-right-protocol-samples.xml
@@ -22,19 +22,19 @@
<completely_gratuitous_wrapper_element_to_let_me_run_this_through_xmllint>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <self action="create" type="query" tag="a000">
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <self action="create" tag="a000">
<extension_preference name="name">Launcelot</extension_preference>
<extension_preference name="quest">Holy Grail</extension_preference>
</self>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <self action="create" type="reply" tag="a000" self_id="42"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <self action="create" tag="a000" self_id="42"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <self action="set" type="query" self_id="42"
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <self action="set" self_id="42"
rekey="yes"
reissue="yes"
revoke="yes"
@@ -86,16 +86,16 @@
</self>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <self action="set" type="reply" self_id="42"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <self action="set" self_id="42"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <self action="get" type="query" self_id="42"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <self action="get" self_id="42"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <self action="get" type="reply" self_id="42">
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <self action="get" self_id="42">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
@@ -140,12 +140,12 @@
</self>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <self action="list" type="query"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <self action="list"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <self action="list" type="reply" self_id="42">
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <self action="list" self_id="42">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
@@ -188,25 +188,25 @@
<extension_preference name="quest">Holy Grail</extension_preference>
<extension_preference name="color">Blue</extension_preference>
</self>
- <self action="list" type="reply" self_id="99">
+ <self action="list" self_id="99">
<extension_preference name="name">Arthur, King of the Britons</extension_preference>
<extension_preference name="quest">Holy Grail</extension_preference>
<extension_preference name="airspeed_velocity_of_an_unladen_swallow">African or European swallow?</extension_preference>
</self>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <self action="destroy" type="query" self_id="42"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <self action="destroy" self_id="42"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <self action="destroy" type="reply" self_id="42"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <self action="destroy" self_id="42"/>
</msg>
<!-- ==== -->
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <bsc action="create" type="query" self_id="42"
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <bsc action="create" self_id="42"
generate_keypair="yes"
key_type="rsa"
hash_alg="sha256"
@@ -233,14 +233,14 @@
</bsc>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <bsc action="create" type="reply" self_id="42" bsc_id="17">
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <bsc action="create" self_id="42" bsc_id="17">
<pkcs10_request>cmVxdWVzdAo=</pkcs10_request>
</bsc>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <bsc action="set" type="query" self_id="42" bsc_id="17">
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <bsc action="set" self_id="42" bsc_id="17">
<signing_cert>
MIIDHTCCAgWgAwIBAgIJAKUUCoKn9ovVMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV
BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wNzA4MDExOTUzMDda
@@ -274,16 +274,16 @@
</bsc>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <bsc action="set" type="reply" self_id="42" bsc_id="17"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <bsc action="set" self_id="42" bsc_id="17"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <bsc action="get" type="query" self_id="42" bsc_id="17"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <bsc action="get" self_id="42" bsc_id="17"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <bsc action="get" type="reply" self_id="42" bsc_id="17">
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <bsc action="get" self_id="42" bsc_id="17">
<signing_cert>
MIIDHTCCAgWgAwIBAgIJAKUUCoKn9ovVMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV
BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wNzA4MDExOTUzMDda
@@ -306,12 +306,12 @@
</bsc>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <bsc action="list" type="query" self_id="42"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <bsc action="list" self_id="42"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <bsc action="get" type="reply" self_id="42" bsc_id="17">
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <bsc action="get" self_id="42" bsc_id="17">
<signing_cert>
MIIDHTCCAgWgAwIBAgIJAKUUCoKn9ovVMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV
BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wNzA4MDExOTUzMDda
@@ -334,18 +334,18 @@
</bsc>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <bsc action="destroy" type="query" self_id="42" bsc_id="17"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <bsc action="destroy" self_id="42" bsc_id="17"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <bsc action="destroy" type="reply" self_id="42" bsc_id="17"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <bsc action="destroy" self_id="42" bsc_id="17"/>
</msg>
<!-- ==== -->
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <parent action="create" type="query" self_id="42"
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <parent action="create" self_id="42"
peer_contact_uri="https://re.bar.example/bandicoot/"
sia_base="rsync://repo.foo.example/wombat/"
bsc_id="17"
@@ -431,12 +431,12 @@
</parent>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <parent action="create" type="reply" self_id="42" parent_id="666"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <parent action="create" self_id="42" parent_id="666"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <parent action="set" type="query" self_id="42" parent_id="666"
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <parent action="set" self_id="42" parent_id="666"
peer_contact_uri="https://re.bar.example/bandicoot/"
sia_base="rsync://repo.foo.example/wombat/"
bsc_id="17"
@@ -523,16 +523,16 @@
</parent>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <parent action="set" type="reply" self_id="42" parent_id="666"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <parent action="set" self_id="42" parent_id="666"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <parent action="get" type="query" self_id="42" parent_id="666"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <parent action="get" self_id="42" parent_id="666"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <parent action="get" type="reply" self_id="42" parent_id="666"
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <parent action="get" self_id="42" parent_id="666"
peer_contact_uri="https://re.bar.example/bandicoot/"
sia_base="rsync://repo.foo.example/wombat/"
bsc_id="17"
@@ -616,12 +616,12 @@
</parent>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <parent action="list" type="query" self_id="42"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <parent action="list" self_id="42"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <parent action="list" type="reply" self_id="42" parent_id="666"
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <parent action="list" self_id="42" parent_id="666"
peer_contact_uri="https://re.bar.example/bandicoot/"
sia_base="rsync://repo.foo.example/wombat/"
bsc_id="17"
@@ -705,18 +705,18 @@
</parent>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <parent action="destroy" type="query" self_id="42"
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <parent action="destroy" self_id="42"
parent_id="666"/> </msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <parent action="destroy" type="reply" self_id="42" parent_id="666"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <parent action="destroy" self_id="42" parent_id="666"/>
</msg>
<!-- ==== -->
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <child action="create" type="query" self_id="42"
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <child action="create" self_id="42"
bsc_id="17">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
@@ -740,12 +740,12 @@
</child>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <child action="create" type="reply" self_id="42" child_id="3"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <child action="create" self_id="42" child_id="3"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <child action="set" type="query" self_id="42" child_id="3"
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <child action="set" self_id="42" child_id="3"
bsc_id="17"
reissue="yes">
<bpki_cert>
@@ -770,16 +770,16 @@
</child>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <child action="set" type="reply" self_id="42" child_id="3"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <child action="set" self_id="42" child_id="3"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <child action="get" type="query" self_id="42" child_id="3"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <child action="get" self_id="42" child_id="3"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <child action="get" type="reply" self_id="42" child_id="3"
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <child action="get" self_id="42" child_id="3"
bsc_id="17">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
@@ -803,12 +803,12 @@
</child>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <child action="list" type="query" self_id="42"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <child action="list" self_id="42"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <child action="list" type="reply" self_id="42" child_id="3"
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <child action="list" self_id="42" child_id="3"
bsc_id="17">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
@@ -832,18 +832,18 @@
</child>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <child action="destroy" type="query" self_id="42" child_id="3"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <child action="destroy" self_id="42" child_id="3"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <child action="destroy" type="reply" self_id="42" child_id="3"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <child action="destroy" self_id="42" child_id="3"/>
</msg>
<!-- ==== -->
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <repository action="create" type="query" self_id="42"
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <repository action="create" self_id="42"
peer_contact_uri="https://re.bar.example/bandicoot/"
bsc_id="17">
<bpki_cms_cert>
@@ -925,12 +925,12 @@
</repository>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <repository action="create" type="reply" self_id="42" repository_id="120"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <repository action="create" self_id="42" repository_id="120"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <repository action="set" type="query" self_id="42" repository_id="120"
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <repository action="set" self_id="42" repository_id="120"
peer_contact_uri="https://re.bar.example/bandicoot/"
bsc_id="17">
<bpki_cms_cert>
@@ -1012,16 +1012,16 @@
</repository>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <repository action="set" type="reply" self_id="42" repository_id="120"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <repository action="set" self_id="42" repository_id="120"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <repository action="get" type="query" self_id="42" repository_id="120"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <repository action="get" self_id="42" repository_id="120"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <repository action="get" type="reply" self_id="42" repository_id="120"
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <repository action="get" self_id="42" repository_id="120"
peer_contact_uri="https://re.bar.example/bandicoot/"
bsc_id="17">
<bpki_cms_cert>
@@ -1103,12 +1103,12 @@
</repository>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <repository action="list" type="query" self_id="42"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <repository action="list" self_id="42"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <repository action="list" type="reply" self_id="42" repository_id="120"
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <repository action="list" self_id="42" repository_id="120"
peer_contact_uri="https://re.bar.example/bandicoot/"
bsc_id="17">
<bpki_cms_cert>
@@ -1190,68 +1190,68 @@
</repository>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <repository action="destroy" type="query" self_id="42" repository_id="120"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <repository action="destroy" self_id="42" repository_id="120"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <repository action="destroy" type="reply" self_id="42" repository_id="120"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <repository action="destroy" self_id="42" repository_id="120"/>
</msg>
<!-- ==== -->
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <route_origin action="create" type="query" self_id="42"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <route_origin action="create" self_id="42"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <route_origin action="create" type="reply" self_id="42" route_origin_id="88"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <route_origin action="create" self_id="42" route_origin_id="88"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <route_origin action="set" type="query" self_id="42" route_origin_id="88"
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <route_origin action="set" self_id="42" route_origin_id="88"
suppress_publication="yes"
as_number="12345" exact_match="true" ipv4="10.0.0.44/32" ipv6="2002:a00::/48"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <route_origin action="set" type="reply" self_id="42" route_origin_id="88"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <route_origin action="set" self_id="42" route_origin_id="88"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <route_origin action="get" type="query" self_id="42" route_origin_id="88"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <route_origin action="get" self_id="42" route_origin_id="88"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <route_origin action="get" type="reply" self_id="42" route_origin_id="88"
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <route_origin action="get" self_id="42" route_origin_id="88"
as_number="12345" exact_match="true" ipv4="10.0.0.44/32" ipv6="2002:a00::/48"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <route_origin action="list" type="query" self_id="42"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <route_origin action="list" self_id="42"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <route_origin action="list" type="reply" self_id="42" route_origin_id="88"
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <route_origin action="list" self_id="42" route_origin_id="88"
as_number="12345" ipv4="10.0.0.44/32" ipv6="2002:a00::/48"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <route_origin action="destroy" type="query" self_id="42" route_origin_id="88"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <route_origin action="destroy" self_id="42" route_origin_id="88"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <route_origin action="destroy" type="reply" self_id="42" route_origin_id="88"/>
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <route_origin action="destroy" self_id="42" route_origin_id="88"/>
</msg>
<!-- ==== -->
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <list_resources type="query" self_id="42" child_id="289"/>
+ <msg version="1" type="query" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <list_resources self_id="42" child_id="289"/>
</msg>
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
- <list_resources type="reply" self_id="42" child_id="289"
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <list_resources self_id="42" child_id="289"
valid_until="2008-04-01T00:00:00Z"
subject_name="Wombats are us"
ipv4="10.0.0.44/32,10.3.0.44/32"
@@ -1261,7 +1261,7 @@
<!-- === -->
- <msg version="1" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
+ <msg version="1" type="reply" xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/">
<report_error self_id="42" error_code="your_hair_is_on_fire">bag_of_data</report_error>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.001.xml b/rpkid/left-right-protocol-samples/pdu.001.xml
index 7d6b1bd5..164308f6 100644
--- a/rpkid/left-right-protocol-samples/pdu.001.xml
+++ b/rpkid/left-right-protocol-samples/pdu.001.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <self action="create" type="query" tag="a000">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <self action="create" tag="a000">
<extension_preference name="name">Launcelot</extension_preference>
<extension_preference name="quest">Holy Grail</extension_preference>
</self>
diff --git a/rpkid/left-right-protocol-samples/pdu.002.xml b/rpkid/left-right-protocol-samples/pdu.002.xml
index 248adc19..fd965a64 100644
--- a/rpkid/left-right-protocol-samples/pdu.002.xml
+++ b/rpkid/left-right-protocol-samples/pdu.002.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <self action="create" type="reply" tag="a000" self_id="42"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <self action="create" tag="a000" self_id="42"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.003.xml b/rpkid/left-right-protocol-samples/pdu.003.xml
index aa900872..c798144a 100644
--- a/rpkid/left-right-protocol-samples/pdu.003.xml
+++ b/rpkid/left-right-protocol-samples/pdu.003.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <self action="set" type="query" self_id="42" rekey="yes" reissue="yes" revoke="yes" run_now="yes" publish_world_now="yes" clear_extension_preferences="yes" crl_interval="3600" regen_margin="86400" use_hsm="no">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <self action="set" self_id="42" rekey="yes" reissue="yes" revoke="yes" run_now="yes" publish_world_now="yes" clear_extension_preferences="yes" crl_interval="3600" regen_margin="86400" use_hsm="no">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.004.xml b/rpkid/left-right-protocol-samples/pdu.004.xml
index ae9a2f54..a5944143 100644
--- a/rpkid/left-right-protocol-samples/pdu.004.xml
+++ b/rpkid/left-right-protocol-samples/pdu.004.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <self action="set" type="reply" self_id="42"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <self action="set" self_id="42"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.005.xml b/rpkid/left-right-protocol-samples/pdu.005.xml
index f039e484..fc28723d 100644
--- a/rpkid/left-right-protocol-samples/pdu.005.xml
+++ b/rpkid/left-right-protocol-samples/pdu.005.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <self action="get" type="query" self_id="42"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <self action="get" self_id="42"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.006.xml b/rpkid/left-right-protocol-samples/pdu.006.xml
index 2a32e83b..2024a757 100644
--- a/rpkid/left-right-protocol-samples/pdu.006.xml
+++ b/rpkid/left-right-protocol-samples/pdu.006.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <self action="get" type="reply" self_id="42">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <self action="get" self_id="42">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.007.xml b/rpkid/left-right-protocol-samples/pdu.007.xml
index 19e8d75e..66cb88ce 100644
--- a/rpkid/left-right-protocol-samples/pdu.007.xml
+++ b/rpkid/left-right-protocol-samples/pdu.007.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <self action="list" type="query"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <self action="list"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.008.xml b/rpkid/left-right-protocol-samples/pdu.008.xml
index feb7246c..a761b1fe 100644
--- a/rpkid/left-right-protocol-samples/pdu.008.xml
+++ b/rpkid/left-right-protocol-samples/pdu.008.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <self action="list" type="reply" self_id="42">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <self action="list" self_id="42">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
@@ -44,7 +44,7 @@
<extension_preference name="quest">Holy Grail</extension_preference>
<extension_preference name="color">Blue</extension_preference>
</self>
- <self action="list" type="reply" self_id="99">
+ <self action="list" self_id="99">
<extension_preference name="name">Arthur, King of the Britons</extension_preference>
<extension_preference name="quest">Holy Grail</extension_preference>
<extension_preference name="airspeed_velocity_of_an_unladen_swallow">African or European swallow?</extension_preference>
diff --git a/rpkid/left-right-protocol-samples/pdu.009.xml b/rpkid/left-right-protocol-samples/pdu.009.xml
index bc7da935..de53f913 100644
--- a/rpkid/left-right-protocol-samples/pdu.009.xml
+++ b/rpkid/left-right-protocol-samples/pdu.009.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <self action="destroy" type="query" self_id="42"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <self action="destroy" self_id="42"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.010.xml b/rpkid/left-right-protocol-samples/pdu.010.xml
index 1fd0bb69..caaf9991 100644
--- a/rpkid/left-right-protocol-samples/pdu.010.xml
+++ b/rpkid/left-right-protocol-samples/pdu.010.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <self action="destroy" type="reply" self_id="42"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <self action="destroy" self_id="42"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.011.xml b/rpkid/left-right-protocol-samples/pdu.011.xml
index 5a061211..c4484bce 100644
--- a/rpkid/left-right-protocol-samples/pdu.011.xml
+++ b/rpkid/left-right-protocol-samples/pdu.011.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <bsc action="create" type="query" self_id="42" generate_keypair="yes" key_type="rsa" hash_alg="sha256" key_length="2048">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <bsc action="create" self_id="42" generate_keypair="yes" key_type="rsa" hash_alg="sha256" key_length="2048">
<signing_cert>
MIIDHTCCAgWgAwIBAgIJAKUUCoKn9ovVMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV
BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wNzA4MDExOTUzMDda
diff --git a/rpkid/left-right-protocol-samples/pdu.012.xml b/rpkid/left-right-protocol-samples/pdu.012.xml
index 30ca6328..73415344 100644
--- a/rpkid/left-right-protocol-samples/pdu.012.xml
+++ b/rpkid/left-right-protocol-samples/pdu.012.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <bsc action="create" type="reply" self_id="42" bsc_id="17">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <bsc action="create" self_id="42" bsc_id="17">
<pkcs10_request>cmVxdWVzdAo=</pkcs10_request>
</bsc>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.013.xml b/rpkid/left-right-protocol-samples/pdu.013.xml
index 708724c8..e452a042 100644
--- a/rpkid/left-right-protocol-samples/pdu.013.xml
+++ b/rpkid/left-right-protocol-samples/pdu.013.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <bsc action="set" type="query" self_id="42" bsc_id="17">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <bsc action="set" self_id="42" bsc_id="17">
<signing_cert>
MIIDHTCCAgWgAwIBAgIJAKUUCoKn9ovVMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV
BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wNzA4MDExOTUzMDda
diff --git a/rpkid/left-right-protocol-samples/pdu.014.xml b/rpkid/left-right-protocol-samples/pdu.014.xml
index dbb00bf7..13ca9ff0 100644
--- a/rpkid/left-right-protocol-samples/pdu.014.xml
+++ b/rpkid/left-right-protocol-samples/pdu.014.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <bsc action="set" type="reply" self_id="42" bsc_id="17"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <bsc action="set" self_id="42" bsc_id="17"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.015.xml b/rpkid/left-right-protocol-samples/pdu.015.xml
index 25137d90..41cf1f06 100644
--- a/rpkid/left-right-protocol-samples/pdu.015.xml
+++ b/rpkid/left-right-protocol-samples/pdu.015.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <bsc action="get" type="query" self_id="42" bsc_id="17"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <bsc action="get" self_id="42" bsc_id="17"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.016.xml b/rpkid/left-right-protocol-samples/pdu.016.xml
index 7e3d1485..6901f080 100644
--- a/rpkid/left-right-protocol-samples/pdu.016.xml
+++ b/rpkid/left-right-protocol-samples/pdu.016.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <bsc action="get" type="reply" self_id="42" bsc_id="17">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <bsc action="get" self_id="42" bsc_id="17">
<signing_cert>
MIIDHTCCAgWgAwIBAgIJAKUUCoKn9ovVMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV
BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wNzA4MDExOTUzMDda
diff --git a/rpkid/left-right-protocol-samples/pdu.017.xml b/rpkid/left-right-protocol-samples/pdu.017.xml
index dc882a50..0213dc45 100644
--- a/rpkid/left-right-protocol-samples/pdu.017.xml
+++ b/rpkid/left-right-protocol-samples/pdu.017.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <bsc action="list" type="query" self_id="42"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <bsc action="list" self_id="42"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.018.xml b/rpkid/left-right-protocol-samples/pdu.018.xml
index 7e3d1485..6901f080 100644
--- a/rpkid/left-right-protocol-samples/pdu.018.xml
+++ b/rpkid/left-right-protocol-samples/pdu.018.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <bsc action="get" type="reply" self_id="42" bsc_id="17">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <bsc action="get" self_id="42" bsc_id="17">
<signing_cert>
MIIDHTCCAgWgAwIBAgIJAKUUCoKn9ovVMA0GCSqGSIb3DQEBBQUAMCYxJDAiBgNV
BAMTG1Rlc3QgQ2VydGlmaWNhdGUgQWxpY2UgUm9vdDAeFw0wNzA4MDExOTUzMDda
diff --git a/rpkid/left-right-protocol-samples/pdu.019.xml b/rpkid/left-right-protocol-samples/pdu.019.xml
index 62c3e9de..4c191b7d 100644
--- a/rpkid/left-right-protocol-samples/pdu.019.xml
+++ b/rpkid/left-right-protocol-samples/pdu.019.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <bsc action="destroy" type="query" self_id="42" bsc_id="17"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <bsc action="destroy" self_id="42" bsc_id="17"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.020.xml b/rpkid/left-right-protocol-samples/pdu.020.xml
index 75375dad..1f9fbd5a 100644
--- a/rpkid/left-right-protocol-samples/pdu.020.xml
+++ b/rpkid/left-right-protocol-samples/pdu.020.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <bsc action="destroy" type="reply" self_id="42" bsc_id="17"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <bsc action="destroy" self_id="42" bsc_id="17"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.021.xml b/rpkid/left-right-protocol-samples/pdu.021.xml
index 73063525..2036a3ff 100644
--- a/rpkid/left-right-protocol-samples/pdu.021.xml
+++ b/rpkid/left-right-protocol-samples/pdu.021.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <parent action="create" type="query" self_id="42" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120" sender_name="tweedledee" recipient_name="tweedledum">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <parent action="create" self_id="42" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120" sender_name="tweedledee" recipient_name="tweedledum">
<bpki_cms_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.022.xml b/rpkid/left-right-protocol-samples/pdu.022.xml
index 8c0a8d7d..bc5f6161 100644
--- a/rpkid/left-right-protocol-samples/pdu.022.xml
+++ b/rpkid/left-right-protocol-samples/pdu.022.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <parent action="create" type="reply" self_id="42" parent_id="666"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <parent action="create" self_id="42" parent_id="666"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.023.xml b/rpkid/left-right-protocol-samples/pdu.023.xml
index bb47fca3..d4c69fe5 100644
--- a/rpkid/left-right-protocol-samples/pdu.023.xml
+++ b/rpkid/left-right-protocol-samples/pdu.023.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <parent action="set" type="query" self_id="42" parent_id="666" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120" rekey="yes" reissue="yes" revoke="yes">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <parent action="set" self_id="42" parent_id="666" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120" rekey="yes" reissue="yes" revoke="yes">
<bpki_cms_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.024.xml b/rpkid/left-right-protocol-samples/pdu.024.xml
index 902e89ef..fe3c28fa 100644
--- a/rpkid/left-right-protocol-samples/pdu.024.xml
+++ b/rpkid/left-right-protocol-samples/pdu.024.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <parent action="set" type="reply" self_id="42" parent_id="666"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <parent action="set" self_id="42" parent_id="666"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.025.xml b/rpkid/left-right-protocol-samples/pdu.025.xml
index 51e077ba..a1958273 100644
--- a/rpkid/left-right-protocol-samples/pdu.025.xml
+++ b/rpkid/left-right-protocol-samples/pdu.025.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <parent action="get" type="query" self_id="42" parent_id="666"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <parent action="get" self_id="42" parent_id="666"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.026.xml b/rpkid/left-right-protocol-samples/pdu.026.xml
index 0dac009d..2f881c63 100644
--- a/rpkid/left-right-protocol-samples/pdu.026.xml
+++ b/rpkid/left-right-protocol-samples/pdu.026.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <parent action="get" type="reply" self_id="42" parent_id="666" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <parent action="get" self_id="42" parent_id="666" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120">
<bpki_cms_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.027.xml b/rpkid/left-right-protocol-samples/pdu.027.xml
index 6c417adb..63782f22 100644
--- a/rpkid/left-right-protocol-samples/pdu.027.xml
+++ b/rpkid/left-right-protocol-samples/pdu.027.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <parent action="list" type="query" self_id="42"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <parent action="list" self_id="42"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.028.xml b/rpkid/left-right-protocol-samples/pdu.028.xml
index b8d89efc..6c98e329 100644
--- a/rpkid/left-right-protocol-samples/pdu.028.xml
+++ b/rpkid/left-right-protocol-samples/pdu.028.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <parent action="list" type="reply" self_id="42" parent_id="666" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <parent action="list" self_id="42" parent_id="666" peer_contact_uri="https://re.bar.example/bandicoot/" sia_base="rsync://repo.foo.example/wombat/" bsc_id="17" repository_id="120">
<bpki_cms_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.029.xml b/rpkid/left-right-protocol-samples/pdu.029.xml
index 2cb9dc8b..7103419c 100644
--- a/rpkid/left-right-protocol-samples/pdu.029.xml
+++ b/rpkid/left-right-protocol-samples/pdu.029.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <parent action="destroy" type="query" self_id="42" parent_id="666"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <parent action="destroy" self_id="42" parent_id="666"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.030.xml b/rpkid/left-right-protocol-samples/pdu.030.xml
index 8e3d4c65..bb49d41b 100644
--- a/rpkid/left-right-protocol-samples/pdu.030.xml
+++ b/rpkid/left-right-protocol-samples/pdu.030.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <parent action="destroy" type="reply" self_id="42" parent_id="666"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <parent action="destroy" self_id="42" parent_id="666"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.031.xml b/rpkid/left-right-protocol-samples/pdu.031.xml
index d5b2b732..52890764 100644
--- a/rpkid/left-right-protocol-samples/pdu.031.xml
+++ b/rpkid/left-right-protocol-samples/pdu.031.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <child action="create" type="query" self_id="42" bsc_id="17">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <child action="create" self_id="42" bsc_id="17">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.032.xml b/rpkid/left-right-protocol-samples/pdu.032.xml
index f5b3dbe9..c244028b 100644
--- a/rpkid/left-right-protocol-samples/pdu.032.xml
+++ b/rpkid/left-right-protocol-samples/pdu.032.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <child action="create" type="reply" self_id="42" child_id="3"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <child action="create" self_id="42" child_id="3"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.033.xml b/rpkid/left-right-protocol-samples/pdu.033.xml
index 500a2f22..d13aa866 100644
--- a/rpkid/left-right-protocol-samples/pdu.033.xml
+++ b/rpkid/left-right-protocol-samples/pdu.033.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <child action="set" type="query" self_id="42" child_id="3" bsc_id="17" reissue="yes">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <child action="set" self_id="42" child_id="3" bsc_id="17" reissue="yes">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.034.xml b/rpkid/left-right-protocol-samples/pdu.034.xml
index f3332bb6..7c81aba8 100644
--- a/rpkid/left-right-protocol-samples/pdu.034.xml
+++ b/rpkid/left-right-protocol-samples/pdu.034.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <child action="set" type="reply" self_id="42" child_id="3"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <child action="set" self_id="42" child_id="3"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.035.xml b/rpkid/left-right-protocol-samples/pdu.035.xml
index 1fa3192c..9ca2e6ec 100644
--- a/rpkid/left-right-protocol-samples/pdu.035.xml
+++ b/rpkid/left-right-protocol-samples/pdu.035.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <child action="get" type="query" self_id="42" child_id="3"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <child action="get" self_id="42" child_id="3"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.036.xml b/rpkid/left-right-protocol-samples/pdu.036.xml
index a02ff46d..c3c7e65b 100644
--- a/rpkid/left-right-protocol-samples/pdu.036.xml
+++ b/rpkid/left-right-protocol-samples/pdu.036.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <child action="get" type="reply" self_id="42" child_id="3" bsc_id="17">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <child action="get" self_id="42" child_id="3" bsc_id="17">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.037.xml b/rpkid/left-right-protocol-samples/pdu.037.xml
index fcfe3199..a577e5e6 100644
--- a/rpkid/left-right-protocol-samples/pdu.037.xml
+++ b/rpkid/left-right-protocol-samples/pdu.037.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <child action="list" type="query" self_id="42"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <child action="list" self_id="42"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.038.xml b/rpkid/left-right-protocol-samples/pdu.038.xml
index 87cef4e7..652f4a6b 100644
--- a/rpkid/left-right-protocol-samples/pdu.038.xml
+++ b/rpkid/left-right-protocol-samples/pdu.038.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <child action="list" type="reply" self_id="42" child_id="3" bsc_id="17">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <child action="list" self_id="42" child_id="3" bsc_id="17">
<bpki_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.039.xml b/rpkid/left-right-protocol-samples/pdu.039.xml
index dc4fb285..429087ad 100644
--- a/rpkid/left-right-protocol-samples/pdu.039.xml
+++ b/rpkid/left-right-protocol-samples/pdu.039.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <child action="destroy" type="query" self_id="42" child_id="3"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <child action="destroy" self_id="42" child_id="3"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.040.xml b/rpkid/left-right-protocol-samples/pdu.040.xml
index 82f28511..99bebfc4 100644
--- a/rpkid/left-right-protocol-samples/pdu.040.xml
+++ b/rpkid/left-right-protocol-samples/pdu.040.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <child action="destroy" type="reply" self_id="42" child_id="3"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <child action="destroy" self_id="42" child_id="3"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.041.xml b/rpkid/left-right-protocol-samples/pdu.041.xml
index 771f5fa9..1084bc0d 100644
--- a/rpkid/left-right-protocol-samples/pdu.041.xml
+++ b/rpkid/left-right-protocol-samples/pdu.041.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <repository action="create" type="query" self_id="42" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <repository action="create" self_id="42" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17">
<bpki_cms_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.042.xml b/rpkid/left-right-protocol-samples/pdu.042.xml
index e7398c7f..0d7c67fe 100644
--- a/rpkid/left-right-protocol-samples/pdu.042.xml
+++ b/rpkid/left-right-protocol-samples/pdu.042.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <repository action="create" type="reply" self_id="42" repository_id="120"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <repository action="create" self_id="42" repository_id="120"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.043.xml b/rpkid/left-right-protocol-samples/pdu.043.xml
index 96668568..b4bc1732 100644
--- a/rpkid/left-right-protocol-samples/pdu.043.xml
+++ b/rpkid/left-right-protocol-samples/pdu.043.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <repository action="set" type="query" self_id="42" repository_id="120" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <repository action="set" self_id="42" repository_id="120" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17">
<bpki_cms_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.044.xml b/rpkid/left-right-protocol-samples/pdu.044.xml
index d7506e3d..61a18ab5 100644
--- a/rpkid/left-right-protocol-samples/pdu.044.xml
+++ b/rpkid/left-right-protocol-samples/pdu.044.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <repository action="set" type="reply" self_id="42" repository_id="120"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <repository action="set" self_id="42" repository_id="120"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.045.xml b/rpkid/left-right-protocol-samples/pdu.045.xml
index 78866dad..02739e6a 100644
--- a/rpkid/left-right-protocol-samples/pdu.045.xml
+++ b/rpkid/left-right-protocol-samples/pdu.045.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <repository action="get" type="query" self_id="42" repository_id="120"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <repository action="get" self_id="42" repository_id="120"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.046.xml b/rpkid/left-right-protocol-samples/pdu.046.xml
index e9ce67fe..18329cb5 100644
--- a/rpkid/left-right-protocol-samples/pdu.046.xml
+++ b/rpkid/left-right-protocol-samples/pdu.046.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <repository action="get" type="reply" self_id="42" repository_id="120" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <repository action="get" self_id="42" repository_id="120" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17">
<bpki_cms_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.047.xml b/rpkid/left-right-protocol-samples/pdu.047.xml
index 5ca17d89..f589531e 100644
--- a/rpkid/left-right-protocol-samples/pdu.047.xml
+++ b/rpkid/left-right-protocol-samples/pdu.047.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <repository action="list" type="query" self_id="42"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <repository action="list" self_id="42"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.048.xml b/rpkid/left-right-protocol-samples/pdu.048.xml
index e14371e3..648625f3 100644
--- a/rpkid/left-right-protocol-samples/pdu.048.xml
+++ b/rpkid/left-right-protocol-samples/pdu.048.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <repository action="list" type="reply" self_id="42" repository_id="120" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <repository action="list" self_id="42" repository_id="120" peer_contact_uri="https://re.bar.example/bandicoot/" bsc_id="17">
<bpki_cms_cert>
MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgBgNV
BAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1MzEwWhcN
diff --git a/rpkid/left-right-protocol-samples/pdu.049.xml b/rpkid/left-right-protocol-samples/pdu.049.xml
index b89ad078..3b4db2ca 100644
--- a/rpkid/left-right-protocol-samples/pdu.049.xml
+++ b/rpkid/left-right-protocol-samples/pdu.049.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <repository action="destroy" type="query" self_id="42" repository_id="120"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <repository action="destroy" self_id="42" repository_id="120"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.050.xml b/rpkid/left-right-protocol-samples/pdu.050.xml
index 92f1ce11..58c69ce3 100644
--- a/rpkid/left-right-protocol-samples/pdu.050.xml
+++ b/rpkid/left-right-protocol-samples/pdu.050.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <repository action="destroy" type="reply" self_id="42" repository_id="120"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <repository action="destroy" self_id="42" repository_id="120"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.051.xml b/rpkid/left-right-protocol-samples/pdu.051.xml
index afbbc82a..a2e1e438 100644
--- a/rpkid/left-right-protocol-samples/pdu.051.xml
+++ b/rpkid/left-right-protocol-samples/pdu.051.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <route_origin action="create" type="query" self_id="42"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <route_origin action="create" self_id="42"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.052.xml b/rpkid/left-right-protocol-samples/pdu.052.xml
index 87ab3b1d..7c4407db 100644
--- a/rpkid/left-right-protocol-samples/pdu.052.xml
+++ b/rpkid/left-right-protocol-samples/pdu.052.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <route_origin action="create" type="reply" self_id="42" route_origin_id="88"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <route_origin action="create" self_id="42" route_origin_id="88"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.053.xml b/rpkid/left-right-protocol-samples/pdu.053.xml
index 768a6b86..960e8709 100644
--- a/rpkid/left-right-protocol-samples/pdu.053.xml
+++ b/rpkid/left-right-protocol-samples/pdu.053.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <route_origin action="set" type="query" self_id="42" route_origin_id="88" suppress_publication="yes" as_number="12345" exact_match="true" ipv4="10.0.0.44/32" ipv6="2002:a00::/48"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <route_origin action="set" self_id="42" route_origin_id="88" suppress_publication="yes" as_number="12345" exact_match="true" ipv4="10.0.0.44/32" ipv6="2002:a00::/48"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.054.xml b/rpkid/left-right-protocol-samples/pdu.054.xml
index 263b189c..c0c52d18 100644
--- a/rpkid/left-right-protocol-samples/pdu.054.xml
+++ b/rpkid/left-right-protocol-samples/pdu.054.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <route_origin action="set" type="reply" self_id="42" route_origin_id="88"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <route_origin action="set" self_id="42" route_origin_id="88"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.055.xml b/rpkid/left-right-protocol-samples/pdu.055.xml
index 44a6af0b..a3f31851 100644
--- a/rpkid/left-right-protocol-samples/pdu.055.xml
+++ b/rpkid/left-right-protocol-samples/pdu.055.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <route_origin action="get" type="query" self_id="42" route_origin_id="88"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <route_origin action="get" self_id="42" route_origin_id="88"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.056.xml b/rpkid/left-right-protocol-samples/pdu.056.xml
index 3a3e4fa2..f55d117d 100644
--- a/rpkid/left-right-protocol-samples/pdu.056.xml
+++ b/rpkid/left-right-protocol-samples/pdu.056.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <route_origin action="get" type="reply" self_id="42" route_origin_id="88" as_number="12345" exact_match="true" ipv4="10.0.0.44/32" ipv6="2002:a00::/48"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <route_origin action="get" self_id="42" route_origin_id="88" as_number="12345" exact_match="true" ipv4="10.0.0.44/32" ipv6="2002:a00::/48"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.057.xml b/rpkid/left-right-protocol-samples/pdu.057.xml
index 3eaa4d01..d08ad774 100644
--- a/rpkid/left-right-protocol-samples/pdu.057.xml
+++ b/rpkid/left-right-protocol-samples/pdu.057.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <route_origin action="list" type="query" self_id="42"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <route_origin action="list" self_id="42"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.058.xml b/rpkid/left-right-protocol-samples/pdu.058.xml
index 7382c12b..fb8b19b0 100644
--- a/rpkid/left-right-protocol-samples/pdu.058.xml
+++ b/rpkid/left-right-protocol-samples/pdu.058.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <route_origin action="list" type="reply" self_id="42" route_origin_id="88" as_number="12345" ipv4="10.0.0.44/32" ipv6="2002:a00::/48"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <route_origin action="list" self_id="42" route_origin_id="88" as_number="12345" ipv4="10.0.0.44/32" ipv6="2002:a00::/48"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.059.xml b/rpkid/left-right-protocol-samples/pdu.059.xml
index 1d352b83..47deec38 100644
--- a/rpkid/left-right-protocol-samples/pdu.059.xml
+++ b/rpkid/left-right-protocol-samples/pdu.059.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <route_origin action="destroy" type="query" self_id="42" route_origin_id="88"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <route_origin action="destroy" self_id="42" route_origin_id="88"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.060.xml b/rpkid/left-right-protocol-samples/pdu.060.xml
index 5e651518..659f29b6 100644
--- a/rpkid/left-right-protocol-samples/pdu.060.xml
+++ b/rpkid/left-right-protocol-samples/pdu.060.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <route_origin action="destroy" type="reply" self_id="42" route_origin_id="88"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <route_origin action="destroy" self_id="42" route_origin_id="88"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.061.xml b/rpkid/left-right-protocol-samples/pdu.061.xml
index 05c6ef32..54dab7c0 100644
--- a/rpkid/left-right-protocol-samples/pdu.061.xml
+++ b/rpkid/left-right-protocol-samples/pdu.061.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <list_resources type="query" self_id="42" child_id="289"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="query">
+ <list_resources self_id="42" child_id="289"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.062.xml b/rpkid/left-right-protocol-samples/pdu.062.xml
index fa792aa0..e2d79c77 100644
--- a/rpkid/left-right-protocol-samples/pdu.062.xml
+++ b/rpkid/left-right-protocol-samples/pdu.062.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
- <list_resources type="reply" self_id="42" child_id="289" valid_until="2008-04-01T00:00:00Z" subject_name="Wombats are us" ipv4="10.0.0.44/32,10.3.0.44/32" ipv6="fe80:deed:f00d::/48,fe80:dead:beef:2::-fe80:dead:beef:2::49" asn="666"/>
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
+ <list_resources self_id="42" child_id="289" valid_until="2008-04-01T00:00:00Z" subject_name="Wombats are us" ipv4="10.0.0.44/32,10.3.0.44/32" ipv6="fe80:deed:f00d::/48,fe80:dead:beef:2::-fe80:dead:beef:2::49" asn="666"/>
</msg>
diff --git a/rpkid/left-right-protocol-samples/pdu.063.xml b/rpkid/left-right-protocol-samples/pdu.063.xml
index 6b9f5cb2..92a5a611 100644
--- a/rpkid/left-right-protocol-samples/pdu.063.xml
+++ b/rpkid/left-right-protocol-samples/pdu.063.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="US-ASCII"?>
<!--Automatically generated, do not edit.-->
-<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1">
+<msg xmlns="http://www.hactrn.net/uris/rpki/left-right-spec/" version="1" type="reply">
<report_error self_id="42" error_code="your_hair_is_on_fire">bag_of_data</report_error>
</msg>
diff --git a/rpkid/left-right-schema.rnc b/rpkid/left-right-schema.rnc
index 14559205..7476f921 100644
--- a/rpkid/left-right-schema.rnc
+++ b/rpkid/left-right-schema.rnc
@@ -11,26 +11,39 @@ default namespace = "http://www.hactrn.net/uris/rpki/left-right-spec/"
start = element msg {
attribute version { xsd:positiveInteger { maxInclusive="1" } },
- ( self_elt | bsc_elt | parent_elt | child_elt | repository_elt |
- route_origin_elt | list_resources_elt | report_error_elt )*
+ ( (attribute type { "query" }, query_elt*) |
+ (attribute type { "reply" }, reply_elt*) )
}
+# PDUs allowed in a query
+query_elt |= self_query
+query_elt |= bsc_query
+query_elt |= parent_query
+query_elt |= child_query
+query_elt |= repository_query
+query_elt |= route_origin_query
+query_elt |= list_resources_query
+
+# PDUs allowed in a reply
+reply_elt |= self_reply
+reply_elt |= bsc_reply
+reply_elt |= parent_reply
+reply_elt |= child_reply
+reply_elt |= repository_reply
+reply_elt |= route_origin_reply
+reply_elt |= list_resources_reply
+reply_elt |= report_error_reply
+
# Tag attributes for bulk operations
tag = attribute tag { xsd:token {maxLength="1024" } }?
# Combinations of action and type attributes used in later definitions.
# The same patterns repeat in most of the elements in this protocol.
-
-ctl_cq = attribute action { "create" }, attribute type { "query" }, tag
-ctl_sq = attribute action { "set" }, attribute type { "query" }, tag
-ctl_gq = attribute action { "get" }, attribute type { "query" }, tag
-ctl_lq = attribute action { "list" }, attribute type { "query" }, tag
-ctl_dq = attribute action { "destroy" }, attribute type { "query" }, tag
-ctl_cr = attribute action { "create" }, attribute type { "reply" }, tag
-ctl_sr = attribute action { "set" }, attribute type { "reply" }, tag
-ctl_gr = attribute action { "get" }, attribute type { "reply" }, tag
-ctl_lr = attribute action { "list" }, attribute type { "reply" }, tag
-ctl_dr = attribute action { "destroy" }, attribute type { "reply" }, tag
+ctl_create = attribute action { "create" }, tag
+ctl_set = attribute action { "set" }, tag
+ctl_get = attribute action { "get" }, tag
+ctl_list = attribute action { "list" }, tag
+ctl_destroy = attribute action { "destroy" }, tag
# Base64 encoded DER stuff
base64 = xsd:base64Binary { maxLength="512000" }
@@ -70,16 +83,16 @@ self_payload = (attribute use_hsm { "yes" | "no" }?,
self_id = attribute self_id { sql_id }
-self_elt |= element self { ctl_cq, self_bool, self_payload }
-self_elt |= element self { ctl_cr, self_id }
-self_elt |= element self { ctl_sq, self_id, self_bool, self_payload }
-self_elt |= element self { ctl_sr, self_id }
-self_elt |= element self { ctl_gq, self_id }
-self_elt |= element self { ctl_gr, self_id, self_payload }
-self_elt |= element self { ctl_lq }
-self_elt |= element self { ctl_lr, self_id, self_payload }
-self_elt |= element self { ctl_dq, self_id }
-self_elt |= element self { ctl_dr, self_id }
+self_query |= element self { ctl_create, self_bool, self_payload }
+self_reply |= element self { ctl_create, self_id }
+self_query |= element self { ctl_set, self_id, self_bool, self_payload }
+self_reply |= element self { ctl_set, self_id }
+self_query |= element self { ctl_get, self_id }
+self_reply |= element self { ctl_get, self_id, self_payload }
+self_query |= element self { ctl_list }
+self_reply |= element self { ctl_list, self_id, self_payload }
+self_query |= element self { ctl_destroy, self_id }
+self_reply |= element self { ctl_destroy, self_id }
# <bsc/> element. Key parameters hardwired for now.
@@ -95,16 +108,16 @@ bsc_payload = (element signing_cert { base64 }?,
bsc_pkcs10 = element pkcs10_request { base64 }?
-bsc_elt |= element bsc { ctl_cq, self_id, bsc_bool, bsc_payload }
-bsc_elt |= element bsc { ctl_cr, self_id, bsc_id, bsc_pkcs10 }
-bsc_elt |= element bsc { ctl_sq, self_id, bsc_id, bsc_bool, bsc_payload }
-bsc_elt |= element bsc { ctl_sr, self_id, bsc_id, bsc_pkcs10 }
-bsc_elt |= element bsc { ctl_gq, self_id, bsc_id }
-bsc_elt |= element bsc { ctl_gr, self_id, bsc_id, bsc_payload, bsc_pkcs10 }
-bsc_elt |= element bsc { ctl_lq, self_id }
-bsc_elt |= element bsc { ctl_lr, self_id, bsc_id, bsc_payload, bsc_pkcs10 }
-bsc_elt |= element bsc { ctl_dq, self_id, bsc_id }
-bsc_elt |= element bsc { ctl_dr, self_id, bsc_id }
+bsc_query |= element bsc { ctl_create, self_id, bsc_bool, bsc_payload }
+bsc_reply |= element bsc { ctl_create, self_id, bsc_id, bsc_pkcs10 }
+bsc_query |= element bsc { ctl_set, self_id, bsc_id, bsc_bool, bsc_payload }
+bsc_reply |= element bsc { ctl_set, self_id, bsc_id, bsc_pkcs10 }
+bsc_query |= element bsc { ctl_get, self_id, bsc_id }
+bsc_reply |= element bsc { ctl_get, self_id, bsc_id, bsc_payload, bsc_pkcs10 }
+bsc_query |= element bsc { ctl_list, self_id }
+bsc_reply |= element bsc { ctl_list, self_id, bsc_id, bsc_payload, bsc_pkcs10 }
+bsc_query |= element bsc { ctl_destroy, self_id, bsc_id }
+bsc_reply |= element bsc { ctl_destroy, self_id, bsc_id }
# <parent/> element
@@ -125,16 +138,16 @@ parent_payload = (attribute peer_contact_uri { uri }?,
element bpki_https_cert { base64 }?,
element bpki_https_glue { base64 }?)
-parent_elt |= element parent { ctl_cq, self_id, parent_bool, parent_payload }
-parent_elt |= element parent { ctl_cr, self_id, parent_id }
-parent_elt |= element parent { ctl_sq, self_id, parent_id, parent_bool, parent_payload }
-parent_elt |= element parent { ctl_sr, self_id, parent_id }
-parent_elt |= element parent { ctl_gq, self_id, parent_id }
-parent_elt |= element parent { ctl_gr, self_id, parent_id, parent_payload }
-parent_elt |= element parent { ctl_lq, self_id }
-parent_elt |= element parent { ctl_lr, self_id, parent_id, parent_payload }
-parent_elt |= element parent { ctl_dq, self_id, parent_id }
-parent_elt |= element parent { ctl_dr, self_id, parent_id }
+parent_query |= element parent { ctl_create, self_id, parent_bool, parent_payload }
+parent_reply |= element parent { ctl_create, self_id, parent_id }
+parent_query |= element parent { ctl_set, self_id, parent_id, parent_bool, parent_payload }
+parent_reply |= element parent { ctl_set, self_id, parent_id }
+parent_query |= element parent { ctl_get, self_id, parent_id }
+parent_reply |= element parent { ctl_get, self_id, parent_id, parent_payload }
+parent_query |= element parent { ctl_list, self_id }
+parent_reply |= element parent { ctl_list, self_id, parent_id, parent_payload }
+parent_query |= element parent { ctl_destroy, self_id, parent_id }
+parent_reply |= element parent { ctl_destroy, self_id, parent_id }
# <child/> element
@@ -146,16 +159,16 @@ child_payload = (bsc_id?,
element bpki_cert { base64 }?,
element bpki_glue { base64 }?)
-child_elt |= element child { ctl_cq, self_id, child_bool, child_payload }
-child_elt |= element child { ctl_cr, self_id, child_id }
-child_elt |= element child { ctl_sq, self_id, child_id, child_bool, child_payload }
-child_elt |= element child { ctl_sr, self_id, child_id }
-child_elt |= element child { ctl_gq, self_id, child_id }
-child_elt |= element child { ctl_gr, self_id, child_id, child_payload }
-child_elt |= element child { ctl_lq, self_id }
-child_elt |= element child { ctl_lr, self_id, child_id, child_payload }
-child_elt |= element child { ctl_dq, self_id, child_id }
-child_elt |= element child { ctl_dr, self_id, child_id }
+child_query |= element child { ctl_create, self_id, child_bool, child_payload }
+child_reply |= element child { ctl_create, self_id, child_id }
+child_query |= element child { ctl_set, self_id, child_id, child_bool, child_payload }
+child_reply |= element child { ctl_set, self_id, child_id }
+child_query |= element child { ctl_get, self_id, child_id }
+child_reply |= element child { ctl_get, self_id, child_id, child_payload }
+child_query |= element child { ctl_list, self_id }
+child_reply |= element child { ctl_list, self_id, child_id, child_payload }
+child_query |= element child { ctl_destroy, self_id, child_id }
+child_reply |= element child { ctl_destroy, self_id, child_id }
# <repository/> element
@@ -168,16 +181,16 @@ repository_payload = (attribute peer_contact_uri { uri }?,
element bpki_https_cert { base64 }?,
element bpki_https_glue { base64 }?)
-repository_elt |= element repository { ctl_cq, self_id, repository_payload }
-repository_elt |= element repository { ctl_cr, self_id, repository_id }
-repository_elt |= element repository { ctl_sq, self_id, repository_id, repository_payload }
-repository_elt |= element repository { ctl_sr, self_id, repository_id }
-repository_elt |= element repository { ctl_gq, self_id, repository_id }
-repository_elt |= element repository { ctl_gr, self_id, repository_id, repository_payload }
-repository_elt |= element repository { ctl_lq, self_id }
-repository_elt |= element repository { ctl_lr, self_id, repository_id, repository_payload }
-repository_elt |= element repository { ctl_dq, self_id, repository_id }
-repository_elt |= element repository { ctl_dr, self_id, repository_id }
+repository_query |= element repository { ctl_create, self_id, repository_payload }
+repository_reply |= element repository { ctl_create, self_id, repository_id }
+repository_query |= element repository { ctl_set, self_id, repository_id, repository_payload }
+repository_reply |= element repository { ctl_set, self_id, repository_id }
+repository_query |= element repository { ctl_get, self_id, repository_id }
+repository_reply |= element repository { ctl_get, self_id, repository_id, repository_payload }
+repository_query |= element repository { ctl_list, self_id }
+repository_reply |= element repository { ctl_list, self_id, repository_id, repository_payload }
+repository_query |= element repository { ctl_destroy, self_id, repository_id }
+repository_reply |= element repository { ctl_destroy, self_id, repository_id }
# <route_origin/> element
@@ -190,33 +203,35 @@ route_origin_payload = (attribute as_number { xsd:positiveInteger }?,
attribute ipv4 { ipv4_list }?,
attribute ipv6 { ipv6_list }?)
-route_origin_elt |= element route_origin { ctl_cq, self_id, route_origin_bool, route_origin_payload }
-route_origin_elt |= element route_origin { ctl_cr, self_id, route_origin_id }
-route_origin_elt |= element route_origin { ctl_sq, self_id, route_origin_id, route_origin_bool, route_origin_payload }
-route_origin_elt |= element route_origin { ctl_sr, self_id, route_origin_id }
-route_origin_elt |= element route_origin { ctl_gq, self_id, route_origin_id }
-route_origin_elt |= element route_origin { ctl_gr, self_id, route_origin_id, route_origin_payload }
-route_origin_elt |= element route_origin { ctl_lq, self_id }
-route_origin_elt |= element route_origin { ctl_lr, self_id, route_origin_id, route_origin_payload }
-route_origin_elt |= element route_origin { ctl_dq, self_id, route_origin_id }
-route_origin_elt |= element route_origin { ctl_dr, self_id, route_origin_id }
+route_origin_query |= element route_origin { ctl_create, self_id, route_origin_bool, route_origin_payload }
+route_origin_reply |= element route_origin { ctl_create, self_id, route_origin_id }
+route_origin_query |= element route_origin { ctl_set, self_id, route_origin_id, route_origin_bool, route_origin_payload }
+route_origin_reply |= element route_origin { ctl_set, self_id, route_origin_id }
+route_origin_query |= element route_origin { ctl_get, self_id, route_origin_id }
+route_origin_reply |= element route_origin { ctl_get, self_id, route_origin_id, route_origin_payload }
+route_origin_query |= element route_origin { ctl_list, self_id }
+route_origin_reply |= element route_origin { ctl_list, self_id, route_origin_id, route_origin_payload }
+route_origin_query |= element route_origin { ctl_destroy, self_id, route_origin_id }
+route_origin_reply |= element route_origin { ctl_destroy, self_id, route_origin_id }
# <list_resources/> element
-list_resources_elt = element list_resources {
- ( attribute type { "query" }, tag, self_id, child_id ) |
- ( attribute type { "reply" }, tag, self_id, child_id,
- attribute valid_until { xsd:dateTime { pattern=".*Z" } },
- attribute subject_name { xsd:token { maxLength="1024" } }?,
- attribute asn { asn_list }?,
- attribute ipv4 { ipv4_list }?,
- attribute ipv6 { ipv6_list }?
- )
+list_resources_query = element list_resources {
+ tag, self_id, child_id
+}
+
+list_resources_reply = element list_resources {
+ tag, self_id, child_id,
+ attribute valid_until { xsd:dateTime { pattern=".*Z" } },
+ attribute subject_name { xsd:token { maxLength="1024" } }?,
+ attribute asn { asn_list }?,
+ attribute ipv4 { ipv4_list }?,
+ attribute ipv6 { ipv6_list }?
}
# <report_error/> element
-report_error_elt = element report_error {
+report_error_reply = element report_error {
tag, self_id,
attribute error_code { xsd:token { maxLength="1024" } },
xsd:string { maxLength="512000" }?
diff --git a/rpkid/left-right-schema.rng b/rpkid/left-right-schema.rng
index b9481ef0..cfcad1c8 100644
--- a/rpkid/left-right-schema.rng
+++ b/rpkid/left-right-schema.rng
@@ -16,20 +16,73 @@
<param name="maxInclusive">1</param>
</data>
</attribute>
- <zeroOrMore>
- <choice>
- <ref name="self_elt"/>
- <ref name="bsc_elt"/>
- <ref name="parent_elt"/>
- <ref name="child_elt"/>
- <ref name="repository_elt"/>
- <ref name="route_origin_elt"/>
- <ref name="list_resources_elt"/>
- <ref name="report_error_elt"/>
- </choice>
- </zeroOrMore>
+ <choice>
+ <group>
+ <attribute name="type">
+ <value>query</value>
+ </attribute>
+ <zeroOrMore>
+ <ref name="query_elt"/>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>reply</value>
+ </attribute>
+ <zeroOrMore>
+ <ref name="reply_elt"/>
+ </zeroOrMore>
+ </group>
+ </choice>
</element>
</start>
+ <!-- PDUs allowed in a query -->
+ <define name="query_elt" combine="choice">
+ <ref name="self_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="bsc_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="parent_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="child_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="repository_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="route_origin_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="list_resources_query"/>
+ </define>
+ <!-- PDUs allowed in a reply -->
+ <define name="reply_elt" combine="choice">
+ <ref name="self_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="bsc_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="parent_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="child_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="repository_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="route_origin_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="list_resources_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="report_error_reply"/>
+ </define>
<!-- Tag attributes for bulk operations -->
<define name="tag">
<optional>
@@ -44,94 +97,34 @@
Combinations of action and type attributes used in later definitions.
The same patterns repeat in most of the elements in this protocol.
-->
- <define name="ctl_cq">
+ <define name="ctl_create">
<attribute name="action">
<value>create</value>
</attribute>
- <attribute name="type">
- <value>query</value>
- </attribute>
<ref name="tag"/>
</define>
- <define name="ctl_sq">
+ <define name="ctl_set">
<attribute name="action">
<value>set</value>
</attribute>
- <attribute name="type">
- <value>query</value>
- </attribute>
<ref name="tag"/>
</define>
- <define name="ctl_gq">
+ <define name="ctl_get">
<attribute name="action">
<value>get</value>
</attribute>
- <attribute name="type">
- <value>query</value>
- </attribute>
<ref name="tag"/>
</define>
- <define name="ctl_lq">
+ <define name="ctl_list">
<attribute name="action">
<value>list</value>
</attribute>
- <attribute name="type">
- <value>query</value>
- </attribute>
<ref name="tag"/>
</define>
- <define name="ctl_dq">
+ <define name="ctl_destroy">
<attribute name="action">
<value>destroy</value>
</attribute>
- <attribute name="type">
- <value>query</value>
- </attribute>
- <ref name="tag"/>
- </define>
- <define name="ctl_cr">
- <attribute name="action">
- <value>create</value>
- </attribute>
- <attribute name="type">
- <value>reply</value>
- </attribute>
- <ref name="tag"/>
- </define>
- <define name="ctl_sr">
- <attribute name="action">
- <value>set</value>
- </attribute>
- <attribute name="type">
- <value>reply</value>
- </attribute>
- <ref name="tag"/>
- </define>
- <define name="ctl_gr">
- <attribute name="action">
- <value>get</value>
- </attribute>
- <attribute name="type">
- <value>reply</value>
- </attribute>
- <ref name="tag"/>
- </define>
- <define name="ctl_lr">
- <attribute name="action">
- <value>list</value>
- </attribute>
- <attribute name="type">
- <value>reply</value>
- </attribute>
- <ref name="tag"/>
- </define>
- <define name="ctl_dr">
- <attribute name="action">
- <value>destroy</value>
- </attribute>
- <attribute name="type">
- <value>reply</value>
- </attribute>
<ref name="tag"/>
</define>
<!-- Base64 encoded DER stuff -->
@@ -255,67 +248,67 @@
<ref name="sql_id"/>
</attribute>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_query" combine="choice">
<element name="self">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_bool"/>
<ref name="self_payload"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_reply" combine="choice">
<element name="self">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_query" combine="choice">
<element name="self">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="self_bool"/>
<ref name="self_payload"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_reply" combine="choice">
<element name="self">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_query" combine="choice">
<element name="self">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_reply" combine="choice">
<element name="self">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="self_payload"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_query" combine="choice">
<element name="self">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_reply" combine="choice">
<element name="self">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="self_payload"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_query" combine="choice">
<element name="self">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_reply" combine="choice">
<element name="self">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
</element>
</define>
@@ -366,80 +359,80 @@
</element>
</optional>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_query" combine="choice">
<element name="bsc">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="bsc_bool"/>
<ref name="bsc_payload"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_reply" combine="choice">
<element name="bsc">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
<ref name="bsc_pkcs10"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_query" combine="choice">
<element name="bsc">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
<ref name="bsc_bool"/>
<ref name="bsc_payload"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_reply" combine="choice">
<element name="bsc">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
<ref name="bsc_pkcs10"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_query" combine="choice">
<element name="bsc">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_reply" combine="choice">
<element name="bsc">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
<ref name="bsc_payload"/>
<ref name="bsc_pkcs10"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_query" combine="choice">
<element name="bsc">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_reply" combine="choice">
<element name="bsc">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
<ref name="bsc_payload"/>
<ref name="bsc_pkcs10"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_query" combine="choice">
<element name="bsc">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_reply" combine="choice">
<element name="bsc">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
</element>
@@ -515,76 +508,76 @@
</element>
</optional>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_query" combine="choice">
<element name="parent">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="parent_bool"/>
<ref name="parent_payload"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_reply" combine="choice">
<element name="parent">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="parent_id"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_query" combine="choice">
<element name="parent">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="parent_id"/>
<ref name="parent_bool"/>
<ref name="parent_payload"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_reply" combine="choice">
<element name="parent">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="parent_id"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_query" combine="choice">
<element name="parent">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="parent_id"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_reply" combine="choice">
<element name="parent">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="parent_id"/>
<ref name="parent_payload"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_query" combine="choice">
<element name="parent">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_reply" combine="choice">
<element name="parent">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="parent_id"/>
<ref name="parent_payload"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_query" combine="choice">
<element name="parent">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="parent_id"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_reply" combine="choice">
<element name="parent">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="parent_id"/>
</element>
@@ -617,76 +610,76 @@
</element>
</optional>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_query" combine="choice">
<element name="child">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="child_bool"/>
<ref name="child_payload"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_reply" combine="choice">
<element name="child">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="child_id"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_query" combine="choice">
<element name="child">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="child_id"/>
<ref name="child_bool"/>
<ref name="child_payload"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_reply" combine="choice">
<element name="child">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="child_id"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_query" combine="choice">
<element name="child">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="child_id"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_reply" combine="choice">
<element name="child">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="child_id"/>
<ref name="child_payload"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_query" combine="choice">
<element name="child">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_reply" combine="choice">
<element name="child">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="child_id"/>
<ref name="child_payload"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_query" combine="choice">
<element name="child">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="child_id"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_reply" combine="choice">
<element name="child">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="child_id"/>
</element>
@@ -727,74 +720,74 @@
</element>
</optional>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_query" combine="choice">
<element name="repository">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="repository_payload"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_reply" combine="choice">
<element name="repository">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="repository_id"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_query" combine="choice">
<element name="repository">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="repository_id"/>
<ref name="repository_payload"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_reply" combine="choice">
<element name="repository">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="repository_id"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_query" combine="choice">
<element name="repository">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="repository_id"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_reply" combine="choice">
<element name="repository">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="repository_id"/>
<ref name="repository_payload"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_query" combine="choice">
<element name="repository">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_reply" combine="choice">
<element name="repository">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="repository_id"/>
<ref name="repository_payload"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_query" combine="choice">
<element name="repository">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="repository_id"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_reply" combine="choice">
<element name="repository">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="repository_id"/>
</element>
@@ -834,132 +827,124 @@
</attribute>
</optional>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_query" combine="choice">
<element name="route_origin">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="route_origin_bool"/>
<ref name="route_origin_payload"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_reply" combine="choice">
<element name="route_origin">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_query" combine="choice">
<element name="route_origin">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
<ref name="route_origin_bool"/>
<ref name="route_origin_payload"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_reply" combine="choice">
<element name="route_origin">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_query" combine="choice">
<element name="route_origin">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_reply" combine="choice">
<element name="route_origin">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
<ref name="route_origin_payload"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_query" combine="choice">
<element name="route_origin">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_reply" combine="choice">
<element name="route_origin">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
<ref name="route_origin_payload"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_query" combine="choice">
<element name="route_origin">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_reply" combine="choice">
<element name="route_origin">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
</element>
</define>
<!-- <list_resources/> element -->
- <define name="list_resources_elt">
+ <define name="list_resources_query">
<element name="list_resources">
- <choice>
- <group>
- <attribute name="type">
- <value>query</value>
- </attribute>
- <ref name="tag"/>
- <ref name="self_id"/>
- <ref name="child_id"/>
- </group>
- <group>
- <attribute name="type">
- <value>reply</value>
- </attribute>
- <ref name="tag"/>
- <ref name="self_id"/>
- <ref name="child_id"/>
- <attribute name="valid_until">
- <data type="dateTime">
- <param name="pattern">.*Z</param>
- </data>
- </attribute>
- <optional>
- <attribute name="subject_name">
- <data type="token">
- <param name="maxLength">1024</param>
- </data>
- </attribute>
- </optional>
- <optional>
- <attribute name="asn">
- <ref name="asn_list"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="ipv4">
- <ref name="ipv4_list"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="ipv6">
- <ref name="ipv6_list"/>
- </attribute>
- </optional>
- </group>
- </choice>
+ <ref name="tag"/>
+ <ref name="self_id"/>
+ <ref name="child_id"/>
+ </element>
+ </define>
+ <define name="list_resources_reply">
+ <element name="list_resources">
+ <ref name="tag"/>
+ <ref name="self_id"/>
+ <ref name="child_id"/>
+ <attribute name="valid_until">
+ <data type="dateTime">
+ <param name="pattern">.*Z</param>
+ </data>
+ </attribute>
+ <optional>
+ <attribute name="subject_name">
+ <data type="token">
+ <param name="maxLength">1024</param>
+ </data>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="asn">
+ <ref name="asn_list"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="ipv4">
+ <ref name="ipv4_list"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="ipv6">
+ <ref name="ipv6_list"/>
+ </attribute>
+ </optional>
</element>
</define>
<!-- <report_error/> element -->
- <define name="report_error_elt">
+ <define name="report_error_reply">
<element name="report_error">
<ref name="tag"/>
<ref name="self_id"/>
diff --git a/rpkid/rpki/gctx.py b/rpkid/rpki/gctx.py
index 4a1282bb..9ae896c5 100644
--- a/rpkid/rpki/gctx.py
+++ b/rpkid/rpki/gctx.py
@@ -64,8 +64,8 @@ class global_context(object):
rpki.log.trace()
q_msg = rpki.left_right.msg()
+ q_msg.type = "query"
q_msg.append(rpki.left_right.list_resources_elt())
- q_msg[0].type = "query"
q_msg[0].self_id = self_id
q_msg[0].child_id = child_id
q_cms = rpki.left_right.cms_msg.wrap(q_msg, self.rpkid_key, self.rpkid_cert)
@@ -76,7 +76,7 @@ class global_context(object):
url = self.irdb_url,
msg = q_cms)
r_msg = rpki.left_right.cms_msg.unwrap(der, (self.bpki_ta, self.irdb_cert))
- if len(r_msg) == 0 or not isinstance(r_msg[0], rpki.left_right.list_resources_elt) or r_msg[0].type != "reply":
+ if len(r_msg) == 0 or not isinstance(r_msg[0], rpki.left_right.list_resources_elt) or r_msg.type != "reply":
raise rpki.exceptions.BadIRDBReply, "Unexpected response to IRDB query: %s" % lxml.etree.tostring(r_msg.toXML(), pretty_print = True, encoding = "us-ascii")
return rpki.resource_set.resource_bag(
asn = r_msg[0].asn,
@@ -107,6 +107,8 @@ class global_context(object):
rpki.log.trace()
try:
q_msg = rpki.left_right.cms_msg.unwrap(query, (self.bpki_ta, self.irbe_cert))
+ if q_msg.type != "query":
+ raise rpki.exceptions.BadQuery, "Message type is not query"
r_msg = q_msg.serve_top_level(self)
reply = rpki.left_right.cms_msg.wrap(r_msg, self.rpkid_key, self.rpkid_cert)
self.sql_sweep()
diff --git a/rpkid/rpki/left_right.py b/rpkid/rpki/left_right.py
index 209302f4..78c080f5 100644
--- a/rpkid/rpki/left_right.py
+++ b/rpkid/rpki/left_right.py
@@ -106,7 +106,6 @@ class data_elt(base_elt, rpki.sql.sql_persistant):
for b in r_pdu.booleans:
setattr(r_pdu, b, False)
r_pdu.action = self.action
- r_pdu.type = "reply"
r_pdu.tag = self.tag
return r_pdu
@@ -178,8 +177,8 @@ class data_elt(base_elt, rpki.sql.sql_persistant):
"get" : self.serve_get,
"list" : self.serve_list,
"destroy" : self.serve_destroy }
- if self.type != "query" or self.action not in dispatch:
- raise rpki.exceptions.BadQuery, "Unexpected query: type %s, action %s" % (self.type, self.action)
+ if self.action not in dispatch:
+ raise rpki.exceptions.BadQuery, "Unexpected query: action %s" % self.action
dispatch[self.action](r_msg)
def unimplemented_control(self, *controls):
@@ -214,7 +213,7 @@ class self_elt(data_elt):
"""<self/> element."""
element_name = "self"
- attributes = ("action", "type", "tag", "self_id", "crl_interval", "regen_margin")
+ attributes = ("action", "tag", "self_id", "crl_interval", "regen_margin")
elements = ("extension_preference", "bpki_cert", "bpki_glue")
booleans = ("rekey", "reissue", "revoke", "run_now", "publish_world_now", "clear_extension_preferences")
@@ -442,7 +441,7 @@ class bsc_elt(data_elt):
"""<bsc/> (Business Signing Context) element."""
element_name = "bsc"
- attributes = ("action", "type", "tag", "self_id", "bsc_id", "key_type", "hash_alg", "key_length")
+ attributes = ("action", "tag", "self_id", "bsc_id", "key_type", "hash_alg", "key_length")
elements = ("signing_cert", "signing_cert_crl")
booleans = ("generate_keypair",)
@@ -514,7 +513,7 @@ class parent_elt(data_elt):
"""<parent/> element."""
element_name = "parent"
- attributes = ("action", "type", "tag", "self_id", "parent_id", "bsc_id", "repository_id",
+ attributes = ("action", "tag", "self_id", "parent_id", "bsc_id", "repository_id",
"peer_contact_uri", "sia_base", "sender_name", "recipient_name")
elements = ("bpki_cms_cert", "bpki_cms_glue", "bpki_https_cert", "bpki_https_glue")
booleans = ("rekey", "reissue", "revoke")
@@ -637,7 +636,7 @@ class child_elt(data_elt):
"""<child/> element."""
element_name = "child"
- attributes = ("action", "type", "tag", "self_id", "child_id", "bsc_id")
+ attributes = ("action", "tag", "self_id", "child_id", "bsc_id")
elements = ("bpki_cert", "bpki_glue")
booleans = ("reissue", )
@@ -733,7 +732,7 @@ class repository_elt(data_elt):
"""<repository/> element."""
element_name = "repository"
- attributes = ("action", "type", "tag", "self_id", "repository_id", "bsc_id", "peer_contact_uri")
+ attributes = ("action", "tag", "self_id", "repository_id", "bsc_id", "peer_contact_uri")
elements = ("bpki_cms_cert", "bpki_cms_glue", "bpki_https_cert", "bpki_https_glue")
sql_template = rpki.sql.template("repository", "repository_id", "self_id", "bsc_id", "peer_contact_uri",
@@ -826,7 +825,7 @@ class route_origin_elt(data_elt):
"""<route_origin/> element."""
element_name = "route_origin"
- attributes = ("action", "type", "tag", "self_id", "route_origin_id", "as_number", "ipv4", "ipv6")
+ attributes = ("action", "tag", "self_id", "route_origin_id", "as_number", "ipv4", "ipv6")
booleans = ("suppress_publication",)
sql_template = rpki.sql.template("route_origin", "route_origin_id", "ca_detail_id",
@@ -1036,7 +1035,7 @@ class list_resources_elt(base_elt):
"""<list_resources/> element."""
element_name = "list_resources"
- attributes = ("type", "self_id", "tag", "child_id", "valid_until", "asn", "ipv4", "ipv6", "subject_name")
+ attributes = ("self_id", "tag", "child_id", "valid_until", "asn", "ipv4", "ipv6", "subject_name")
valid_until = None
def startElement(self, stack, name, attrs):
@@ -1099,6 +1098,7 @@ class msg(list):
"""Handle left-right PDU."""
if name == "msg":
assert self.version == int(attrs["version"])
+ self.type = attrs["type"]
else:
elt = self.pdus[name]()
self.append(elt)
@@ -1117,13 +1117,14 @@ class msg(list):
def toXML(self):
"""Generate left-right PDU."""
- elt = lxml.etree.Element("{%s}msg" % (xmlns), nsmap = nsmap, version = str(self.version))
+ elt = lxml.etree.Element("{%s}msg" % (xmlns), nsmap = nsmap, version = str(self.version), type = self.type)
elt.extend([i.toXML() for i in self])
return elt
def serve_top_level(self, gctx):
"""Serve one msg PDU."""
r_msg = self.__class__()
+ r_msg.type = "reply"
for q_pdu in self:
q_pdu.gctx = gctx
q_pdu.serve_dispatch(r_msg)
diff --git a/rpkid/rpki/relaxng.py b/rpkid/rpki/relaxng.py
index 3e594d89..54f79a2a 100644
--- a/rpkid/rpki/relaxng.py
+++ b/rpkid/rpki/relaxng.py
@@ -22,20 +22,73 @@ left_right = lxml.etree.RelaxNG(lxml.etree.fromstring('''<?xml version="1.0" enc
<param name="maxInclusive">1</param>
</data>
</attribute>
- <zeroOrMore>
- <choice>
- <ref name="self_elt"/>
- <ref name="bsc_elt"/>
- <ref name="parent_elt"/>
- <ref name="child_elt"/>
- <ref name="repository_elt"/>
- <ref name="route_origin_elt"/>
- <ref name="list_resources_elt"/>
- <ref name="report_error_elt"/>
- </choice>
- </zeroOrMore>
+ <choice>
+ <group>
+ <attribute name="type">
+ <value>query</value>
+ </attribute>
+ <zeroOrMore>
+ <ref name="query_elt"/>
+ </zeroOrMore>
+ </group>
+ <group>
+ <attribute name="type">
+ <value>reply</value>
+ </attribute>
+ <zeroOrMore>
+ <ref name="reply_elt"/>
+ </zeroOrMore>
+ </group>
+ </choice>
</element>
</start>
+ <!-- PDUs allowed in a query -->
+ <define name="query_elt" combine="choice">
+ <ref name="self_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="bsc_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="parent_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="child_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="repository_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="route_origin_query"/>
+ </define>
+ <define name="query_elt" combine="choice">
+ <ref name="list_resources_query"/>
+ </define>
+ <!-- PDUs allowed in a reply -->
+ <define name="reply_elt" combine="choice">
+ <ref name="self_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="bsc_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="parent_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="child_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="repository_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="route_origin_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="list_resources_reply"/>
+ </define>
+ <define name="reply_elt" combine="choice">
+ <ref name="report_error_reply"/>
+ </define>
<!-- Tag attributes for bulk operations -->
<define name="tag">
<optional>
@@ -50,94 +103,34 @@ left_right = lxml.etree.RelaxNG(lxml.etree.fromstring('''<?xml version="1.0" enc
Combinations of action and type attributes used in later definitions.
The same patterns repeat in most of the elements in this protocol.
-->
- <define name="ctl_cq">
+ <define name="ctl_create">
<attribute name="action">
<value>create</value>
</attribute>
- <attribute name="type">
- <value>query</value>
- </attribute>
<ref name="tag"/>
</define>
- <define name="ctl_sq">
+ <define name="ctl_set">
<attribute name="action">
<value>set</value>
</attribute>
- <attribute name="type">
- <value>query</value>
- </attribute>
<ref name="tag"/>
</define>
- <define name="ctl_gq">
+ <define name="ctl_get">
<attribute name="action">
<value>get</value>
</attribute>
- <attribute name="type">
- <value>query</value>
- </attribute>
<ref name="tag"/>
</define>
- <define name="ctl_lq">
+ <define name="ctl_list">
<attribute name="action">
<value>list</value>
</attribute>
- <attribute name="type">
- <value>query</value>
- </attribute>
<ref name="tag"/>
</define>
- <define name="ctl_dq">
+ <define name="ctl_destroy">
<attribute name="action">
<value>destroy</value>
</attribute>
- <attribute name="type">
- <value>query</value>
- </attribute>
- <ref name="tag"/>
- </define>
- <define name="ctl_cr">
- <attribute name="action">
- <value>create</value>
- </attribute>
- <attribute name="type">
- <value>reply</value>
- </attribute>
- <ref name="tag"/>
- </define>
- <define name="ctl_sr">
- <attribute name="action">
- <value>set</value>
- </attribute>
- <attribute name="type">
- <value>reply</value>
- </attribute>
- <ref name="tag"/>
- </define>
- <define name="ctl_gr">
- <attribute name="action">
- <value>get</value>
- </attribute>
- <attribute name="type">
- <value>reply</value>
- </attribute>
- <ref name="tag"/>
- </define>
- <define name="ctl_lr">
- <attribute name="action">
- <value>list</value>
- </attribute>
- <attribute name="type">
- <value>reply</value>
- </attribute>
- <ref name="tag"/>
- </define>
- <define name="ctl_dr">
- <attribute name="action">
- <value>destroy</value>
- </attribute>
- <attribute name="type">
- <value>reply</value>
- </attribute>
<ref name="tag"/>
</define>
<!-- Base64 encoded DER stuff -->
@@ -261,67 +254,67 @@ left_right = lxml.etree.RelaxNG(lxml.etree.fromstring('''<?xml version="1.0" enc
<ref name="sql_id"/>
</attribute>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_query" combine="choice">
<element name="self">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_bool"/>
<ref name="self_payload"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_reply" combine="choice">
<element name="self">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_query" combine="choice">
<element name="self">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="self_bool"/>
<ref name="self_payload"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_reply" combine="choice">
<element name="self">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_query" combine="choice">
<element name="self">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_reply" combine="choice">
<element name="self">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="self_payload"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_query" combine="choice">
<element name="self">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_reply" combine="choice">
<element name="self">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="self_payload"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_query" combine="choice">
<element name="self">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
</element>
</define>
- <define name="self_elt" combine="choice">
+ <define name="self_reply" combine="choice">
<element name="self">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
</element>
</define>
@@ -372,80 +365,80 @@ left_right = lxml.etree.RelaxNG(lxml.etree.fromstring('''<?xml version="1.0" enc
</element>
</optional>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_query" combine="choice">
<element name="bsc">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="bsc_bool"/>
<ref name="bsc_payload"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_reply" combine="choice">
<element name="bsc">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
<ref name="bsc_pkcs10"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_query" combine="choice">
<element name="bsc">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
<ref name="bsc_bool"/>
<ref name="bsc_payload"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_reply" combine="choice">
<element name="bsc">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
<ref name="bsc_pkcs10"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_query" combine="choice">
<element name="bsc">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_reply" combine="choice">
<element name="bsc">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
<ref name="bsc_payload"/>
<ref name="bsc_pkcs10"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_query" combine="choice">
<element name="bsc">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_reply" combine="choice">
<element name="bsc">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
<ref name="bsc_payload"/>
<ref name="bsc_pkcs10"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_query" combine="choice">
<element name="bsc">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
</element>
</define>
- <define name="bsc_elt" combine="choice">
+ <define name="bsc_reply" combine="choice">
<element name="bsc">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="bsc_id"/>
</element>
@@ -521,76 +514,76 @@ left_right = lxml.etree.RelaxNG(lxml.etree.fromstring('''<?xml version="1.0" enc
</element>
</optional>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_query" combine="choice">
<element name="parent">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="parent_bool"/>
<ref name="parent_payload"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_reply" combine="choice">
<element name="parent">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="parent_id"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_query" combine="choice">
<element name="parent">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="parent_id"/>
<ref name="parent_bool"/>
<ref name="parent_payload"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_reply" combine="choice">
<element name="parent">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="parent_id"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_query" combine="choice">
<element name="parent">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="parent_id"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_reply" combine="choice">
<element name="parent">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="parent_id"/>
<ref name="parent_payload"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_query" combine="choice">
<element name="parent">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_reply" combine="choice">
<element name="parent">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="parent_id"/>
<ref name="parent_payload"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_query" combine="choice">
<element name="parent">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="parent_id"/>
</element>
</define>
- <define name="parent_elt" combine="choice">
+ <define name="parent_reply" combine="choice">
<element name="parent">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="parent_id"/>
</element>
@@ -623,76 +616,76 @@ left_right = lxml.etree.RelaxNG(lxml.etree.fromstring('''<?xml version="1.0" enc
</element>
</optional>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_query" combine="choice">
<element name="child">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="child_bool"/>
<ref name="child_payload"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_reply" combine="choice">
<element name="child">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="child_id"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_query" combine="choice">
<element name="child">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="child_id"/>
<ref name="child_bool"/>
<ref name="child_payload"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_reply" combine="choice">
<element name="child">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="child_id"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_query" combine="choice">
<element name="child">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="child_id"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_reply" combine="choice">
<element name="child">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="child_id"/>
<ref name="child_payload"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_query" combine="choice">
<element name="child">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_reply" combine="choice">
<element name="child">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="child_id"/>
<ref name="child_payload"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_query" combine="choice">
<element name="child">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="child_id"/>
</element>
</define>
- <define name="child_elt" combine="choice">
+ <define name="child_reply" combine="choice">
<element name="child">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="child_id"/>
</element>
@@ -733,74 +726,74 @@ left_right = lxml.etree.RelaxNG(lxml.etree.fromstring('''<?xml version="1.0" enc
</element>
</optional>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_query" combine="choice">
<element name="repository">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="repository_payload"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_reply" combine="choice">
<element name="repository">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="repository_id"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_query" combine="choice">
<element name="repository">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="repository_id"/>
<ref name="repository_payload"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_reply" combine="choice">
<element name="repository">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="repository_id"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_query" combine="choice">
<element name="repository">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="repository_id"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_reply" combine="choice">
<element name="repository">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="repository_id"/>
<ref name="repository_payload"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_query" combine="choice">
<element name="repository">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_reply" combine="choice">
<element name="repository">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="repository_id"/>
<ref name="repository_payload"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_query" combine="choice">
<element name="repository">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="repository_id"/>
</element>
</define>
- <define name="repository_elt" combine="choice">
+ <define name="repository_reply" combine="choice">
<element name="repository">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="repository_id"/>
</element>
@@ -840,132 +833,124 @@ left_right = lxml.etree.RelaxNG(lxml.etree.fromstring('''<?xml version="1.0" enc
</attribute>
</optional>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_query" combine="choice">
<element name="route_origin">
- <ref name="ctl_cq"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="route_origin_bool"/>
<ref name="route_origin_payload"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_reply" combine="choice">
<element name="route_origin">
- <ref name="ctl_cr"/>
+ <ref name="ctl_create"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_query" combine="choice">
<element name="route_origin">
- <ref name="ctl_sq"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
<ref name="route_origin_bool"/>
<ref name="route_origin_payload"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_reply" combine="choice">
<element name="route_origin">
- <ref name="ctl_sr"/>
+ <ref name="ctl_set"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_query" combine="choice">
<element name="route_origin">
- <ref name="ctl_gq"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_reply" combine="choice">
<element name="route_origin">
- <ref name="ctl_gr"/>
+ <ref name="ctl_get"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
<ref name="route_origin_payload"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_query" combine="choice">
<element name="route_origin">
- <ref name="ctl_lq"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_reply" combine="choice">
<element name="route_origin">
- <ref name="ctl_lr"/>
+ <ref name="ctl_list"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
<ref name="route_origin_payload"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_query" combine="choice">
<element name="route_origin">
- <ref name="ctl_dq"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
</element>
</define>
- <define name="route_origin_elt" combine="choice">
+ <define name="route_origin_reply" combine="choice">
<element name="route_origin">
- <ref name="ctl_dr"/>
+ <ref name="ctl_destroy"/>
<ref name="self_id"/>
<ref name="route_origin_id"/>
</element>
</define>
<!-- <list_resources/> element -->
- <define name="list_resources_elt">
+ <define name="list_resources_query">
<element name="list_resources">
- <choice>
- <group>
- <attribute name="type">
- <value>query</value>
- </attribute>
- <ref name="tag"/>
- <ref name="self_id"/>
- <ref name="child_id"/>
- </group>
- <group>
- <attribute name="type">
- <value>reply</value>
- </attribute>
- <ref name="tag"/>
- <ref name="self_id"/>
- <ref name="child_id"/>
- <attribute name="valid_until">
- <data type="dateTime">
- <param name="pattern">.*Z</param>
- </data>
- </attribute>
- <optional>
- <attribute name="subject_name">
- <data type="token">
- <param name="maxLength">1024</param>
- </data>
- </attribute>
- </optional>
- <optional>
- <attribute name="asn">
- <ref name="asn_list"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="ipv4">
- <ref name="ipv4_list"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="ipv6">
- <ref name="ipv6_list"/>
- </attribute>
- </optional>
- </group>
- </choice>
+ <ref name="tag"/>
+ <ref name="self_id"/>
+ <ref name="child_id"/>
+ </element>
+ </define>
+ <define name="list_resources_reply">
+ <element name="list_resources">
+ <ref name="tag"/>
+ <ref name="self_id"/>
+ <ref name="child_id"/>
+ <attribute name="valid_until">
+ <data type="dateTime">
+ <param name="pattern">.*Z</param>
+ </data>
+ </attribute>
+ <optional>
+ <attribute name="subject_name">
+ <data type="token">
+ <param name="maxLength">1024</param>
+ </data>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="asn">
+ <ref name="asn_list"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="ipv4">
+ <ref name="ipv4_list"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="ipv6">
+ <ref name="ipv6_list"/>
+ </attribute>
+ </optional>
</element>
</define>
<!-- <report_error/> element -->
- <define name="report_error_elt">
+ <define name="report_error_reply">
<element name="report_error">
<ref name="tag"/>
<ref name="self_id"/>
diff --git a/rpkid/testbed.py b/rpkid/testbed.py
index 2c697b42..f5176088 100644
--- a/rpkid/testbed.py
+++ b/rpkid/testbed.py
@@ -525,8 +525,8 @@ class allocation(object):
return the response.
"""
rpki.log.info("Calling rpkid for %s" % self.name)
- pdu.type = "query"
msg = rpki.left_right.msg((pdu,))
+ msg.type = "query"
cms, xml = rpki.left_right.cms_msg.wrap(msg, self.irbe_key, self.irbe_cert,
pretty_print = True)
rpki.log.debug(xml)
@@ -541,7 +541,7 @@ class allocation(object):
pretty_print = True)
rpki.log.debug(xml)
pdu = msg[0]
- assert pdu.type == "reply" and not isinstance(pdu, rpki.left_right.report_error_elt)
+ assert msg.type == "reply" and not isinstance(pdu, rpki.left_right.report_error_elt)
return pdu
def cross_certify(self, certificant):