asciidoctor-rfc 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +5 -0
- data/.oss-guides.rubocop.yml +1077 -0
- data/.rspec +1 -0
- data/.rubocop.yml +19 -1063
- data/.travis.yml +3 -2
- data/Guardfile +22 -0
- data/README.adoc +1151 -0
- data/Rakefile +1 -1
- data/asciidoctor-rfc.gemspec +20 -3
- data/bin/asciidoctor-rfc2 +15 -0
- data/bin/asciidoctor-rfc3 +15 -0
- data/bin/rspec +0 -1
- data/lib/asciidoctor-rfc.rb +4 -0
- data/lib/asciidoctor/rfc/common/base.rb +218 -0
- data/lib/asciidoctor/rfc/common/front.rb +120 -0
- data/lib/asciidoctor/rfc/v2/base.rb +341 -0
- data/lib/asciidoctor/rfc/v2/blocks.rb +192 -0
- data/lib/asciidoctor/rfc/v2/converter.rb +64 -0
- data/lib/asciidoctor/rfc/v2/front.rb +69 -0
- data/lib/asciidoctor/rfc/v2/inline_anchor.rb +102 -0
- data/lib/asciidoctor/rfc/v2/lists.rb +134 -0
- data/lib/asciidoctor/rfc/v2/table.rb +112 -0
- data/lib/asciidoctor/rfc/v2/validate.rb +738 -0
- data/lib/asciidoctor/rfc/v2/validate2.rng +716 -0
- data/lib/asciidoctor/rfc/v3/base.rb +358 -0
- data/lib/asciidoctor/rfc/v3/blocks.rb +203 -0
- data/lib/asciidoctor/rfc/v3/converter.rb +64 -0
- data/lib/asciidoctor/rfc/v3/front.rb +115 -0
- data/lib/asciidoctor/rfc/v3/inline_anchor.rb +90 -0
- data/lib/asciidoctor/rfc/v3/lists.rb +190 -0
- data/lib/asciidoctor/rfc/v3/svg.rng +9081 -0
- data/lib/asciidoctor/rfc/v3/table.rb +65 -0
- data/lib/asciidoctor/rfc/v3/validate.rb +2168 -0
- data/lib/asciidoctor/rfc/v3/validate.rng +2143 -0
- data/lib/asciidoctor/rfc/version.rb +2 -2
- data/spec/asciidoctor/rfc/v2/appendix_spec.rb +124 -0
- data/spec/asciidoctor/rfc/v2/area_spec.rb +60 -0
- data/spec/asciidoctor/rfc/v2/author_spec.rb +444 -0
- data/spec/asciidoctor/rfc/v2/comments_spec.rb +316 -0
- data/spec/asciidoctor/rfc/v2/crossref_spec.rb +205 -0
- data/spec/asciidoctor/rfc/v2/date_spec.rb +166 -0
- data/spec/asciidoctor/rfc/v2/dlist_spec.rb +108 -0
- data/spec/asciidoctor/rfc/v2/document_spec.rb +161 -0
- data/spec/asciidoctor/rfc/v2/example_spec.rb +50 -0
- data/spec/asciidoctor/rfc/v2/front_spec.rb +75 -0
- data/spec/asciidoctor/rfc/v2/image_spec.rb +81 -0
- data/spec/asciidoctor/rfc/v2/indexterm_spec.rb +66 -0
- data/spec/asciidoctor/rfc/v2/inline_formatting_spec.rb +177 -0
- data/spec/asciidoctor/rfc/v2/keyword_spec.rb +63 -0
- data/spec/asciidoctor/rfc/v2/listing_spec.rb +59 -0
- data/spec/asciidoctor/rfc/v2/literal_spec.rb +53 -0
- data/spec/asciidoctor/rfc/v2/olist_spec.rb +147 -0
- data/spec/asciidoctor/rfc/v2/paragraph_spec.rb +68 -0
- data/spec/asciidoctor/rfc/v2/preamble_spec.rb +140 -0
- data/spec/asciidoctor/rfc/v2/quote_spec.rb +24 -0
- data/spec/asciidoctor/rfc/v2/references_spec.rb +96 -0
- data/spec/asciidoctor/rfc/v2/section_spec.rb +260 -0
- data/spec/asciidoctor/rfc/v2/sidebar_spec.rb +32 -0
- data/spec/asciidoctor/rfc/v2/table_spec.rb +293 -0
- data/spec/asciidoctor/rfc/v2/ulist_spec.rb +96 -0
- data/spec/asciidoctor/rfc/v2/workgroup_spec.rb +60 -0
- data/spec/asciidoctor/rfc/v3/appendix_spec.rb +130 -0
- data/spec/asciidoctor/rfc/v3/area_spec.rb +63 -0
- data/spec/asciidoctor/rfc/v3/author_spec.rb +540 -0
- data/spec/asciidoctor/rfc/v3/comments_spec.rb +308 -0
- data/spec/asciidoctor/rfc/v3/crossref_spec.rb +269 -0
- data/spec/asciidoctor/rfc/v3/date_spec.rb +149 -0
- data/spec/asciidoctor/rfc/v3/dlist_spec.rb +121 -0
- data/spec/asciidoctor/rfc/v3/document_spec.rb +109 -0
- data/spec/asciidoctor/rfc/v3/example_spec.rb +34 -0
- data/spec/asciidoctor/rfc/v3/front_spec.rb +43 -0
- data/spec/asciidoctor/rfc/v3/image_spec.rb +81 -0
- data/spec/asciidoctor/rfc/v3/indexterm_spec.rb +69 -0
- data/spec/asciidoctor/rfc/v3/inline_formatting_spec.rb +319 -0
- data/spec/asciidoctor/rfc/v3/keyword_spec.rb +33 -0
- data/spec/asciidoctor/rfc/v3/link_spec.rb +34 -0
- data/spec/asciidoctor/rfc/v3/listing_spec.rb +59 -0
- data/spec/asciidoctor/rfc/v3/literal_spec.rb +51 -0
- data/spec/asciidoctor/rfc/v3/olist_spec.rb +168 -0
- data/spec/asciidoctor/rfc/v3/paragraph_spec.rb +73 -0
- data/spec/asciidoctor/rfc/v3/preamble_spec.rb +112 -0
- data/spec/asciidoctor/rfc/v3/quote_spec.rb +91 -0
- data/spec/asciidoctor/rfc/v3/references_spec.rb +147 -0
- data/spec/asciidoctor/rfc/v3/section_spec.rb +198 -0
- data/spec/asciidoctor/rfc/v3/series_info_spec.rb +151 -0
- data/spec/asciidoctor/rfc/v3/sidebar_spec.rb +30 -0
- data/spec/asciidoctor/rfc/v3/table_spec.rb +275 -0
- data/spec/asciidoctor/rfc/v3/ulist_spec.rb +74 -0
- data/spec/asciidoctor/rfc/v3/workgroup_spec.rb +33 -0
- data/spec/examples/davies-template-bare-06.adoc +361 -0
- data/spec/examples/davies-template-bare-06.xml.orig +426 -0
- data/spec/examples/example-v2.adoc +181 -0
- data/spec/examples/example-v2.xml +675 -0
- data/spec/examples/example-v3.adoc +185 -0
- data/spec/examples/example-v3.xml +1009 -0
- data/spec/examples/mib-doc-template-xml-06.adoc +596 -0
- data/spec/examples/mib-doc-template-xml-06.xml.orig +654 -0
- data/spec/examples/rfc1149.md +76 -0
- data/spec/examples/rfc1149.md.2.xml +94 -0
- data/spec/examples/rfc1149.md.3.xml +93 -0
- data/spec/examples/rfc1149.md.adoc +65 -0
- data/spec/examples/rfc2100.md +149 -0
- data/spec/examples/rfc2100.md.2.xml +169 -0
- data/spec/examples/rfc2100.md.3.xml +163 -0
- data/spec/examples/rfc2100.md.adoc +136 -0
- data/spec/examples/rfc3514.md +203 -0
- data/spec/examples/rfc3514.md.2.xml +238 -0
- data/spec/examples/rfc3514.md.3.xml +258 -0
- data/spec/examples/rfc3514.md.adoc +324 -0
- data/spec/examples/rfc5841.md +342 -0
- data/spec/examples/rfc5841.md.2.xml +393 -0
- data/spec/examples/rfc5841.md.3.xml +449 -0
- data/spec/examples/rfc5841.md.adoc +414 -0
- data/spec/examples/rfc6350.adoc +3499 -0
- data/spec/examples/rfc6350.bib +763 -0
- data/spec/examples/rfc748.md +79 -0
- data/spec/examples/rfc748.md.2.xml +116 -0
- data/spec/examples/rfc748.md.3.xml +109 -0
- data/spec/examples/rfc748.md.adoc +80 -0
- data/spec/examples/rfc7511.md +257 -0
- data/spec/examples/rfc7511.md.2.xml +300 -0
- data/spec/examples/rfc7511.md.3.xml +347 -0
- data/spec/examples/rfc7511.md.adoc +417 -0
- data/spec/spec_helper.rb +115 -5
- metadata +274 -9
- data/.hound.yml +0 -3
- data/README.md +0 -84
- data/lib/asciidoctor/rfc.rb +0 -7
- data/spec/asciidoctor-rfc/.keep +0 -0
@@ -0,0 +1,426 @@
|
|
1
|
+
<?xml version="1.0" encoding="US-ASCII"?>
|
2
|
+
<!-- This template is for creating an Internet Draft using xml2rfc,
|
3
|
+
which is available here: http://xml.resource.org. -->
|
4
|
+
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
|
5
|
+
<!-- One method to get references from the online citation libraries.
|
6
|
+
There has to be one entity for each item to be referenced.
|
7
|
+
An alternate method (rfc include) is described in the references. -->
|
8
|
+
|
9
|
+
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
|
10
|
+
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
|
11
|
+
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
|
12
|
+
<!ENTITY RFC5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">
|
13
|
+
]>
|
14
|
+
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
|
15
|
+
<!-- used by XSLT processors -->
|
16
|
+
<!-- For a complete list and description of processing instructions (PIs),
|
17
|
+
please see http://xml.resource.org/authoring/README.html. -->
|
18
|
+
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
|
19
|
+
(Here they are set differently than their defaults in xml2rfc v1.32) -->
|
20
|
+
<?rfc strict="yes" ?>
|
21
|
+
<!-- give errors regarding ID-nits and DTD validation -->
|
22
|
+
<!-- control the table of contents (ToC) -->
|
23
|
+
<?rfc toc="yes"?>
|
24
|
+
<!-- generate a ToC -->
|
25
|
+
<?rfc tocdepth="4"?>
|
26
|
+
<!-- the number of levels of subsections in ToC. default: 3 -->
|
27
|
+
<!-- control references -->
|
28
|
+
<?rfc symrefs="yes"?>
|
29
|
+
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
|
30
|
+
<?rfc sortrefs="yes" ?>
|
31
|
+
<!-- sort the reference entries alphabetically -->
|
32
|
+
<!-- control vertical white space
|
33
|
+
(using these PIs as follows is recommended by the RFC Editor) -->
|
34
|
+
<?rfc compact="yes" ?>
|
35
|
+
<!-- do not start each main section on a new page -->
|
36
|
+
<?rfc subcompact="no" ?>
|
37
|
+
<!-- keep one blank line between list items -->
|
38
|
+
<!-- end of list of popular I-D processing instructions -->
|
39
|
+
<rfc category="info" docName="draft-ietf-xml2rfc-template-06" ipr="trust200902">
|
40
|
+
<!-- category values: std, bcp, info, exp, and historic
|
41
|
+
ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902,
|
42
|
+
or pre5378Trust200902
|
43
|
+
you can add the attributes updates="NNNN" and obsoletes="NNNN"
|
44
|
+
they will automatically be output with "(if approved)" -->
|
45
|
+
|
46
|
+
<!-- ***** FRONT MATTER ***** -->
|
47
|
+
|
48
|
+
<front>
|
49
|
+
<!-- The abbreviated title is used in the page header - it is only necessary if the
|
50
|
+
full title is longer than 39 characters -->
|
51
|
+
|
52
|
+
<title abbrev="Abbreviated Title">Put Your Internet Draft Title
|
53
|
+
Here</title>
|
54
|
+
|
55
|
+
<!-- add 'role="editor"' below for the editors if appropriate -->
|
56
|
+
|
57
|
+
<!-- Another author who claims to be an editor -->
|
58
|
+
|
59
|
+
<author fullname="Elwyn Davies" initials="E.B." role="editor"
|
60
|
+
surname="Davies">
|
61
|
+
<organization>Folly Consulting</organization>
|
62
|
+
|
63
|
+
<address>
|
64
|
+
<postal>
|
65
|
+
<street></street>
|
66
|
+
|
67
|
+
<!-- Reorder these if your country does things differently -->
|
68
|
+
|
69
|
+
<city>Soham</city>
|
70
|
+
|
71
|
+
<region></region>
|
72
|
+
|
73
|
+
<code></code>
|
74
|
+
|
75
|
+
<country>UK</country>
|
76
|
+
</postal>
|
77
|
+
|
78
|
+
<phone>+44 7889 488 335</phone>
|
79
|
+
|
80
|
+
<email>elwynd@dial.pipex.com</email>
|
81
|
+
|
82
|
+
<!-- uri and facsimile elements may also be added -->
|
83
|
+
</address>
|
84
|
+
</author>
|
85
|
+
|
86
|
+
<date year="2010" month="April" day="1"/>
|
87
|
+
|
88
|
+
<!-- If the month and year are both specified and are the current ones, xml2rfc will fill
|
89
|
+
in the current day for you. If only the current year is specified, xml2rfc will fill
|
90
|
+
in the current day and month for you. If the year is not the current one, it is
|
91
|
+
necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the
|
92
|
+
purpose of calculating the expiry date). With drafts it is normally sufficient to
|
93
|
+
specify just the year. -->
|
94
|
+
|
95
|
+
<!-- Meta-data Declarations -->
|
96
|
+
|
97
|
+
<area>General</area>
|
98
|
+
|
99
|
+
<workgroup>Internet Engineering Task Force</workgroup>
|
100
|
+
|
101
|
+
<!-- WG name at the upperleft corner of the doc,
|
102
|
+
IETF is fine for individual submissions.
|
103
|
+
If this element is not present, the default is "Network Working Group",
|
104
|
+
which is used by the RFC Editor as a nod to the history of the IETF. -->
|
105
|
+
|
106
|
+
<keyword>template</keyword>
|
107
|
+
|
108
|
+
<!-- Keywords will be incorporated into HTML output
|
109
|
+
files in a meta tag but they have no effect on text or nroff
|
110
|
+
output. If you submit your draft to the RFC Editor, the
|
111
|
+
keywords will be used for the search engine. -->
|
112
|
+
|
113
|
+
<abstract>
|
114
|
+
<t>Insert an abstract: MANDATORY. This template is for creating an
|
115
|
+
Internet Draft.</t>
|
116
|
+
</abstract>
|
117
|
+
</front>
|
118
|
+
|
119
|
+
<middle>
|
120
|
+
<section title="Introduction">
|
121
|
+
<t>The original specification of xml2rfc format is in <xref
|
122
|
+
target="RFC2629">RFC 2629</xref>.</t>
|
123
|
+
|
124
|
+
<section title="Requirements Language">
|
125
|
+
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
126
|
+
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
127
|
+
document are to be interpreted as described in <xref
|
128
|
+
target="RFC2119">RFC 2119</xref>.</t>
|
129
|
+
</section>
|
130
|
+
</section>
|
131
|
+
|
132
|
+
<section anchor="simple_list" title="Simple List">
|
133
|
+
<t>List styles: 'empty', 'symbols', 'letters', 'numbers', 'hanging',
|
134
|
+
'format'.</t>
|
135
|
+
|
136
|
+
<t><list style="symbols">
|
137
|
+
<t>First bullet</t>
|
138
|
+
|
139
|
+
<t>Second bullet</t>
|
140
|
+
</list> You can write text here as well.</t>
|
141
|
+
</section>
|
142
|
+
|
143
|
+
<section title="Figures">
|
144
|
+
<t>Figures should not exceed 69 characters wide to allow for the indent
|
145
|
+
of sections.</t>
|
146
|
+
|
147
|
+
<figure align="center" anchor="xml_happy">
|
148
|
+
<preamble>Preamble text - can be omitted or empty.</preamble>
|
149
|
+
|
150
|
+
<artwork align="left"><![CDATA[
|
151
|
+
+-----------------------+
|
152
|
+
| Use XML, be Happy :-) |
|
153
|
+
|_______________________|
|
154
|
+
]]></artwork>
|
155
|
+
|
156
|
+
<postamble>Cross-references allowed in pre- and postamble. <xref
|
157
|
+
target="min_ref" />.</postamble>
|
158
|
+
</figure>
|
159
|
+
|
160
|
+
<t>The CDATA means you don't need to escape meta-characters (especially
|
161
|
+
< (&lt;) and & (&amp;)) but is not essential.
|
162
|
+
Figures may also have a title attribute but it won't be displayed unless
|
163
|
+
there is also an anchor. White space, both horizontal and vertical, is
|
164
|
+
significant in figures even if you don't use CDATA.</t>
|
165
|
+
</section>
|
166
|
+
|
167
|
+
<!-- This PI places the pagebreak correctly (before the section title) in the text output. -->
|
168
|
+
|
169
|
+
<?rfc needLines="8" ?>
|
170
|
+
|
171
|
+
<section title="Subsections and Tables">
|
172
|
+
<section title="A Subsection">
|
173
|
+
<t>By default 3 levels of nesting show in table of contents but that
|
174
|
+
can be adjusted with the value of the "tocdepth" processing
|
175
|
+
instruction.</t>
|
176
|
+
</section>
|
177
|
+
|
178
|
+
<section title="Tables">
|
179
|
+
<t>.. are very similar to figures:</t>
|
180
|
+
|
181
|
+
<texttable anchor="table_example" title="A Very Simple Table">
|
182
|
+
<preamble>Tables use ttcol to define column headers and widths.
|
183
|
+
Every cell then has a "c" element for its content.</preamble>
|
184
|
+
|
185
|
+
<ttcol align="center">ttcol #1</ttcol>
|
186
|
+
|
187
|
+
<ttcol align="center">ttcol #2</ttcol>
|
188
|
+
|
189
|
+
<c>c #1</c>
|
190
|
+
|
191
|
+
<c>c #2</c>
|
192
|
+
|
193
|
+
<c>c #3</c>
|
194
|
+
|
195
|
+
<c>c #4</c>
|
196
|
+
|
197
|
+
<c>c #5</c>
|
198
|
+
|
199
|
+
<c>c #6</c>
|
200
|
+
|
201
|
+
<postamble>which is a very simple example.</postamble>
|
202
|
+
</texttable>
|
203
|
+
</section>
|
204
|
+
</section>
|
205
|
+
|
206
|
+
<section anchor="nested_lists" title="More about Lists">
|
207
|
+
<t>Lists with 'hanging labels': the list item is indented the amount of
|
208
|
+
the hangIndent: <list hangIndent="8" style="hanging">
|
209
|
+
<t hangText="short">With a label shorter than the hangIndent.</t>
|
210
|
+
|
211
|
+
<t hangText="fantastically long label">With a label longer than the
|
212
|
+
hangIndent.</t>
|
213
|
+
|
214
|
+
<t hangText="vspace_trick"><vspace blankLines="0" />Forces the new
|
215
|
+
item to start on a new line.</t>
|
216
|
+
</list></t>
|
217
|
+
|
218
|
+
<!-- It would be nice to see the next piece (12 lines) all on one page. -->
|
219
|
+
|
220
|
+
<?rfc needLines="12" ?>
|
221
|
+
|
222
|
+
<t>Simulating more than one paragraph in a list item using
|
223
|
+
<vspace>: <list style="letters">
|
224
|
+
<t>First, a short item.</t>
|
225
|
+
|
226
|
+
<t>Second, a longer list item.<vspace blankLines="1" /> And
|
227
|
+
something that looks like a separate pararaph..</t>
|
228
|
+
</list></t>
|
229
|
+
|
230
|
+
<t>Simple indented paragraph using the "empty" style: <list
|
231
|
+
hangIndent="10" style="empty">
|
232
|
+
<t>The quick, brown fox jumped over the lazy dog and lived to fool
|
233
|
+
many another hunter in the great wood in the west.</t>
|
234
|
+
</list></t>
|
235
|
+
|
236
|
+
<section title="Numbering Lists across Lists and Sections">
|
237
|
+
<t>Numbering items continuously although they are in separate
|
238
|
+
<list> elements, maybe in separate sections using the "format"
|
239
|
+
style and a "counter" variable.</t>
|
240
|
+
|
241
|
+
<t>First list: <list counter="reqs" hangIndent="4" style="format R%d">
|
242
|
+
<t>#1</t>
|
243
|
+
|
244
|
+
<t>#2</t>
|
245
|
+
|
246
|
+
<t>#3</t>
|
247
|
+
</list> Specify the indent explicitly so that all the items line up
|
248
|
+
nicely.</t>
|
249
|
+
|
250
|
+
<t>Second list: <list counter="reqs" hangIndent="4" style="format R%d">
|
251
|
+
<t>#4</t>
|
252
|
+
|
253
|
+
<t>#5</t>
|
254
|
+
|
255
|
+
<t>#6</t>
|
256
|
+
</list></t>
|
257
|
+
</section>
|
258
|
+
|
259
|
+
<section title="Where the List Numbering Continues">
|
260
|
+
<t>List continues here.</t>
|
261
|
+
|
262
|
+
<t>Third list: <list counter="reqs" hangIndent="4" style="format R%d">
|
263
|
+
<t>#7</t>
|
264
|
+
|
265
|
+
<t>#8</t>
|
266
|
+
|
267
|
+
<t>#9</t>
|
268
|
+
|
269
|
+
<t>#10</t>
|
270
|
+
</list> The end of the list.</t>
|
271
|
+
</section>
|
272
|
+
</section>
|
273
|
+
|
274
|
+
<section anchor="codeExample"
|
275
|
+
title="Example of Code or MIB Module To Be Extracted">
|
276
|
+
<figure>
|
277
|
+
<preamble>The <artwork> element has a number of extra attributes
|
278
|
+
that can be used to substitute a more aesthetically pleasing rendition
|
279
|
+
into HTML output while continuing to use the ASCII art version in the
|
280
|
+
text and nroff outputs (see the xml2rfc README for details). It also
|
281
|
+
has a "type" attribute. This is currently ignored except in the case
|
282
|
+
'type="abnf"'. In this case the "artwork" is expected to contain a
|
283
|
+
piece of valid Augmented Backus-Naur Format (ABNF) grammar. This will
|
284
|
+
be syntax checked by xml2rfc and any errors will cause a fatal error
|
285
|
+
if the "strict" processing instruction is set to "yes". The ABNF will
|
286
|
+
also be colorized in HTML output to highlight the syntactic
|
287
|
+
components. Checking of additional "types" may be provided in future
|
288
|
+
versions of xml2rfc.</preamble>
|
289
|
+
|
290
|
+
<artwork><![CDATA[
|
291
|
+
|
292
|
+
/**** an example C program */
|
293
|
+
|
294
|
+
#include <stdio.h>
|
295
|
+
|
296
|
+
void
|
297
|
+
main(int argc, char *argv[])
|
298
|
+
{
|
299
|
+
int i;
|
300
|
+
|
301
|
+
printf("program arguments are:\n");
|
302
|
+
for (i = 0; i < argc; i++) {
|
303
|
+
printf("%d: \"%s\"\n", i, argv[i]);
|
304
|
+
}
|
305
|
+
|
306
|
+
exit(0);
|
307
|
+
} /* main */
|
308
|
+
|
309
|
+
/* end of file */
|
310
|
+
|
311
|
+
]]></artwork>
|
312
|
+
</figure>
|
313
|
+
</section>
|
314
|
+
|
315
|
+
<section anchor="Acknowledgements" title="Acknowledgements">
|
316
|
+
<t>This template was derived from an initial version written by Pekka
|
317
|
+
Savola and contributed by him to the xml2rfc project.</t>
|
318
|
+
|
319
|
+
<t>This document is part of a plan to make xml2rfc indispensable <xref
|
320
|
+
target="DOMINATION"></xref>.</t>
|
321
|
+
</section>
|
322
|
+
|
323
|
+
<!-- Possibly a 'Contributors' section ... -->
|
324
|
+
|
325
|
+
<section anchor="IANA" title="IANA Considerations">
|
326
|
+
<t>This memo includes no request to IANA.</t>
|
327
|
+
|
328
|
+
<t>All drafts are required to have an IANA considerations section (see
|
329
|
+
<xref target="RFC5226">Guidelines for Writing an IANA Considerations Section in RFCs</xref> for a guide). If the draft does not require IANA to do
|
330
|
+
anything, the section contains an explicit statement that this is the
|
331
|
+
case (as above). If there are no requirements for IANA, the section will
|
332
|
+
be removed during conversion into an RFC by the RFC Editor.</t>
|
333
|
+
</section>
|
334
|
+
|
335
|
+
<section anchor="Security" title="Security Considerations">
|
336
|
+
<t>All drafts are required to have a security considerations section.
|
337
|
+
See <xref target="RFC3552">RFC 3552</xref> for a guide.</t>
|
338
|
+
</section>
|
339
|
+
</middle>
|
340
|
+
|
341
|
+
<!-- *****BACK MATTER ***** -->
|
342
|
+
|
343
|
+
<back>
|
344
|
+
<!-- References split into informative and normative -->
|
345
|
+
|
346
|
+
<!-- There are 2 ways to insert reference entries from the citation libraries:
|
347
|
+
1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
|
348
|
+
2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
|
349
|
+
(for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")
|
350
|
+
|
351
|
+
Both are cited textually in the same manner: by using xref elements.
|
352
|
+
If you use the PI option, xml2rfc will, by default, try to find included files in the same
|
353
|
+
directory as the including file. You can also define the XML_LIBRARY environment variable
|
354
|
+
with a value containing a set of directories to search. These can be either in the local
|
355
|
+
filing system or remote ones accessed by http (http://domain/dir/... ).-->
|
356
|
+
|
357
|
+
<references title="Normative References">
|
358
|
+
<!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
|
359
|
+
&RFC2119;
|
360
|
+
|
361
|
+
<reference anchor="min_ref">
|
362
|
+
<!-- the following is the minimum to make xml2rfc happy -->
|
363
|
+
|
364
|
+
<front>
|
365
|
+
<title>Minimal Reference</title>
|
366
|
+
|
367
|
+
<author initials="authInitials" surname="authSurName">
|
368
|
+
<organization></organization>
|
369
|
+
</author>
|
370
|
+
|
371
|
+
<date year="2006" />
|
372
|
+
</front>
|
373
|
+
</reference>
|
374
|
+
</references>
|
375
|
+
|
376
|
+
<references title="Informative References">
|
377
|
+
<!-- Here we use entities that we defined at the beginning. -->
|
378
|
+
|
379
|
+
&RFC2629;
|
380
|
+
|
381
|
+
&RFC3552;
|
382
|
+
|
383
|
+
&RFC5226;
|
384
|
+
|
385
|
+
<!-- A reference written by by an organization not a person. -->
|
386
|
+
|
387
|
+
<reference anchor="DOMINATION"
|
388
|
+
target="http://www.example.com/dominator.html">
|
389
|
+
<front>
|
390
|
+
<title>Ultimate Plan for Taking Over the World</title>
|
391
|
+
|
392
|
+
<author>
|
393
|
+
<organization>Mad Dominators, Inc.</organization>
|
394
|
+
</author>
|
395
|
+
|
396
|
+
<date year="1984" />
|
397
|
+
</front>
|
398
|
+
</reference>
|
399
|
+
</references>
|
400
|
+
|
401
|
+
<section anchor="app-additional" title="Additional Stuff">
|
402
|
+
<t>This becomes an Appendix.</t>
|
403
|
+
</section>
|
404
|
+
|
405
|
+
<!-- Change Log
|
406
|
+
|
407
|
+
v00 2006-03-15 EBD Initial version
|
408
|
+
|
409
|
+
v01 2006-04-03 EBD Moved PI location back to position 1 -
|
410
|
+
v3.1 of XMLmind is better with them at this location.
|
411
|
+
v02 2007-03-07 AH removed extraneous nested_list attribute,
|
412
|
+
other minor corrections
|
413
|
+
v03 2007-03-09 EBD Added comments on null IANA sections and fixed heading capitalization.
|
414
|
+
Modified comments around figure to reflect non-implementation of
|
415
|
+
figure indent control. Put in reference using anchor="DOMINATION".
|
416
|
+
Fixed up the date specification comments to reflect current truth.
|
417
|
+
v04 2007-03-09 AH Major changes: shortened discussion of PIs,
|
418
|
+
added discussion of rfc include.
|
419
|
+
v05 2007-03-10 EBD Added preamble to C program example to tell about ABNF and alternative
|
420
|
+
images. Removed meta-characters from comments (causes problems).
|
421
|
+
|
422
|
+
v06 2010-04-01 TT Changed ipr attribute values to latest ones. Changed date to
|
423
|
+
year only, to be consistent with the comments. Updated the
|
424
|
+
IANA guidelines reference from the I-D to the finished RFC. -->
|
425
|
+
</back>
|
426
|
+
</rfc>
|
@@ -0,0 +1,181 @@
|
|
1
|
+
= RFC XML v2 Example: A Standard for the Transmission of IP Datagrams on Avian Carriers
|
2
|
+
David Waitzman <dwaitzman@BBN.COM>; Nick Nicholas <opoudjis@gmail.com>
|
3
|
+
:doctype: rfc
|
4
|
+
:abbrev: IP Datagrams on Avian Carriers
|
5
|
+
:obsoletes: 10, 120
|
6
|
+
:updates: 2010, 2120
|
7
|
+
:status: info
|
8
|
+
:name: rfc-1149
|
9
|
+
:ipr: trust200902
|
10
|
+
:area: Internet
|
11
|
+
:workgroup: Network Working Group
|
12
|
+
:keyword: this, that
|
13
|
+
:revdate: 1990-04-01T00:00:00Z
|
14
|
+
:organization: BBN STC
|
15
|
+
:phone: (617) 873-4323
|
16
|
+
:uri: http://bbn.com
|
17
|
+
:street: 10 Moulton Street
|
18
|
+
:city: Cambridge
|
19
|
+
:code: MA 02238
|
20
|
+
:organization_2: BBN STC
|
21
|
+
:phone_2: (617) 873-4323
|
22
|
+
:street_2: 10 Moulton Street
|
23
|
+
:city_2: Cambridge
|
24
|
+
:code_2: MA 02238
|
25
|
+
:uri_2: http://opoudjis.net
|
26
|
+
|
27
|
+
[abstract]
|
28
|
+
Avian carriers can provide high delay, low throughput, and low
|
29
|
+
altitude service. The connection topology is limited to a single
|
30
|
+
point-to-point path for each carrier, used with standard carriers,
|
31
|
+
but many carriers can be used without significant interference with
|
32
|
+
each other, outside of early spring. This is because of the 3D ether
|
33
|
+
space available to the carriers, in contrast to the 1D ether used by
|
34
|
+
IEEE802.3. The carriers have an intrinsic collision avoidance
|
35
|
+
system, which increases availability. Unlike some network
|
36
|
+
technologies, such as packet radio, communication is not limited to
|
37
|
+
line-of-sight distance. Connection oriented service is available in
|
38
|
+
some cities, usually based upon a central hub topology.
|
39
|
+
|
40
|
+
NOTE: Yes, this is an April Fool's RFC.
|
41
|
+
|
42
|
+
[[frame]]
|
43
|
+
== Frame Format
|
44
|
+
|
45
|
+
The IP _datagram_ is *printed*, on a small scroll of paper, in
|
46
|
+
hexadecimal, with each octet separated by whitestuff and blackstuff.
|
47
|
+
The scroll of paper is wrapped around one leg of the avian carrier.
|
48
|
+
A band of duct tape is used to secure the datagram's edges. The
|
49
|
+
bandwidth is limited to the leg length. The MTU is variable, and
|
50
|
+
paradoxically, generally increases with increased carrier age. A
|
51
|
+
typical MTU is 256 milligrams. Some datagram padding may be needed.<<RFC7253,alt>>
|
52
|
+
|
53
|
+
Upon receipt, the duct tape is removed and the paper copy of the
|
54
|
+
datagram is optically scanned into a electronically transmittable
|
55
|
+
form.<<RFC7253>>
|
56
|
+
|
57
|
+
This document extends OpenPGP and its ECC extension to support SM2, SM3 and SM4:
|
58
|
+
|
59
|
+
* support the SM3 hash algorithm for data validation purposes
|
60
|
+
* support signatures utilizing the combination of SM3 with other digital
|
61
|
+
signing algorithms, such as RSA, ECDSA and SM2
|
62
|
+
* support the SM2 asymmetric encryption algorithm for public key
|
63
|
+
operations
|
64
|
+
* support usage of SM2 in combination with supported hash algorithms, such as
|
65
|
+
SHA-256 and SM3
|
66
|
+
* support the SM4 symmetric encryption algorithm for data protection purposes
|
67
|
+
* defines the OpenPGP profile "OSCCA-SM234" to enable usage of OpenPGP
|
68
|
+
in an OSCCA-compliant manner.
|
69
|
+
|
70
|
+
Algorithm-Specific Fields for SM2DSA keys:
|
71
|
+
|
72
|
+
* a variable-length field containing a curve OID, formatted
|
73
|
+
as follows:
|
74
|
+
.. a one-octet size of the following field; values 0 and
|
75
|
+
0xFF are reserved for future extensions
|
76
|
+
.. octets representing a curve OID.
|
77
|
+
* MPI of an EC point representing a public key
|
78
|
+
|
79
|
+
|
80
|
+
=== Definitions
|
81
|
+
|
82
|
+
OSCCA-compliant:: All cryptographic algorithms used are compliant with OSCCA regulations.
|
83
|
+
SM2DSA:: The elliptic curve digital signature algorithm. <<ISO.IEC.10118-3>>
|
84
|
+
SM2KEP:: The elliptic curve key exchange protocol.
|
85
|
+
SM2PKE:: The public key encryption algorithm.
|
86
|
+
|
87
|
+
==== Elliptic Curve Formula
|
88
|
+
|
89
|
+
[stem]
|
90
|
+
++++
|
91
|
+
y^2 = x^3 + ax + b
|
92
|
+
++++
|
93
|
+
|
94
|
+
==== Curve Parameters
|
95
|
+
|
96
|
+
[[curveparam1]]
|
97
|
+
.Curve Parameters Listing
|
98
|
+
====
|
99
|
+
....
|
100
|
+
p = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
|
101
|
+
FFFFFFFF 00000000 FFFFFFFF FFFFFFFF
|
102
|
+
a = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
|
103
|
+
FFFFFFFF 00000000 FFFFFFFF FFFFFFFC
|
104
|
+
b = 28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7
|
105
|
+
F39789F5 15AB8F92 DDBCBD41 4D940E93
|
106
|
+
n = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
|
107
|
+
7203DF6B 21C6052B 53BBF409 39D54123
|
108
|
+
x_G = 32C4AE2C 1F198119 5F990446 6A39C994
|
109
|
+
8FE30BBF F2660BE1 715A4589 334C74C7
|
110
|
+
y_G = BC3736A2 F4F6779C 59BDCEE3 6B692153
|
111
|
+
D0A9877C C62A4740 02DF32E5 2139F0A0
|
112
|
+
....
|
113
|
+
====
|
114
|
+
|
115
|
+
== Supported Algorithms
|
116
|
+
|
117
|
+
=== Public Key Algorithms
|
118
|
+
|
119
|
+
The SM2 algorithm is supported with the following extension.
|
120
|
+
|
121
|
+
NOTE: ECDH is defined in Section 8 of this document.
|
122
|
+
|
123
|
+
The following public key algorithm IDs are added to expand Section
|
124
|
+
9.1 of RFC4880, "Public-Key Algorithms":
|
125
|
+
|
126
|
+
.Table 2
|
127
|
+
|===
|
128
|
+
|ID | Description of Algorithm
|
129
|
+
|
130
|
+
|TBD | SM2
|
131
|
+
|===
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
== Security Considerations
|
136
|
+
|
137
|
+
Security is not generally a problem in normal operation, but special +
|
138
|
+
measures **MUST** be taken (such as data encryption) when avian carriers
|
139
|
+
are used in a tactical environment.<<RFC7253>>, <<ISO.IEC.10118-3>>
|
140
|
+
|
141
|
+
[bibliography]
|
142
|
+
== References
|
143
|
+
++++
|
144
|
+
<reference anchor='ISO.IEC.10118-3' target='https://www.iso.org/standard/67116.html'>
|
145
|
+
<front>
|
146
|
+
<title>ISO/IEC FDIS 10118-3 -- Information technology -- Security techniques -- Hash-functions -- Part 3: Dedicated hash-functions</title>
|
147
|
+
<author>
|
148
|
+
<organization>International Organization for Standardization</organization>
|
149
|
+
<address>
|
150
|
+
<postal>
|
151
|
+
<street>BIBC II</street>
|
152
|
+
<street>Chemin de Blandonnet 8</street>
|
153
|
+
<street>CP 401</street>
|
154
|
+
<city>Vernier</city>
|
155
|
+
<region>Geneva</region>
|
156
|
+
<code>1214</code>
|
157
|
+
<country>Switzerland</country>
|
158
|
+
</postal>
|
159
|
+
<phone>+41 22 749 01 11</phone>
|
160
|
+
<email>central@iso.org</email>
|
161
|
+
<uri>https://www.iso.org/</uri>
|
162
|
+
</address>
|
163
|
+
</author>
|
164
|
+
<date day='15' month='September' year='2017'/>
|
165
|
+
</front>
|
166
|
+
</reference>
|
167
|
+
|
168
|
+
<reference anchor='RFC7253' target='https://tools.ietf.org/html/rfc7253'>
|
169
|
+
<front>
|
170
|
+
<title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
|
171
|
+
<author initials="T." surname="Krovetz">
|
172
|
+
<organization>Sacramento State</organization>
|
173
|
+
</author>
|
174
|
+
<author initials="P." surname="Rogaway">
|
175
|
+
<organization>UC Davis</organization>
|
176
|
+
</author>
|
177
|
+
<date month='May' year='2014'/>
|
178
|
+
</front>
|
179
|
+
<seriesInfo name="RFC" value="7253"/>
|
180
|
+
</reference>
|
181
|
+
++++
|