diff options
Diffstat (limited to 'myrpki.rototill/myrpki.rnc')
-rw-r--r-- | myrpki.rototill/myrpki.rnc | 57 |
1 files changed, 24 insertions, 33 deletions
diff --git a/myrpki.rototill/myrpki.rnc b/myrpki.rototill/myrpki.rnc index 5f3c5077..0a752571 100644 --- a/myrpki.rototill/myrpki.rnc +++ b/myrpki.rototill/myrpki.rnc @@ -19,16 +19,6 @@ ipv4_list = xsd:string { maxLength="512000" pattern="[\-,0-9/.]*" } ipv6_list = xsd:string { maxLength="512000" pattern="[\-,0-9/:a-fA-F]*" } timestamp = xsd:dateTime { pattern=".*Z" } -authorization = element authorization { - attribute referrer { pubd_handle }, - base64 -} - -contact_info = element contact_info { - attribute uri { uri }?, - xsd:string -} - start |= element myrpki { attribute version { version }, attribute handle { object_handle }, @@ -72,6 +62,21 @@ start |= element identity { element bpki_ta { base64 } } +authorization = element authorization { + attribute referrer { pubd_handle }, + base64 +} + +contact_info = element contact_info { + attribute uri { uri }?, + xsd:string +} + +repository_payload = ( + (attribute type { "offer" }) | + (attribute type { "referral" }, authorization, contact_info) +) + start |= element parent { attribute version { version }, attribute valid_until { timestamp }, @@ -81,41 +86,27 @@ start |= element parent { element bpki_resource_ta { base64 }, element bpki_server_ta { base64 }, element bpki_child_ta { base64 }, - element repository { - (attribute type { "offer" }) | - (attribute type { "referral" }, authorization, contact_info) - }? + element repository { repository_payload }? } start |= element repository { attribute version { version }, - attribute type { "confirmed" }, - attribute parent_handle { object_handle }, - attribute client_handle { pubd_handle }, - attribute service_uri { uri }, - attribute sia_base { uri }, - attribute repository_handle { object_handle }, - element bpki_server_ta { base64 }, - element bpki_client_ta { base64 }, - contact_info? -} - -start |= element repository { - attribute version { version }, - attribute type { "offer" }, attribute handle { object_handle }, attribute parent_handle { object_handle }, + repository_payload, element bpki_client_ta { base64 } } start |= element repository { attribute version { version }, - attribute type { "referral" }, - attribute handle { object_handle }, + attribute type { "confirmed" }, attribute parent_handle { object_handle }, - authorization, - contact_info?, - element bpki_client_ta { base64 } + attribute client_handle { pubd_handle }, + attribute service_uri { uri }, + attribute sia_base { uri }, + element bpki_server_ta { base64 }, + element bpki_client_ta { base64 }, + contact_info? } start |= element referral { |