Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / doc / MHonArc / app-mimeconf.html
CommitLineData
86530b38
AT
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
2<HTML>
3<HEAD>
4<TITLE>MHonArc v2.5 -- Appendix: MIME Conformance
5</TITLE>
6</HEAD>
7<!--
8<BODY background="ssbg75.jpg"
9 text="#000000" link="#0000ee" vlink="#551a8b" alink="ff0000">
10-->
11<BODY>
12
13<!--X-NavButtons-Start-->
14<table width="100%">
15<tr valign="top">
16<td align="left"><nobr><a href="app-api.html"><img src="prev.png"border=0 alt="[Prev]"></a>&nbsp;&nbsp;&nbsp;</nobr></td><td align="center" width="99%"><a href="mhonarc.html"><img src="up.png" border=0 alt="[TOC]"></a><a href="faq/faq.html"><img src="faq.png" border=0 alt="[FAQ]"></a><a href="app-bugs.html"><img src="bug.png" border=0 alt="[Bugs]"></a><a href="http://www.mhonarc.org/"><img src="home.png" border=0 alt="[Home]"></a></td><td align="right"><nobr>&nbsp;&nbsp;&nbsp;<a href="app-bugs.html"><img src="next.png" border=0 alt="[Next]"></a></nobr></td></tr></table>
17<!--X-NavButtons-End-->
18<HR>
19
20<H1><a name="appendix-mimeconf">Appendix: MIME Conformance</a></H1>
21
22<P>This appendix describes how well MHonArc implements
23MIME-conformance as defined in
24<a href="http://www.pobox.com/~ehood/MIME/2049/rfc2049.html">
25RFC 2049: (MIME) Part Five: Conformance Criteria and Examples</a>.
26Also, additional MIME-related features are summarized.
27</P>
28
29<!--X-TOC-Start-->
30<ul>
31<li><a href="#mime-conformance">MIME-Conformance</a>
32<li><a href="#otherstuff">Other Stuff Supported</a>
33</ul>
34<!--X-TOC-End-->
35
36<hr>
37<H2><a name="mime-conformance">MIME-Conformance</a></H2>
38
39<p>MIME-conformance is defined in section 2 of
40<a href="http://www.pobox.com/~ehood/MIME/2049/rfc2049.html">
41RFC 2049: (MIME) Part Five: Conformance Criteria and Examples</a>.
42Following is the text extracted from section 2 of RFC 2049 with
43annotations added on how MHonArc conforms to each criteria listed.
44It should be noted that the criteria listed in RFC 2049 is geared
45towards interactive MUAs; therefore, some criteria may not be
46applicable to MHonArc.
47</p>
48<table border=0 cellpadding=4>
49<tr valign=top>
50<td><strong>NOTE</strong></td>
51<td><p>All notes about conformance is based upon the default MIME-related
52resource settings:
53<a href="resources/mimefilters.html">MIMEFILTERS</a>,
54<a href="resources/charsetconverters.html">CHARSETCONVERTERS</a>,
55<a href="resources/mimeargs.html">MIMEARGS</a>
56</p>
57</td>
58</tr>
59</table>
60
61<ol>
62<li><p>
63Always generate a "MIME-Version: 1.0" header field in
64 any message it creates.
65</p>
66<table border=0 cellpadding=4>
67<tr valign=top>
68<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
69<td><p>Not applicable.
70</p>
71<br>
72</td>
73</tr>
74</table>
75</li>
76<li><p>
77Recognize the Content-Transfer-Encoding header field
78 and decode all received data encoded by either quoted-printable or base64 implementations. The identity
79 transformations 7bit, 8bit, and binary must also be
80 recognized.
81</p>
82<table border=0 cellpadding=4>
83<tr valign=top>
84<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
85<td><p>Base64, quoted-printable, 7bit, 8bit, and binary are supported.
86Also, uuencode is supported: <tt>uuencode</tt>, <tt>x-uuencode</tt>, and
87<tt>x-uue</tt>.
88</p>
89<br>
90</td>
91</tr>
92</table>
93<p>
94 Any non-7bit data that is sent without encoding must be
95 properly labelled with a content-transfer-encoding of
96 8bit or binary, as appropriate. If the underlying
97 transport does not support 8bit or binary (as SMTP
98 [RFC-821] does not), the sender is required to both
99 encode and label data using an appropriate Content-Transfer-Encoding such as quoted-printable or base64.
100</p>
101<table border=0 cellpadding=4>
102<tr valign=top>
103<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
104<td><p>Not applicable.
105</p>
106<br>
107</td>
108</tr>
109</table>
110</li>
111<li><p>
112Must treat any unrecognized Content-Transfer-Encoding
113 as if it had a Content-Type of "application/octet-stream", regardless of whether or not the actual
114 Content-Type is recognized.
115</p>
116<table border=0 cellpadding=4>
117<tr valign=top>
118<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
119<td><p>Currently, MHonArc will still call the registered
120<a href="resources/mimefilters.html">content-type filter</a> for the specified
121Content-Type, but the <b><tt>$isdecoded</tt></b> will be set to a false
122value. With the default set of filters, the <b><tt>$isdecoded</tt></b>
123flag is ignored. Therefore, behavior could be considered undefined when
124MHonArc process a message with an unrecognized Content-Transfer-Encoding.
125</p>
126<br>
127</td>
128</tr>
129</table>
130</li>
131<li><p>
132Recognize and interpret the Content-Type header field,
133 and avoid showing users raw data with a Content-Type
134 field other than text. Implementations must be able
135 to send at least text/plain messages, with the
136 character set specified with the charset parameter if
137 it is not US-ASCII.
138</p>
139<table border=0 cellpadding=4>
140<tr valign=top>
141<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
142<td><p>MHonArc conforms to the first sentence of the paragraph
143The second sentence is not applicable.
144</p>
145<br>
146</td>
147</tr>
148</table>
149</li>
150<li><p>
151Ignore any content type parameters whose names they do
152 not recognize.
153</p>
154<table border=0 cellpadding=4>
155<tr valign=top>
156<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
157<td><p>Yes.
158</p>
159<br>
160</td>
161</tr>
162</table>
163</li>
164<li><p>
165Explicitly handle the following media type values, to
166 at least the following extents:
167</p>
168<p>
169 Text:
170</p>
171<ul>
172<li><p>Recognize and display "text" mail with the
173 character set "US-ASCII."
174</p>
175<table border=0 cellpadding=4>
176<tr valign=top>
177<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
178<td><p>Yes.
179</p>
180<br>
181</td>
182</tr>
183</table>
184<li><p>Recognize other character sets at least to the
185 extent of being able to inform the user about what
186 character set the message uses.
187</p>
188<table border=0 cellpadding=4>
189<tr valign=top>
190<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
191<td><p>Not really applicable. Warnings are generated during processing
192if a character set is encountered that is not recognized.
193</p>
194<br>
195</td>
196</tr>
197</table>
198<li><p>Recognize the "ISO-8859-*" character sets to the
199 extent of being able to display those characters that
200 are common to ISO-8859-* and US-ASCII, namely all
201 characters represented by octet values 1-127.
202</p>
203<table border=0 cellpadding=4>
204<tr valign=top>
205<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
206<td><p>Yes.
207</p>
208<br>
209</td>
210</tr>
211</table>
212<li><p>For unrecognized subtypes in a known character
213 set, show or offer to show the user the "raw" version
214 of the data after conversion of the content from
215 canonical form to local form.
216</p>
217<table border=0 cellpadding=4>
218<tr valign=top>
219<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
220<td><p>MHonArc will treat the data as text/plain and convert.
221</p>
222<br>
223</td>
224</tr>
225</table>
226<li><p>Treat material in an unknown character set as if
227 it were "application/octet-stream".
228</p>
229<table border=0 cellpadding=4>
230<tr valign=top>
231<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
232<td><p>No. A warning is generated for unknown character sets. The
233data will be shown in raw form, with HTML special characters converted
234to entity references. This behavior is the default because some MUAs
235are known to give incorrect charset parameters.
236</p>
237<br>
238</td>
239</tr>
240</table>
241</ul>
242<p>
243 Image, audio, and video:
244</p>
245<ul>
246 <li><p>At a minumum provide facilities to treat any
247 unrecognized subtypes as if they were
248 "application/octet-stream".
249</p>
250<table border=0 cellpadding=4>
251<tr valign=top>
252<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
253<td><p>All image, audio, and video types are saved to an external file
254with a link to the file created in the HTML. For applicable image types, they
255are inlined unless the image has an attachment content-disposition.
256</p>
257<br>
258</td>
259</tr>
260</table>
261</ul>
262<p>
263 Application:
264</p>
265<ul>
266 <li><p>Offer the ability to remove either of the quoted-printable or base64 encodings defined in this
267 document if they were used and put the resulting
268 information in a user file.
269</p>
270<table border=0 cellpadding=4>
271<tr valign=top>
272<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
273<td><p>Most application types are decoded and saved to an external file
274with a link to the file created in the HTML. Some application types
275can be converted directly to HTML.
276</p>
277</td>
278</tr>
279</table>
280</ul>
281<p>
282 Multipart:
283</p>
284<ul>
285 <li><p>Recognize the mixed subtype. Display all relevant
286 information on the message level and the body part
287 header level and then display or offer to display
288 each of the body parts individually.
289</p>
290<table border=0 cellpadding=4>
291<tr valign=top>
292<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
293<td><p>Yes. Each part is automatically processed according to its
294media-type.
295</p>
296<br>
297</td>
298</tr>
299</table>
300 <li><p>Recognize the "alternative" subtype, and avoid
301 showing the user redundant parts of
302 multipart/alternative mail.
303</p>
304<table border=0 cellpadding=4>
305<tr valign=top>
306<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
307<td><p>Yes.
308</p>
309<br>
310</td>
311</tr>
312</table>
313 <li><p>Recognize the "multipart/digest" subtype,
314 specifically using "message/rfc822" rather than
315 "text/plain" as the default media type for body parts
316 inside "multipart/digest" entities.
317</p>
318<table border=0 cellpadding=4>
319<tr valign=top>
320<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
321<td><p>Yes.
322</p>
323<br>
324</td>
325</tr>
326</table>
327 <li><p>Treat any unrecognized subtypes as if they were
328 "mixed".
329</p>
330<table border=0 cellpadding=4>
331<tr valign=top>
332<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
333<td><p>Yes.
334</p>
335<br>
336</td>
337</tr>
338</table>
339</ul>
340<p>
341 Message:
342</p>
343<ul>
344 <li><p>Recognize and display at least the RFC822 message
345 encapsulation (message/rfc822) in such a way as to
346 preserve any recursive structure, that is, displaying
347 or offering to display the encapsulated data in
348 accordance with its media type.
349</p>
350<table border=0 cellpadding=4>
351<tr valign=top>
352<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
353<td><p>Yes.
354</p>
355<br>
356</td>
357</tr>
358</table>
359 <li><p>Treat any unrecognized subtypes as if they were
360 "application/octet-stream".
361</p>
362<table border=0 cellpadding=4>
363<tr valign=top>
364<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
365<td><p>Yes.
366</p>
367<br>
368</td>
369</tr>
370</table>
371</ul>
372<li><p>Upon encountering any unrecognized Content-Type field,
373 an implementation must treat it as if it had a media
374 type of "application/octet-stream" with no parameter
375 sub-arguments. How such data are handled is up to an
376 implementation, but likely options for handling such
377 unrecognized data include offering the user to write it
378 into a file (decoded from its mail transport format) or
379 offering the user to name a program to which the
380 decoded data should be passed as input.
381</p>
382<table border=0 cellpadding=4>
383<tr valign=top>
384<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
385<td><p>Yes. The data is passed to the
386<a href="resources/mimefilters.html#m2h_external">m2h_external::filter</a>
387to be saved to an external file.
388</p>
389<br>
390</td>
391</tr>
392</table>
393<li><p>Conformant user agents are required, if they provide
394 non-standard support for non-MIME messages employing
395 character sets other than US-ASCII, to do so on
396 received messages only. Conforming user agents must not
397 send non-MIME messages containing anything other than
398 US-ASCII text.
399</p>
400<p>In particular, the use of non-US-ASCII text in mail
401 messages without a MIME-Version field is strongly
402 discouraged as it impedes interoperability when sending
403 messages between regions with different localization
404 conventions. Conforming user agents MUST include proper
405 MIME labelling when sending anything other than plain
406 text in the US-ASCII character set.
407</p>
408<table border=0 cellpadding=4>
409<tr valign=top>
410<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
411<td><p>The
412<a href="resources/mimefilters.html#m2h_text_plain">m2h_text_plain::filter</a>
413supports an option to specify what character set to use if no character
414set is specified. By default, ISO-8859-1 is assumed.
415</p>
416<br>
417</td>
418</tr>
419</table>
420<p>In addition, non-MIME user agents should be upgraded if
421 at all possible to include appropriate MIME header
422 information in the messages they send even if nothing
423 else in MIME is supported. This upgrade will have
424 little, if any, effect on non-MIME recipients and will
425 aid MIME in correctly displaying such messages. It
426 also provides a smooth transition path to eventual
427 adoption of other MIME capabilities.
428</p>
429<table border=0 cellpadding=4>
430<tr valign=top>
431<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
432<td><p>Not applicable.
433</p>
434<br>
435</td>
436</tr>
437</table>
438<li><p>Conforming user agents must ensure that any string of
439 non-white-space printable US-ASCII characters within a
440 "*text" or "*ctext" that begins with "=?" and ends with
441 "?=" be a valid encoded-word. ("begins" means: At the
442 start of the field-body or immediately following
443 linear-white-space; "ends" means: At the end of the
444 field-body or immediately preceding linear-white-space.) In addition, any "word" within a "phrase" that
445 begins with "=?" and ends with "?=" must be a valid
446 encoded-word.
447</p>
448<table border=0 cellpadding=4>
449<tr valign=top>
450<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
451<td><p>Yes.
452</p>
453<br>
454</td>
455</tr>
456</table>
457<li><p>Conforming user agents must be able to distinguish
458 encoded-words from "text", "ctext", or "word"s,
459 according to the rules in section 4, anytime they
460 appear in appropriate places in message headers. It
461 must support both the "B" and "Q" encodings for any
462 character set which it supports. The program must be
463 able to display the unencoded text if the character set
464 is "US-ASCII". For the ISO-8859-* character sets, the
465 mail reading program must at least be able to display
466 the characters which are also in the US-ASCII set.
467</p>
468<table border=0 cellpadding=4>
469<tr valign=top>
470<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
471<td><p>MHonArc supports non-ASCII encoding of text in message headers,
472including the "B" and "Q" encodings. By default, US-ASCII,
473ISO-8859-[1-10], and ISO-2022-JP are supported. For encoded
474words with an unrecognized character set, the word is left in
475encoded form. Additional character set support can be added via the
476<a href="resources/charsetconverters.html">CHARSETCONVERTERS</a> resource.
477</p>
478<br>
479</td>
480</tr>
481</table>
482</ol>
483
484
485<hr>
486<H2><a name="otherstuff">Other Stuff Supported</a></H2>
487
488<p>The following lists other MIME-related features supported
489by MHonArc:</p>
490
491<ul>
492
493<li><p>Support for uuencoding as a Content-Transfer-Encoding.
494</p>
495</li>
496
497<li><p>Support for many media-types (including the ability to extend
498that support). For a complete list, along with more
499information, see the
500<a href="resources/mimefilters.html">MIMEFILTERS</a> resource.
501Note, many media-types cannot be directly converted into HTML. For
502these types, they are saved to a separate file with a link to the
503file inserted in the converted HTML message data.
504</p>
505</li>
506
507<li><p>Support for <b><tt>multipart/related</tt></b> by allowing
508<a href="resources/mimefilters.html">filters</a> to access other
509message parts via content-ids.
510</p>
511</li>
512
513<li><p>Support for <b><tt>cid:</tt></b> URLs in <b><tt>text/html</tt></b>
514data. The provides support for things like MHTML:
515<em>MIME E-mail Encapsulation of Aggregate Documents</em>,
516<a href="http://www.ietf.org/rfc/rfc2110.txt">RFC 2110</a>.
517</p>
518</li>
519
520<li><p>Support for
521<a href="http://www.ietf.org/rfc/rfc2369.txt">RFC 2369</a>,
522<em>The Use of URLs as Meta-Syntax for Core Mail List Commands
523and their Transport through Message Header Fields</em>. The
524URLs in list header fields will be converted into hypertext links.
525</p>
526</li>
527
528</ul>
529
530<hr>
531<!--X-NavButtons-Start-->
532<table width="100%">
533<tr valign="top">
534<td align="left"><nobr><a href="app-api.html"><img src="prev.png"border=0 alt="[Prev]"></a>&nbsp;&nbsp;&nbsp;</nobr></td><td align="center" width="99%"><a href="mhonarc.html"><img src="up.png" border=0 alt="[TOC]"></a><a href="faq/faq.html"><img src="faq.png" border=0 alt="[FAQ]"></a><a href="app-bugs.html"><img src="bug.png" border=0 alt="[Bugs]"></a><a href="http://www.mhonarc.org/"><img src="home.png" border=0 alt="[Home]"></a></td><td align="right"><nobr>&nbsp;&nbsp;&nbsp;<a href="app-bugs.html"><img src="next.png" border=0 alt="[Next]"></a></nobr></td></tr></table>
535<!--X-NavButtons-End-->
536
537<HR>
538<address>
539$Date: 2001/12/24 14:38:07 $ <br>
540<img align="top" src="monicon.png" alt="">
541<a href="http://www.mhonarc.org/"><strong>MHonArc</strong></a><br>
542Copyright &#169; 1999, <a href="http://www.mhonarc.org/~ehood/"
543>Earl Hood</a>, <a href="mailto:mhonarc@mhonarc.org"
544>mhonarc@mhonarc.org</a><br>
545</address>
546
547</BODY>
548</HTML>