diff options
Diffstat (limited to 'scripts/left-right-schema.rng')
-rw-r--r-- | scripts/left-right-schema.rng | 948 |
1 files changed, 0 insertions, 948 deletions
diff --git a/scripts/left-right-schema.rng b/scripts/left-right-schema.rng deleted file mode 100644 index e0917fa9..00000000 --- a/scripts/left-right-schema.rng +++ /dev/null @@ -1,948 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - $Id$ - - RelaxNG (Compact Syntax) Schema for RPKI left-right protocol. - - libxml2 (including xmllint) only groks the XML syntax of RelaxNG, so - run the compact syntax through trang to get XML syntax. ---> -<grammar ns="http://www.hactrn.net/uris/rpki/left-right-spec/" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> - <!-- Top level PDU --> - <start> - <element name="msg"> - <attribute name="version"> - <data type="positiveInteger"> - <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="ro_elt"/> - <ref name="list_resources_elt"/> - <ref name="report_error_elt"/> - </choice> - </zeroOrMore> - </element> - </start> - <!-- Tag attributes for bulk operations --> - <define name="tag"> - <optional> - <attribute name="tag"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - </define> - <!-- - 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"> - <attribute name="action"> - <value>create</value> - </attribute> - <attribute name="type"> - <value>query</value> - </attribute> - <ref name="tag"/> - </define> - <define name="ctl_sq"> - <attribute name="action"> - <value>set</value> - </attribute> - <attribute name="type"> - <value>query</value> - </attribute> - <ref name="tag"/> - </define> - <define name="ctl_gq"> - <attribute name="action"> - <value>get</value> - </attribute> - <attribute name="type"> - <value>query</value> - </attribute> - <ref name="tag"/> - </define> - <define name="ctl_lq"> - <attribute name="action"> - <value>list</value> - </attribute> - <attribute name="type"> - <value>query</value> - </attribute> - <ref name="tag"/> - </define> - <define name="ctl_dq"> - <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 --> - <define name="base64"> - <data type="base64Binary"> - <param name="maxLength">512000</param> - </data> - </define> - <!-- How we wrap trust anchor elements --> - <define name="cms_ta"> - <element name="cms_ta"> - <ref name="base64"/> - </element> - </define> - <define name="https_ta"> - <element name="https_ta"> - <ref name="base64"/> - </element> - </define> - <!-- Base definition for all fields that are really just SQL primary indices --> - <define name="sql_id"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </define> - <!-- <self/> element --> - <define name="self_bool"> - <optional> - <attribute name="rekey"> - <value>yes</value> - </attribute> - </optional> - <optional> - <attribute name="reissue"> - <value>yes</value> - </attribute> - </optional> - <optional> - <attribute name="revoke"> - <value>yes</value> - </attribute> - </optional> - <optional> - <attribute name="run_now"> - <value>yes</value> - </attribute> - </optional> - <optional> - <attribute name="publish_world_now"> - <value>yes</value> - </attribute> - </optional> - <optional> - <attribute name="clear_extension_preferences"> - <value>yes</value> - </attribute> - </optional> - </define> - <define name="self_payload"> - <optional> - <attribute name="use_hsm"> - <choice> - <value>yes</value> - <value>no</value> - </choice> - </attribute> - </optional> - <optional> - <attribute name="crl_interval"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <zeroOrMore> - <element name="extension_preference"> - <attribute name="name"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - <data type="string"> - <param name="maxLength">512000</param> - </data> - </element> - </zeroOrMore> - </define> - <define name="self_id"> - <attribute name="self_id"> - <ref name="sql_id"/> - </attribute> - </define> - <define name="self_elt" combine="choice"> - <element name="self"> - <ref name="ctl_cq"/> - <ref name="self_bool"/> - <ref name="self_payload"/> - </element> - </define> - <define name="self_elt" combine="choice"> - <element name="self"> - <ref name="ctl_cr"/> - <ref name="self_id"/> - </element> - </define> - <define name="self_elt" combine="choice"> - <element name="self"> - <ref name="ctl_sq"/> - <ref name="self_id"/> - <ref name="self_bool"/> - <ref name="self_payload"/> - </element> - </define> - <define name="self_elt" combine="choice"> - <element name="self"> - <ref name="ctl_sr"/> - <ref name="self_id"/> - </element> - </define> - <define name="self_elt" combine="choice"> - <element name="self"> - <ref name="ctl_gq"/> - <ref name="self_id"/> - </element> - </define> - <define name="self_elt" combine="choice"> - <element name="self"> - <ref name="ctl_gr"/> - <ref name="self_id"/> - <ref name="self_payload"/> - </element> - </define> - <define name="self_elt" combine="choice"> - <element name="self"> - <ref name="ctl_lq"/> - </element> - </define> - <define name="self_elt" combine="choice"> - <element name="self"> - <ref name="ctl_lr"/> - <ref name="self_id"/> - <ref name="self_payload"/> - </element> - </define> - <define name="self_elt" combine="choice"> - <element name="self"> - <ref name="ctl_dq"/> - <ref name="self_id"/> - </element> - </define> - <define name="self_elt" combine="choice"> - <element name="self"> - <ref name="ctl_dr"/> - <ref name="self_id"/> - </element> - </define> - <!-- <bsc/> element. Key parameters hardwired for now. --> - <define name="bsc_bool"> - <optional> - <attribute name="generate_keypair"> - <value>yes</value> - </attribute> - <optional> - <attribute name="key_type"> - <value>rsa</value> - </attribute> - </optional> - <optional> - <attribute name="hash_alg"> - <value>sha256</value> - </attribute> - </optional> - <optional> - <attribute name="key_length"> - <value>2048</value> - </attribute> - </optional> - </optional> - <optional> - <attribute name="clear_signing_certs"> - <value>yes</value> - </attribute> - </optional> - </define> - <define name="bsc_id"> - <attribute name="bsc_id"> - <ref name="sql_id"/> - </attribute> - </define> - <define name="bsc_payload"> - <zeroOrMore> - <element name="signing_cert"> - <ref name="base64"/> - </element> - </zeroOrMore> - <optional> - <element name="public_key"> - <ref name="base64"/> - </element> - </optional> - </define> - <define name="bsc_pkcs10"> - <optional> - <element name="pkcs10_cert_request"> - <ref name="base64"/> - </element> - </optional> - </define> - <define name="bsc_elt" combine="choice"> - <element name="bsc"> - <ref name="ctl_cq"/> - <ref name="self_id"/> - <ref name="bsc_bool"/> - <ref name="bsc_payload"/> - </element> - </define> - <define name="bsc_elt" combine="choice"> - <element name="bsc"> - <ref name="ctl_cr"/> - <ref name="self_id"/> - <ref name="bsc_id"/> - <ref name="bsc_pkcs10"/> - </element> - </define> - <define name="bsc_elt" combine="choice"> - <element name="bsc"> - <ref name="ctl_sq"/> - <ref name="self_id"/> - <ref name="bsc_id"/> - <ref name="bsc_bool"/> - <ref name="bsc_payload"/> - </element> - </define> - <define name="bsc_elt" combine="choice"> - <element name="bsc"> - <ref name="ctl_sr"/> - <ref name="self_id"/> - <ref name="bsc_id"/> - <ref name="bsc_pkcs10"/> - </element> - </define> - <define name="bsc_elt" combine="choice"> - <element name="bsc"> - <ref name="ctl_gq"/> - <ref name="self_id"/> - <ref name="bsc_id"/> - </element> - </define> - <define name="bsc_elt" combine="choice"> - <element name="bsc"> - <ref name="ctl_gr"/> - <ref name="self_id"/> - <ref name="bsc_id"/> - <ref name="bsc_payload"/> - </element> - </define> - <define name="bsc_elt" combine="choice"> - <element name="bsc"> - <ref name="ctl_lq"/> - <ref name="self_id"/> - </element> - </define> - <define name="bsc_elt" combine="choice"> - <element name="bsc"> - <ref name="ctl_lr"/> - <ref name="self_id"/> - <ref name="bsc_id"/> - <ref name="bsc_payload"/> - </element> - </define> - <define name="bsc_elt" combine="choice"> - <element name="bsc"> - <ref name="ctl_dq"/> - <ref name="self_id"/> - <ref name="bsc_id"/> - </element> - </define> - <define name="bsc_elt" combine="choice"> - <element name="bsc"> - <ref name="ctl_dr"/> - <ref name="self_id"/> - <ref name="bsc_id"/> - </element> - </define> - <!-- <parent/> element --> - <define name="parent_id"> - <attribute name="parent_id"> - <ref name="sql_id"/> - </attribute> - </define> - <define name="parent_bool"> - <optional> - <attribute name="rekey"> - <value>yes</value> - </attribute> - </optional> - <optional> - <attribute name="reissue"> - <value>yes</value> - </attribute> - </optional> - <optional> - <attribute name="revoke"> - <value>yes</value> - </attribute> - </optional> - </define> - <define name="parent_payload"> - <optional> - <attribute name="peer_contact_uri"> - <data type="anyURI"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <attribute name="sia_base"> - <data type="anyURI"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <attribute name="bsc_id"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <attribute name="repository_id"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <attribute name="sender_name"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <attribute name="recipient_name"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <ref name="cms_ta"/> - </optional> - <optional> - <ref name="https_ta"/> - </optional> - </define> - <define name="parent_elt" combine="choice"> - <element name="parent"> - <ref name="ctl_cq"/> - <ref name="self_id"/> - <ref name="parent_bool"/> - <ref name="parent_payload"/> - </element> - </define> - <define name="parent_elt" combine="choice"> - <element name="parent"> - <ref name="ctl_cr"/> - <ref name="self_id"/> - <ref name="parent_id"/> - </element> - </define> - <define name="parent_elt" combine="choice"> - <element name="parent"> - <ref name="ctl_sq"/> - <ref name="self_id"/> - <ref name="parent_id"/> - <ref name="parent_bool"/> - <ref name="parent_payload"/> - </element> - </define> - <define name="parent_elt" combine="choice"> - <element name="parent"> - <ref name="ctl_sr"/> - <ref name="self_id"/> - <ref name="parent_id"/> - </element> - </define> - <define name="parent_elt" combine="choice"> - <element name="parent"> - <ref name="ctl_gq"/> - <ref name="self_id"/> - <ref name="parent_id"/> - </element> - </define> - <define name="parent_elt" combine="choice"> - <element name="parent"> - <ref name="ctl_gr"/> - <ref name="self_id"/> - <ref name="parent_id"/> - <ref name="parent_payload"/> - </element> - </define> - <define name="parent_elt" combine="choice"> - <element name="parent"> - <ref name="ctl_lq"/> - <ref name="self_id"/> - </element> - </define> - <define name="parent_elt" combine="choice"> - <element name="parent"> - <ref name="ctl_lr"/> - <ref name="self_id"/> - <ref name="parent_id"/> - <ref name="parent_payload"/> - </element> - </define> - <define name="parent_elt" combine="choice"> - <element name="parent"> - <ref name="ctl_dq"/> - <ref name="self_id"/> - <ref name="parent_id"/> - </element> - </define> - <define name="parent_elt" combine="choice"> - <element name="parent"> - <ref name="ctl_dr"/> - <ref name="self_id"/> - <ref name="parent_id"/> - </element> - </define> - <!-- <child/> element --> - <define name="child_id"> - <attribute name="child_id"> - <ref name="sql_id"/> - </attribute> - </define> - <define name="child_bool"> - <optional> - <attribute name="reissue"> - <value>yes</value> - </attribute> - </optional> - </define> - <define name="child_payload"> - <optional> - <attribute name="bsc_id"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <ref name="cms_ta"/> - </optional> - </define> - <define name="child_elt" combine="choice"> - <element name="child"> - <ref name="ctl_cq"/> - <ref name="self_id"/> - <ref name="child_bool"/> - <ref name="child_payload"/> - </element> - </define> - <define name="child_elt" combine="choice"> - <element name="child"> - <ref name="ctl_cr"/> - <ref name="self_id"/> - <ref name="child_id"/> - </element> - </define> - <define name="child_elt" combine="choice"> - <element name="child"> - <ref name="ctl_sq"/> - <ref name="self_id"/> - <ref name="child_id"/> - <ref name="child_bool"/> - <ref name="child_payload"/> - </element> - </define> - <define name="child_elt" combine="choice"> - <element name="child"> - <ref name="ctl_sr"/> - <ref name="self_id"/> - <ref name="child_id"/> - </element> - </define> - <define name="child_elt" combine="choice"> - <element name="child"> - <ref name="ctl_gq"/> - <ref name="self_id"/> - <ref name="child_id"/> - </element> - </define> - <define name="child_elt" combine="choice"> - <element name="child"> - <ref name="ctl_gr"/> - <ref name="self_id"/> - <ref name="child_id"/> - <ref name="child_payload"/> - </element> - </define> - <define name="child_elt" combine="choice"> - <element name="child"> - <ref name="ctl_lq"/> - <ref name="self_id"/> - </element> - </define> - <define name="child_elt" combine="choice"> - <element name="child"> - <ref name="ctl_lr"/> - <ref name="self_id"/> - <ref name="child_id"/> - <ref name="child_payload"/> - </element> - </define> - <define name="child_elt" combine="choice"> - <element name="child"> - <ref name="ctl_dq"/> - <ref name="self_id"/> - <ref name="child_id"/> - </element> - </define> - <define name="child_elt" combine="choice"> - <element name="child"> - <ref name="ctl_dr"/> - <ref name="self_id"/> - <ref name="child_id"/> - </element> - </define> - <!-- <repository/> element --> - <define name="repository_id"> - <attribute name="repository_id"> - <ref name="sql_id"/> - </attribute> - </define> - <define name="repository_payload"> - <optional> - <attribute name="peer_contact_uri"> - <data type="anyURI"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <attribute name="bsc_id"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <ref name="cms_ta"/> - </optional> - <optional> - <ref name="https_ta"/> - </optional> - </define> - <define name="repository_elt" combine="choice"> - <element name="repository"> - <ref name="ctl_cq"/> - <ref name="self_id"/> - <ref name="repository_payload"/> - </element> - </define> - <define name="repository_elt" combine="choice"> - <element name="repository"> - <ref name="ctl_cr"/> - <ref name="self_id"/> - <ref name="repository_id"/> - </element> - </define> - <define name="repository_elt" combine="choice"> - <element name="repository"> - <ref name="ctl_sq"/> - <ref name="self_id"/> - <ref name="repository_id"/> - <ref name="repository_payload"/> - </element> - </define> - <define name="repository_elt" combine="choice"> - <element name="repository"> - <ref name="ctl_sr"/> - <ref name="self_id"/> - <ref name="repository_id"/> - </element> - </define> - <define name="repository_elt" combine="choice"> - <element name="repository"> - <ref name="ctl_gq"/> - <ref name="self_id"/> - <ref name="repository_id"/> - </element> - </define> - <define name="repository_elt" combine="choice"> - <element name="repository"> - <ref name="ctl_gr"/> - <ref name="self_id"/> - <ref name="repository_id"/> - <ref name="repository_payload"/> - </element> - </define> - <define name="repository_elt" combine="choice"> - <element name="repository"> - <ref name="ctl_lq"/> - <ref name="self_id"/> - </element> - </define> - <define name="repository_elt" combine="choice"> - <element name="repository"> - <ref name="ctl_lr"/> - <ref name="self_id"/> - <ref name="repository_id"/> - <ref name="repository_payload"/> - </element> - </define> - <define name="repository_elt" combine="choice"> - <element name="repository"> - <ref name="ctl_dq"/> - <ref name="self_id"/> - <ref name="repository_id"/> - </element> - </define> - <define name="repository_elt" combine="choice"> - <element name="repository"> - <ref name="ctl_dr"/> - <ref name="self_id"/> - <ref name="repository_id"/> - </element> - </define> - <!-- <route_origin/> element --> - <define name="ro_id"> - <attribute name="route_origin_id"> - <ref name="sql_id"/> - </attribute> - </define> - <define name="ro_bool"> - <optional> - <attribute name="suppress_publication"> - <value>yes</value> - </attribute> - </optional> - </define> - <define name="ro_payload"> - <optional> - <attribute name="as_number"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <attribute name="ipv4"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <attribute name="ipv6"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - </define> - <define name="ro_elt" combine="choice"> - <element name="route_origin"> - <ref name="ctl_cq"/> - <ref name="self_id"/> - <ref name="ro_bool"/> - <ref name="ro_payload"/> - </element> - </define> - <define name="ro_elt" combine="choice"> - <element name="route_origin"> - <ref name="ctl_cr"/> - <ref name="self_id"/> - <ref name="ro_id"/> - </element> - </define> - <define name="ro_elt" combine="choice"> - <element name="route_origin"> - <ref name="ctl_sq"/> - <ref name="self_id"/> - <ref name="ro_id"/> - <ref name="ro_bool"/> - <ref name="ro_payload"/> - </element> - </define> - <define name="ro_elt" combine="choice"> - <element name="route_origin"> - <ref name="ctl_sr"/> - <ref name="self_id"/> - <ref name="ro_id"/> - </element> - </define> - <define name="ro_elt" combine="choice"> - <element name="route_origin"> - <ref name="ctl_gq"/> - <ref name="self_id"/> - <ref name="ro_id"/> - </element> - </define> - <define name="ro_elt" combine="choice"> - <element name="route_origin"> - <ref name="ctl_gr"/> - <ref name="self_id"/> - <ref name="ro_id"/> - <ref name="ro_payload"/> - </element> - </define> - <define name="ro_elt" combine="choice"> - <element name="route_origin"> - <ref name="ctl_lq"/> - <ref name="self_id"/> - </element> - </define> - <define name="ro_elt" combine="choice"> - <element name="route_origin"> - <ref name="ctl_lr"/> - <ref name="self_id"/> - <ref name="ro_id"/> - <ref name="ro_payload"/> - </element> - </define> - <define name="ro_elt" combine="choice"> - <element name="route_origin"> - <ref name="ctl_dq"/> - <ref name="self_id"/> - <ref name="ro_id"/> - </element> - </define> - <define name="ro_elt" combine="choice"> - <element name="route_origin"> - <ref name="ctl_dr"/> - <ref name="self_id"/> - <ref name="ro_id"/> - </element> - </define> - <!-- <list_resources/> element --> - <define name="list_resources_elt"> - <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="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - <optional> - <attribute name="subject_name"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <attribute name="as"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <attribute name="ipv4"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - <optional> - <attribute name="ipv6"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - </optional> - </group> - </choice> - </element> - </define> - <!-- <report_error/> element --> - <define name="report_error_elt"> - <element name="report_error"> - <ref name="tag"/> - <ref name="self_id"/> - <attribute name="error_code"> - <data type="token"> - <param name="maxLength">1024</param> - </data> - </attribute> - <optional> - <data type="string"> - <param name="maxLength">512000</param> - </data> - </optional> - </element> - </define> -</grammar> |