[要約] RFC 5161は、IMAP ENABLE拡張機能に関する仕様であり、IMAPサーバーがサポートする機能をクライアントに通知するための方法を提供します。目的は、クライアントがサーバーの機能を正確に理解し、適切に利用できるようにすることです。
Network Working Group A. Gulbrandsen, Ed. Request for Comments: 5161 Oryx Mail Systems GmbH Category: Standards Track A. Melnikov, Ed. Isode Limited March 2008
The IMAP ENABLE Extension
IMAPは拡張機能を有効にします
Status of This Memo
本文書の位置付け
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
このドキュメントは、インターネットコミュニティのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態とステータスについては、「インターネット公式プロトコル標準」(STD 1)の現在のエディションを参照してください。このメモの配布は無制限です。
Abstract
概要
Most IMAP extensions are used by the client when it wants to and the server supports it. However, a few extensions require the server to know whether a client supports that extension. The ENABLE extension allows an IMAP client to say which extensions it supports.
ほとんどのIMAP拡張機能は、必要なときにクライアントによって使用され、サーバーはそれをサポートします。ただし、いくつかの拡張機能では、サーバーがクライアントがその拡張子をサポートするかどうかを知る必要があります。Enable Extensionにより、IMAPクライアントはサポートする拡張機能を表示できます。
Several IMAP extensions allow the server to return unsolicited responses specific to these extensions in certain circumstances. However, servers cannot send those unsolicited responses until they know that the clients support such extensions and thus won't choke on the extension response data.
いくつかのIMAP拡張機能により、サーバーは特定の状況でこれらの拡張機能に固有の未承諾の応答を返すことができます。ただし、サーバーは、クライアントがそのような拡張機能をサポートしているため、拡張応答データを窒息させないことがわかるまで、これらの未承諾応答を送信することはできません。
Up until now, extensions have typically stated that a server cannot send the unsolicited responses until after the client has used a command with the extension data (i.e., at that point the server knows the client is aware of the extension). CONDSTORE ([RFC4551]), ANNOTATE ([ANNOTATE]), and some extensions under consideration at the moment use various commands to enable server extensions. For example, CONDSTORE uses a SELECT or FETCH parameter, and ANNOTATE uses a side effect of FETCH.
これまで、拡張機能は通常、クライアントが拡張データを使用してコマンドを使用するまで(つまり、サーバーがクライアントが拡張機能を認識していることを知っている)まで、サーバーが未承諾の応答を送信できないと述べています。condstore([rfc4551])、annotate([annotate])、および現在検討中のいくつかの拡張機能は、さまざまなコマンドを使用してサーバー拡張機能を有効にします。たとえば、CondstoreはSelectまたはFetchパラメーターを使用し、AnnotateはFetchの副作用を使用します。
The ENABLE extension provides an explicit indication from the client that it supports particular extensions. This is done using a new ENABLE command.
enable拡張機能は、特定の拡張機能をサポートすることをクライアントから明示的に表示します。これは、新しいenableコマンドを使用して行われます。
An IMAP server that supports ENABLE advertises this by including the word ENABLE in its capability list.
サポートするIMAPサーバーは、その機能をその機能リストに含めることにより、これを宣伝することができます。
Most IMAP extensions do not require the client to enable the extension in any way.
ほとんどのIMAP拡張機能では、クライアントが拡張機能を有効にする必要はありません。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
「必須」、「そうしない」、「必須」、「必要」、「「しない」、「そうでない」、「そうではない」、「そうでない」、「推奨」、「5月」、および「オプション」は、[RFC2119]に記載されているように解釈される。
Formal syntax is defined by [RFC5234] and [RFC3501].
正式な構文は、[RFC5234]および[RFC3501]によって定義されます。
Example lines prefaced by "C:" are sent by the client and ones prefaced by "S:" by the server. The five characters [...] means that something has been elided.
「c:」で前巻かれたラインの例は、クライアントによって送信され、「s:」がサーバーによってメリットされたものが送信されます。5人のキャラクター[...]は、何かが排除されたことを意味します。
Arguments: capability names
引数:機能名
Result: OK: Relevant capabilities enabled BAD: No arguments, or syntax error in an argument
結果:OK:関連する機能を有効にする悪い:引数はありません、または引数の構文エラー
The ENABLE command takes a list of capability names, and requests the server to enable the named extensions. Once enabled using ENABLE, each extension remains active until the IMAP connection is closed. For each argument, the server does the following:
有効なコマンドは、機能名のリストを取得し、名前付きの拡張機能を有効にするようサーバーに要求します。Enableを使用して有効にすると、IMAP接続が閉じられるまで各拡張機能がアクティブのままになります。各引数について、サーバーは次のことを行います。
- If the argument is not an extension known to the server, the server MUST ignore the argument.
- 引数がサーバーに既知の拡張機能でない場合、サーバーは引数を無視する必要があります。
- If the argument is an extension known to the server, and it is not specifically permitted to be enabled using ENABLE, the server MUST ignore the argument. (Note that knowing about an extension doesn't necessarily imply supporting that extension.)
- 引数がサーバーに知られている拡張機能であり、enableを使用して有効にすることが具体的に許可されていない場合、サーバーは引数を無視する必要があります。(拡張機能について知ることは、必ずしもその拡張機能をサポートすることを意味するわけではないことに注意してください。)
- If the argument is an extension that is supported by the server and that needs to be enabled, the server MUST enable the extension for the duration of the connection. At present, this applies only to CONDSTORE ([RFC4551]). Note that once an extension is enabled, there is no way to disable it.
- 引数がサーバーによってサポートされており、有効にする必要がある拡張機能である場合、サーバーは接続期間中拡張機能を有効にする必要があります。現在、これはcondstore([rfc4551])にのみ適用されます。拡張機能が有効になったら、それを無効にする方法はないことに注意してください。
If the ENABLE command is successful, the server MUST send an untagged ENABLED response (see Section 3.2).
有効コマンドが成功した場合、サーバーはタグのない有効な応答を送信する必要があります(セクション3.2を参照)。
Clients SHOULD only include extensions that need to be enabled by the server. At the time of publication, CONDSTORE is the only such extension (i.e., ENABLE CONDSTORE is an additional "CONDSTORE enabling command" as defined in [RFC4551]). Future RFCs may add to this list.
クライアントには、サーバーが有効にする必要がある拡張機能のみを含める必要があります。出版時には、Condstoreが唯一の拡張機能です(つまり、[RFC4551]で定義されているように、Condstoreを追加する「Condstore Enabling Command」です)。将来のRFCはこのリストに追加される場合があります。
The ENABLE command is only valid in the authenticated state (see [RFC3501]), before any mailbox is selected. Clients MUST NOT issue ENABLE once they SELECT/EXAMINE a mailbox; however, server implementations don't have to check that no mailbox is selected or was previously selected during the duration of a connection.
enableコマンドは、メールボックスが選択される前に、認証された状態でのみ有効です([RFC3501]を参照)。クライアントは、メールボックスを選択/検査したら有効にしてはなりません。ただし、サーバーの実装は、接続期間中にメールボックスが選択されていないか、以前に選択されたことを確認する必要はありません。
The ENABLE command can be issued multiple times in a session. It is additive; i.e., "ENABLE a b", followed by "ENABLE c" is the same as a single command "ENABLE a b c". When multiple ENABLE commands are issued, each corresponding ENABLED response SHOULD only contain extensions enabled by the corresponding ENABLE command.
有効コマンドは、セッションで複数回発行できます。それは添加物です。つまり、「bを有効にする」に続いて「b c」が続くと、単一のコマンド「b c」を有効にします。複数の有効なコマンドが発行される場合、対応する各有効な応答には、対応する有効なコマンドによって有効な拡張機能のみを含める必要があります。
There are no limitations on pipelining ENABLE. For example, it is possible to send ENABLE and then immediately SELECT, or a LOGIN immediately followed by ENABLE.
パイプライニングの有効化に制限はありません。たとえば、Enableを送信してからすぐに選択するか、すぐにログインしてからEnableを使用できます。
The server MUST NOT change the CAPABILITY list as a result of executing ENABLE; i.e., a CAPABILITY command issued right after an ENABLE command MUST list the same capabilities as a CAPABILITY command issued before the ENABLE command. This is demonstrated in the following example:
Enableの実行の結果として、サーバーは機能リストを変更してはなりません。つまり、enableコマンドの直後に発行された機能コマンドは、enableコマンドの前に発行された機能コマンドと同じ機能をリストする必要があります。これは、次の例で実証されています。
C: t1 CAPABILITY S: * CAPABILITY IMAP4rev1 ID LITERAL+ ENABLE X-GOOD-IDEA S: t1 OK foo C: t2 ENABLE CONDSTORE X-GOOD-IDEA S: * ENABLED X-GOOD-IDEA S: t2 OK foo C: t3 CAPABILITY S: * CAPABILITY IMAP4rev1 ID LITERAL+ ENABLE X-GOOD-IDEA S: t3 OK foo again
In the following example, the client enables CONDSTORE:
次の例では、クライアントはcondstoreを有効にします。
C: a1 ENABLE CONDSTORE S: * ENABLED CONDSTORE S: a1 OK Conditional Store enabled
Contents: capability listing
内容:機能リスト
The ENABLED response occurs as a result of an ENABLE command. The capability listing contains a space-separated listing of capability names that the server supports and that were successfully enabled. The ENABLED response may contain no capabilities, which means that no extensions listed by the client were successfully enabled.
有効な応答は、有効なコマンドの結果として発生します。機能リストには、サーバーがサポートし、正常に有効になっている機能名のスペース分離されたリストが含まれています。有効な応答には機能が含まれていない場合があります。つまり、クライアントがリストした拡張機能は正常に有効になっていません。
Designers of IMAP extensions are discouraged from creating extensions that require ENABLE unless there is no good alternative design. Specifically, extensions that cause potentially incompatible behavior changes to deployed server responses (and thus benefit from ENABLE) have a higher complexity cost than extensions that do not.
IMAP拡張機能の設計者は、優れた代替設計がない限り、有効にする必要がある拡張機能の作成を妨げられます。具体的には、潜在的に互換性のない動作を引き起こす拡張機能が展開されたサーバーの応答に変化します(したがって、有効から利益を得る)には、拡張よりも複雑なコストが高くなります。
The following syntax specification uses the Augmented Backus-Naur Form (ABNF) notation as specified in [RFC5234] including the core rules in Appendix B.1. [RFC3501] defines the non-terminals "capability" and "command-any".
次の構文仕様では、付録B.1のコアルールを含む[RFC5234]で指定されているように、拡張されたバックスノーフォーム(ABNF)表記を使用します。[RFC3501]は、非ターミナル「能力」と「コマンド-Any」を定義します。
Except as noted otherwise, all alphabetic characters are case-insensitive. The use of upper or lower case characters to define token strings is for editorial clarity only. Implementations MUST accept these strings in a case-insensitive fashion.
それ以外の場合は、言及されている場合を除き、すべてのアルファベット文字はケース非感受性です。トークン文字列を定義するために上または小文字または小文字の文字を使用することは、編集の明確性のみを目的としています。実装は、これらの文字列をケースに依存しない方法で受け入れる必要があります。
capability =/ "ENABLE"
command-any =/ "ENABLE" 1*(SP capability)
response-data =/ "*" SP enable-data CRLF
enable-data = "ENABLED" *(SP capability)
enable-data = "enabled" *(SP機能)
It is believed that this extension doesn't add any security considerations that are not already present in the base IMAP protocol [RFC3501].
この拡張機能は、ベースIMAPプロトコル[RFC3501]にまだ存在していないセキュリティ上の考慮事項を追加しないと考えられています。
The IANA has added ENABLE to the IMAP4 Capabilities Registry.
IANAには、IMAP4機能レジストリに有効化が追加されています。
The editors would like to thank Randy Gellens, Chris Newman, Peter Coates, Dave Cridland, Mark Crispin, Ned Freed, Dan Karp, Cyrus Daboo, Ken Murchison, and Eric Burger for comments and corrections. However, this doesn't necessarily mean that they endorse this extension, agree with all details, or are responsible for errors introduced by the editors.
編集者は、コメントと修正について、ランディ・ゲレンズ、クリス・ニューマン、ピーター・コーツ、マーク・クリスピン、ネッド・フリード、ダン・カープ、サイラス・ダブー、ケン・マーチソン、エリック・バーガーに感謝したいと思います。ただし、これは、必ずしもこの拡張機能を支持したり、すべての詳細に同意したり、編集者によって導入されたエラーに責任を負っていることを意味するわけではありません。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、1997年3月。
[RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003.
[RFC3501] CRISPIN、M。、「インターネットメッセージアクセスプロトコル - バージョン4REV1」、RFC 3501、2003年3月。
[RFC5234] Crocker, D., Ed., and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.
[RFC5234] Crocker、D.、ed。、およびP. Overell、「構文仕様のためのBNFの増強」、STD 68、RFC 5234、2008年1月。
[RFC4551] Melnikov, A. and S. Hole, "IMAP Extension for Conditional STORE Operation or Quick Flag Changes Resynchronization", RFC 4551, June 2006.
[RFC4551] Melnikov、A。およびS. Hole、「条件付き店舗操作またはクイックフラグの変更のためのIMAP拡張」、RFC 4551、2006年6月。
[ANNOTATE] Daboo, C. and R. Gellens, "IMAP ANNOTATE Extension", Work in Progress, August 2006.
[Annotate] Daboo、C。およびR. Gellens、「IMAP Annotate Extension」、2006年8月、進行中の作業。
Editors' Addresses
編集者のアドレス
Arnt Gulbrandsen Oryx Mail Systems GmbH Schweppermannstr. 8 D-81671 Muenchen Germany
Arnt Gulbrandsen Oryx Mail Systems GmbH Schweppermannstr。8 D-81671ミューンチェンドイツ
Fax: +49 89 4502 9758 EMail: arnt@oryx.com
Alexey Melnikov Isode Ltd 5 Castle Business Village 36 Station Road Hampton, Middlesex TW12 2BX UK
Alexey Melnikov Isode Ltd 5 Castle Business Village 36 Station Road Hampton、Middlesex TW12 2BX UK
EMail: Alexey.Melnikov@isode.com
Full Copyright Statement
完全な著作権声明
Copyright (C) The IETF Trust (2008).
著作権(c)The IETF Trust(2008)。
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
この文書は、BCP 78に含まれる権利、ライセンス、および制限の対象となり、そこに記載されている場合を除き、著者はすべての権利を保持しています。
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
このドキュメントとここに含まれる情報は、「現状のまま」に基づいて提供され、貢献者、彼/彼女が代表する組織(もしあれば)、インターネット協会、IETFトラスト、インターネットエンジニアリングタスクフォースがすべてを否認します。明示的または黙示的な保証。ここでの情報の使用は、特定の目的に対する商品性または適合性の権利または暗黙の保証を侵害しないという保証を含むがこれらに限定されない。
Intellectual Property
知的財産
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
IETFは、知的財産権またはその他の権利の有効性または範囲に関して、本書に記載されている技術の実装または使用、またはそのような権利に基づくライセンスに基づくライセンスの範囲に関連すると主張される可能性のある他の権利に関しては、立場を取得しません。利用可能になります。また、そのような権利を特定するために独立した努力をしたことも表明していません。RFCドキュメントの権利に関する手順に関する情報は、BCP 78およびBCP 79に記載されています。
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
IETF事務局に行われたIPR開示のコピーと、利用可能にするライセンスの保証、またはこの仕様の実装者またはユーザーによるそのような独自の権利の使用のための一般的なライセンスまたは許可を取得するための試みの結果を取得できます。http://www.ietf.org/iprのIETFオンラインIPRリポジトリから。
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
IETFは、関心のある当事者に、著作権、特許、または特許出願、またはこの基準を実装するために必要なテクノロジーをカバーする可能性のあるその他の独自の権利を注意深く招待します。ietf-ipr@ietf.orgのIETFへの情報をお問い合わせください。