| < draft-leiba-imap-implement-guide-05.txt | draft-leiba-imap-implement-guide-06.txt > | |||
|---|---|---|---|---|
| Network Working Group B. Leiba | Network Working Group B. Leiba | |||
| Internet Draft IBM T.J. Watson Research Center | Internet Draft IBM T.J. Watson Research Center | |||
| Document: draft-leiba-imap-implement-guide-05.txt April 1998 | Document: draft-leiba-imap-implement-guide-06.txt April 1998 | |||
| Expires September 1998 | Expires September 1998 | |||
| IMAP4 Implementation Recommendations | IMAP4 Implementation Recommendations | |||
| Status of this Document | Status of this Document | |||
| This document provides information for the Internet community. This | This document provides information for the Internet community. This | |||
| document does not specify an Internet standard of any kind. | document does not specify an Internet standard of any kind. | |||
| Distribution of this document is unlimited. | Distribution of this document is unlimited. | |||
| skipping to change at page 17, line 24 ¶ | skipping to change at page 17, line 24 ¶ | |||
| itself, expecting a particular server behavior. However, a client | itself, expecting a particular server behavior. However, a client | |||
| SHOULD permit a USER, by configuration, to use a reference name. | SHOULD permit a USER, by configuration, to use a reference name. | |||
| There is in no way universal agreement about the use or non-use of | There is in no way universal agreement about the use or non-use of | |||
| the reference name. The last words here are, "Be aware." | the reference name. The last words here are, "Be aware." | |||
| 3.4.12. Mailbox Hierarchy Delimiters | 3.4.12. Mailbox Hierarchy Delimiters | |||
| The server's selection of what to use as a mailbox hierarchy | The server's selection of what to use as a mailbox hierarchy | |||
| delimiter is a difficult one, involving several issues: What | delimiter is a difficult one, involving several issues: What | |||
| characters do users expect to see here? What characters can they | characters do users expect to see? What characters can they enter | |||
| enter in cases where they want to or must type them in? What | for a hierarchy delimiter if it is desired (or required) that the | |||
| characters can be used for delimiters, which characters will then not | user enter it? What character can be used for the hierarchy | |||
| be allowed in the mailbox names themselves? | delimiter, nothing that the chosen character can not otherwise be | |||
| used in the mailbox name? | ||||
| Because some interfaces show users the hierarchy delimiters or allow | Because some interfaces show users the hierarchy delimiters or allow | |||
| users to enter qualified mailbox names containing them, server | users to enter qualified mailbox names containing them, server | |||
| implementations SHOULD use delimiter characters that users generally | implementations SHOULD use delimiter characters that users generally | |||
| expect to see as name separators. The most common characters used | expect to see as name separators. The most common characters used | |||
| for this are "/" (as in Unix file names), "\" (as in OS/2, and | for this are "/" (as in Unix file names), "\" (as in OS/2 and Windows | |||
| Windows file names), and "." (as in news groups). There is little to | file names), and "." (as in news groups). There is little to choose | |||
| choose among these apart from what users may be used to or what is | among these apart from what users may expect or what is dictated by | |||
| dictated by the underlying file system, if any. One consideration | the underlying file system, if any. One consideration about using | |||
| about using "\" is that it's also a special character in the IMAP | "\" is that it's also a special character in the IMAP protocol. | |||
| protocol. While the use of other hierarchy delimiter characters is | While the use of other hierarchy delimiter characters is permissible, | |||
| permissible, A DESIGNER IS WELL ADVISED TO STAY WITH ONE FROM THIS | A DESIGNER IS WELL ADVISED TO STAY WITH ONE FROM THIS SET unless the | |||
| SET unless the server is intended for special purposes only. | server is intended for special purposes only. Characters such as | |||
| Characters such as "-", "_", ";", "&", "#", "@", and "!" may be | "-", "_", ";", "&", "#", "@", and "!" may be considered, but the | |||
| considered, but the implementer should be aware of the surprise to | implementer should be aware of the surprise to the user as well as of | |||
| the user as well as of the affect on URLs and other external | the effect on URLs and other external specifications (since some of | |||
| specifications (since some of these characters have special meanings | these characters have special meanings there). Also, a server that | |||
| there). Also, a server that uses "\" (and clients of such a server) | uses "\" (and clients of such a server) must remember to escape that | |||
| must remember to escape that character in quoted strings or to send | character in quoted strings or to send literals instead. Literals | |||
| literals instead: | are recommended over escaped characters in quoted strings in order to | |||
| maintain compatibility with older IMAP versions that did not allow | ||||
| escaped characters in quoted strings (but check the grammar to see | ||||
| where literals are allowed): | ||||
| 001 LIST "" "this\\%\\%\\%\\h*" | C: 001 LIST "" {13} | |||
| * LIST () "\\" {27} | S: + send literal | |||
| this\is\a\mailbox\hierarchy | C: this\%\%\%\h* | |||
| 001 OK LIST complete | S: * LIST () "\\" {27} | |||
| S: this\is\a\mailbox\hierarchy | ||||
| S: 001 OK LIST complete | ||||
| In any case, a server SHOULD NOT use normal alpha-numeric characters | In any case, a server SHOULD NOT use normal alpha-numeric characters | |||
| (such as "X" or "0") as delimiters; a user would be very surprised to | (such as "X" or "0") as delimiters; a user would be very surprised to | |||
| find that "EXPENDITURES" actually represented a two-level hierarchy. | find that "EXPENDITURES" actually represented a two-level hierarchy. | |||
| And a server SHOULD NOT use characters that are non-printable or | And a server SHOULD NOT use characters that are non-printable or | |||
| difficult or impossible to enter on a standard US keyboard. Control | difficult or impossible to enter on a standard US keyboard. Control | |||
| characters, box-drawing characters, and characters from non-US | characters, box-drawing characters, and characters from non-US | |||
| alphabets fit into this category. Their use presents | alphabets fit into this category. Their use presents | |||
| interoperability problems that are best avoided. | interoperability problems that are best avoided. | |||
| End of changes. 4 change blocks. | ||||
| 24 lines changed or deleted | 30 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||