aboutsummaryrefslogtreecommitdiff
path: root/rpkid/publication-schema.rnc
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/publication-schema.rnc')
-rw-r--r--rpkid/publication-schema.rnc14
1 files changed, 12 insertions, 2 deletions
diff --git a/rpkid/publication-schema.rnc b/rpkid/publication-schema.rnc
index 8573f7f1..be815100 100644
--- a/rpkid/publication-schema.rnc
+++ b/rpkid/publication-schema.rnc
@@ -16,10 +16,10 @@ start = element msg {
}
# PDUs allowed in a query
-query_elt = ( client_query | certificate_query | crl_query | manifest_query | roa_query )
+query_elt = ( config_query | client_query | certificate_query | crl_query | manifest_query | roa_query )
# PDUs allowed in a reply
-reply_elt = ( client_reply | certificate_reply | crl_reply | manifest_reply | roa_reply | report_error_reply )
+reply_elt = ( config_reply | client_reply | certificate_reply | crl_reply | manifest_reply | roa_reply | report_error_reply )
# Tag attributes for bulk operations
tag = attribute tag { xsd:token {maxLength="1024" } }
@@ -31,6 +31,16 @@ base64 = xsd:base64Binary { maxLength="512000" }
uri_t = xsd:anyURI { maxLength="4096" }
uri = attribute uri { uri_t }
+# <config/> element (use restricted to repository operator)
+# config_id attribute and list command omitted deliberately, see code for details
+
+config_payload = (element bpki_crl { base64 }?)
+
+config_query |= element config { attribute action { "set" }, tag?, config_payload }
+config_reply |= element config { attribute action { "set" }, tag? }
+config_query |= element config { attribute action { "get" }, tag? }
+config_reply |= element config { attribute action { "get" }, tag?, config_payload }
+
# <client/> element (use restricted to repository operator)
client_id = attribute client_id { xsd:nonNegativeInteger }