[要約] RFC 5257は、Internet Message Access Protocol(IMAP)の拡張であるANNOTATE Extensionについての仕様です。この拡張の目的は、IMAPサーバー上のメッセージに注釈を付けるための機能を提供することです。
Network Working Group C. Daboo Request for Comments: 5257 Apple Inc. Category: Experimental R. Gellens QUALCOMM Incorporated June 2008
Internet Message Access Protocol - ANNOTATE Extension
インターネットメッセージアクセスプロトコル-Notate Extension
Status of This Memo
本文書の位置付け
This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.
このメモは、インターネットコミュニティの実験プロトコルを定義します。いかなる種類のインターネット標準を指定しません。改善のための議論と提案が要求されます。このメモの配布は無制限です。
Abstract
概要
The ANNOTATE extension to the Internet Message Access Protocol permits clients and servers to maintain "meta data" for messages, or individual message parts, stored in a mailbox on the server. For example, this can be used to attach comments and other useful information to a message. It is also possible to attach annotations to specific parts of a message, so that, for example, they could be marked as seen, or important, or a comment added.
インターネットメッセージアクセスプロトコルへのアノテート拡張機能により、クライアントとサーバーは、サーバー上のメールボックスに保存されているメッセージまたは個々のメッセージパーツの「メタデータ」を維持できます。たとえば、これはコメントやその他の有用な情報をメッセージに添付するために使用できます。また、メッセージの特定の部分に注釈を添付することも可能です。たとえば、それらは、見られるように、または重要な、またはコメントを追加することができます。
Note that this document was the product of a WG that had good consensus on how to approach the problem. Nevertheless, the WG felt it did not have enough information on implementation and deployment hurdles to meet all of the requirements of a Proposed Standard. The IETF solicits implementations and implementation reports in order to make further progress.
このドキュメントは、問題にアプローチする方法について良いコンセンサスを持っていたWGの産物であることに注意してください。それにもかかわらず、WGは、提案された基準のすべての要件を満たすために、実装および展開ハードルに関する十分な情報がないと感じました。IETFは、さらなる進歩を遂げるために実装と実装レポートを求めます。
Implementers should be aware that this specification may change in an incompatible manner when going to Proposed Standard status. However, any incompatible changes will result in a new capability name being used to prevent problems with any deployments of the experimental extension.
実装者は、提案された標準ステータスに行く場合、この仕様が互換性のない方法で変更される可能性があることに注意する必要があります。ただし、互換性のない変更は、実験的拡張の展開の問題を防ぐために新しい機能名を使用します。
Table of Contents
目次
1. Introduction and Overview .......................................3 2. Conventions Used in This Document ...............................4 3. Data Model ......................................................4 3.1. Overview ...................................................4 3.2. Namespace of Entries and Attributes ........................4 3.2.1. Entry Names .........................................5 3.2.2. Attribute Names .....................................7 3.3. Private Versus Shared ......................................7 3.4. Access Control .............................................8 3.5. Access to Standard IMAP Flags and Keywords ................11 4. IMAP Protocol Changes ..........................................11 4.1. General Considerations ....................................11 4.2. ANNOTATE Parameter with the SELECT/EXAMINE Commands .......12 4.3. ANNOTATION Message Data Item in FETCH Command .............12 4.4. ANNOTATION Message Data Item in FETCH Response ............14 4.5. ANNOTATION Message Data Item in STORE .....................16 4.6. ANNOTATION Interaction with COPY ..........................18 4.7. ANNOTATION Message Data Item in APPEND ....................18 4.8. ANNOTATION Criterion in SEARCH ............................19 4.9. ANNOTATION Key in SORT ....................................20 4.10. New ACL Rights ...........................................21 5. Formal Syntax ..................................................21 6. IANA Considerations ............................................23 6.1. Entry and Attribute Registration Template .................23 6.2. Entry Registrations .......................................24 6.2.1. /comment ...........................................24 6.2.2. /flags .............................................24 6.2.3. /altsubject ........................................25 6.2.4. /<section-part>/comment ............................25 6.2.5. /<section-part>/flags/seen .........................26 6.2.6. /<section-part>/flags/answered .....................26 6.2.7. /<section-part>/flags/flagged ......................27 6.2.8. /<section-part>/flags/forwarded ....................27 6.3. Attribute Registrations ...................................28 6.3.1. value ..............................................28 6.3.2. size ...............................................28 6.4. Capability Registration ...................................28 7. Internationalization Considerations ............................29 8. Security Considerations ........................................29 9. References .....................................................29 9.1. Normative References ......................................29 9.2. Informative References ....................................30 10. Acknowledgments ...............................................30
The ANNOTATE extension is present in any IMAP [RFC3501] implementation that returns "ANNOTATE-EXPERIMENT-1" as one of the supported capabilities in the CAPABILITY response.
アノテート拡張は、「Annotate-Experiment-1」を能力応答のサポートされた機能の1つとして返すIMAP [RFC3501]の実装に存在します。
This extension makes the following changes to the IMAP protocol:
この拡張機能は、IMAPプロトコルに次の変更を加えます。
a. adds a new ANNOTATION message data item for use in FETCH.
a. フェッチで使用するための新しいアノテーションメッセージデータ項目を追加します。
b. adds a new ANNOTATION message data item for use in STORE.
b. ストアで使用する新しいアノテーションメッセージデータ項目を追加します。
c. adds a new ANNOTATION search criterion for use in SEARCH.
c. 検索で使用する新しい注釈検索基準を追加します。
d. adds a new ANNOTATION sort key for use in the SORT extension.
d. ソートエクステンションで使用するための新しいアノテーションソートキーを追加します。
e. adds a new ANNOTATION data item for use in APPEND.
e. 付録で使用する新しい注釈データ項目を追加します。
f. adds a new requirement on the COPY command.
f. コピーコマンドに新しい要件を追加します。
g. adds a new ANNOTATE parameter for use with the SELECT/EXAMINE commands.
g. 選択/検査コマンドで使用するための新しいアノテートパラメーターを追加します。
h. adds two new response codes to indicate store failures of annotations.
h. 2つの新しい応答コードを追加して、注釈のストアの故障を示す。
i. adds a new untagged response code for the SELECT or EXAMINE commands to indicate the maximum sized annotation that can be stored.
i. 選択または検査コマンドの新しいアンテグ付き応答コードを追加して、保存できる最大サイズの注釈を示します。
j. adds a new Access Control List (ACL) "bit" for use with the ACL extensions [RFC2086] and [RFC4314].
j. ACL拡張子[RFC2086]および[RFC4314]で使用するために、新しいアクセス制御リスト(ACL)「ビット」を追加します。
The data model used for the storage of annotations is based on the Application Configuration Access Protocol [RFC2244]. Note that there is no inheritance in annotations.
注釈のストレージに使用されるデータモデルは、アプリケーション構成アクセスプロトコル[RFC2244]に基づいています。注釈に継承はないことに注意してください。
If a server supports annotations, then it MUST store all annotation data permanently, i.e., there is no concept of "session only" annotations that would correspond to the behavior of "session" flags as defined in the IMAP base specification.
サーバーが注釈をサポートする場合、すべての注釈データを永続的に保存する必要があります。つまり、IMAPベース仕様で定義されている「セッション」フラグの動作に対応する「セッションのみ」注釈の概念はありません。
In order to provide optimum support for a disconnected client (one that needs to synchronize annotations for use when offline), servers SHOULD also support the Conditional STORE [RFC4551] extension.
切断されたクライアントに最適なサポートを提供するために(オフラインで使用するために注釈を同期する必要があるもの)、サーバーは条件付きストア[RFC4551]拡張機能もサポートする必要があります。
The rest of this document describes the data model and protocol changes more rigorously.
このドキュメントの残りの部分は、データモデルとプロトコルの変更についてより厳密に説明しています。
The examples in this document use "C:" and "S:" to indicate lines sent by the client and server, respectively.
このドキュメントの例では、「C:」と「S:」を使用して、それぞれクライアントとサーバーから送信された行を示します。
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].
「必須」、「そうしない」、「必須」、「shall」、「shall "、" ingle "、" should "、" not "、" becommended "、" bay "、および「optional」は、[RFC2119]に記載されているように解釈される。
The data model for annotations in ANNOTATE uses a uniquely named entry that contains a set of standard attributes. Thus, a single coherent unit of "meta data" for a message is stored as a single entry, made up of several attributes.
注釈の注釈のデータモデルは、一連の標準属性を含むユニークな名前のエントリを使用します。したがって、メッセージの「メタデータ」の単一のコヒーレントユニットは、いくつかの属性で構成される単一のエントリとして保存されます。
For example, a comment annotation added to a message has an entry name of "/comment". This entry is composed of several attributes such as "value", "size", etc., that contain the properties and data of the entry.
たとえば、メッセージに追加されたコメントアノテーションには、「/コメント」のエントリ名があります。このエントリは、エントリのプロパティとデータを含む「値」、「サイズ」などのいくつかの属性で構成されています。
The protocol changes to IMAP, described below, allow a client to access or change the values of any attribute in any entry in a message annotation, assuming it has sufficient access rights to do so (see Section 3.4 for specifics).
以下で説明するIMAPのプロトコルの変更は、クライアントがメッセージアノテーションのエントリ内の任意の属性の値にアクセスまたは変更できるようにします。
A message may contain zero or more annotations, each of which is a single uniquely named entry. Each entry has a hierarchical name, with each component of the name separated by a slash ("/"). An entry name MUST NOT contain two consecutive "/" characters and MUST NOT end with a "/" character.
メッセージにはゼロ以上の注釈が含まれる場合があり、それぞれが単一の独自の名前のエントリです。各エントリには階層名があり、名前の各コンポーネントはスラッシュ( "/")で区切られています。エントリ名には2つの連続した「/」文字が含まれていない必要があり、「/」文字で終了してはなりません。
Each entry is made up of a set of attributes. Each attribute has a hierarchical name, with each component of the name separated by a period ("."). An attribute name MUST NOT contain two consecutive "." characters and MUST NOT end with a "." character.
各エントリは、一連の属性で構成されています。各属性には階層名があり、名前の各コンポーネントはピリオド( "。")で区切られています。属性名には2つの連続した「」を含めてはなりません。キャラクターであり、「」で終わらないでください。キャラクター。
The value of an attribute is "NIL" (has no value), or is a string of zero or more octets.
属性の値は「nil」(値がない)、またはゼロ以上のオクテットの文字列です。
Entry and attribute names MUST NOT contain asterisk ("*") or percent ("%") characters, and MUST NOT contain non-ASCII characters or the NULL octet. Invalid entry or attribute names result in a BAD response in any IMAP commands where they are used.
エントリおよび属性名には、アスタリスク( "*")またはパーセント( "%")文字が含まれていないか、非ASCII文字またはnullオクテットを含めてはなりません。無効なエントリまたは属性名は、それらが使用されている場合のIMAPコマンドで悪い応答をもたらします。
Attribute names MUST NOT contain any hierarchical components with the names "priv" or "shared", as those have special meaning (see Section 3.3).
属性名には、特別な意味があるため、「priv」または「共有」という名前の階層コンポーネントを含めてはなりません(セクション3.3を参照)。
Entry and attribute names are case-sensitive.
エントリと属性名はケースに敏感です。
Use of control or punctuation characters in entry and attribute names is strongly discouraged.
エントリおよび属性名での制御文字または句読文字の使用は、強く落胆しています。
This specification defines an initial set of entry and attribute names available for use in message annotations. In addition, an extension mechanism is described to allow additional names to be added as needed.
この仕様は、メッセージアノテーションで使用できるエントリおよび属性名の初期セットを定義します。さらに、必要に応じて追加の名前を追加できるようにするために、拡張メカニズムが説明されています。
Entry names MUST be specified in a standards track or IESG approved experimental RFC, or fall under the vendor namespace. See Section 6.1 for the registration template.
エントリ名は、標準トラックまたはIESG承認の実験RFCで指定するか、ベンダー名の下に該当する必要があります。登録テンプレートについては、セクション6.1を参照してください。
/ Defines the top-level of entries associated with an entire message. This entry itself does not contain any attributes. All entries that start with a numeric character ("0" - "9") refer to an annotation on a specific body part. All other entries are for annotations on the entire message.
/メッセージ全体に関連付けられたトップレベルのエントリを定義します。このエントリ自体には属性が含まれていません。数値文字( "0" - "9")で始まるすべてのエントリは、特定のボディ部分の注釈を指します。他のすべてのエントリは、メッセージ全体の注釈用です。
/comment Defines a comment or note associated with an entire message.
/コメントは、メッセージ全体に関連付けられたコメントまたはメモを定義します。
/flags This entry hierarchy is reserved for future use.
/フラグこのエントリ階層は、将来の使用のために予約されています。
/altsubject Contains text supplied by the message recipient to be used by the client, instead of the original message Subject.
/altSubjectには、元のメッセージサブジェクトの代わりに、クライアントが使用するメッセージ受信者が提供するテキストが含まれています。
/vendor/<vendor-token> Defines the top-level of entries associated with an entire message as created by a particular product of some vendor. These sub-entries can be used by vendors to provide client-specific annotations. The vendor-token MUST be registered with IANA, using the [RFC2244] vendor subtree registry.
/ベンダー/<ベンダートークン>一部のベンダーの特定の製品によって作成されたメッセージ全体に関連付けられたエントリのトップレベルを定義します。これらのサブエントリは、ベンダーがクライアント固有の注釈を提供するために使用できます。ベンダートークンは、[RFC2244]ベンダーサブツリーレジストリを使用して、IANAに登録する必要があります。
/<section-part> Defines the top-level of entries associated with a specific body part of a message. This entry itself does not contain any attributes. The section-part is a numeric part specifier. Its syntax is the same as the section-part ABNF element defined in [RFC3501]. The server MUST return a BAD response if the client uses an incorrect part specifier (either incorrect syntax or a specifier referring to a non-existent part). The server MUST return a BAD response if the client uses an empty part specifier (which is used in IMAP to represent the entire message).
/<セクションパート>メッセージの特定のボディ部分に関連付けられたトップレベルのエントリを定義します。このエントリ自体には属性が含まれていません。セクションパートは数値部品指定子です。その構文は、[RFC3501]で定義されているセクションパートABNF要素と同じです。サーバーは、クライアントが誤った部品指定子(誤った構文または存在しない部品を参照する指定者のいずれか)を使用する場合、悪い応答を返す必要があります。サーバーは、クライアントが空のパーツ仕様(メッセージ全体を表すためにIMAPで使用される)を使用する場合、悪い応答を返す必要があります。
/<section-part>/comment Defines a comment or note associated with a specific body part of a message.
/<セクションパート>/コメントは、メッセージの特定のボディ部分に関連付けられたコメントまたはメモを定義します。
/<section-part>/flags Defines the top-level of entries associated with the flag state for a specific body part of a message. All sub-entries are maintained entirely by the client. There is no implicit change to any flag by the server.
/<セクションパート>/フラグは、メッセージの特定のボディ部分について、フラグ状態に関連付けられているトップレベルのエントリを定義します。すべてのサブエントリは、クライアントによって完全に維持されます。サーバーによるフラグに暗黙的な変更はありません。
/<section-part>/flags/seen This is similar to the IMAP \Seen flag, except it applies to only the body part referenced by the entry.
/<セクションパート>/flags/seedこれは、エントリで参照される身体部分のみに適用される場合を除き、IMAP \ seedフラグに似ています。
/<section-part>/flags/answered This is similar to the IMAP \Answered flag, except it applies to only the body part referenced by the entry.
/<セクションパート>/flags/回答これは、エントリで参照される身体部分のみに適用される場合を除き、IMAP \回答済みフラグに似ています。
/<section-part>/flags/flagged This is similar to the IMAP \Flagged flag, except it applies to only the body part referenced by the entry.
/<セクションパート>/フラグのフラグこれは、エントリで参照される身体部分のみに適用される場合を除き、IMAP \フラグのフラグに似ています。
/<section-part>/flags/forwarded This is similar to the IMAP $Forwarded keyword, except it applies to only the body part referenced by the entry.
/<セクションパート>/flags/転送これは、エントリによって参照される身体部分のみに適用される場合を除き、IMAP $転送キーワードに似ています。
Defines flags for a specific body part of a message. The "value" attribute of each of the entries described above must be either "1", "0", or "NIL". "1" corresponds to the flag being set.
メッセージの特定のボディ部分のフラグを定義します。上記の各エントリの「値」属性は、「1」、「0」、または「nil」のいずれかでなければなりません。「1」は設定されているフラグに対応します。
/<section-part>/vendor/<vendor-token> Defines the top-level of entries associated with a specific body part of a message as created by a particular product of some vendor. This entry can be used by vendors to provide client specific annotations. The vendor-token MUST be registered with IANA.
/<セクションパート>/ベンダー/<ベンダートークン>いくつかのベンダーの特定の製品によって作成されたメッセージの特定のボディ部分に関連付けられたトップレベルのエントリを定義します。このエントリは、ベンダーがクライアント固有の注釈を提供するために使用できます。ベンダートークンはIANAに登録する必要があります。
Attribute names MUST be specified in a standards track or IESG approved experimental RFC. See Section 6.1 for the registration template.
属性名は、標準トラックまたはIESG承認の実験RFCで指定する必要があります。登録テンプレートについては、セクション6.1を参照してください。
All attribute names implicitly have a ".priv" and a ".shared" suffix that maps to private and shared versions of the entry. Searching or fetching without using either suffix will include both. The client MUST specify either a ".priv" or ".shared" suffix when storing an annotation or sorting on annotations.
すべての属性名には、エントリのプライベートバージョンと共有バージョンにマップする「.priv」と「shared」の接尾辞が暗黙的にあります。いずれかの接尾辞を使用せずに検索またはフェッチするには、両方が含まれます。クライアントは、注釈または並べ替えを保存するときに、「.priv」または「.shared」接尾辞を指定する必要があります。
value A string or binary data representing the value of the annotation. To delete an annotation, the client can store "NIL" into the value. If the client requests the value attribute for a non-existent entry, then the server MUST return "NIL" for the value. The content represented by the string is determined by the content-type used to register the entry (see Section 6.1 for entry registration templates). Where applicable, the registered content-type MUST include a charset parameter. Text values SHOULD use the utf-8 [RFC3629] character set. Note that binary data (data which may contain the NULL octet) is allowed (e.g., for storing images), and this extension uses the "literal8" syntax element [RFC4466] to allow such data to be written to or read from the server.
値注釈の値を表す文字列またはバイナリデータ。注釈を削除するには、クライアントは「nil」を値に保存できます。クライアントが存在しないエントリに対して値属性を要求する場合、サーバーは値に対して「nil」を返す必要があります。文字列で表されるコンテンツは、エントリの登録に使用されるコンテンツタイプによって決定されます(エントリ登録テンプレートについてはセクション6.1を参照)。該当する場合、登録されたコンテンツタイプにはcharsetパラメーターを含める必要があります。テキスト値は、UTF-8 [RFC3629]文字セットを使用する必要があります。バイナリデータ(nullオクテットを含む可能性のあるデータ)が許可されていること(例:画像を保存する場合)であり、この拡張機能は「literal8」構文要素[RFC4466]を使用して、そのようなデータをサーバーに書き込んだり読み取ったりすることができることに注意してください。
size The size of the value, in octets. Set automatically by the server, read-only to clients. If the client requests the size attribute for a non-existent entry, then the server MUST return "0" (zero) for the size.
オクテットの値のサイズのサイズ。サーバーによって自動的に設定され、クライアントにのみ読み取ります。クライアントが存在しないエントリのサイズ属性を要求する場合、サーバーはサイズに対して「0」(ゼロ)を返す必要があります。
Some IMAP mailboxes are private, accessible only to the owning user. Other mailboxes are not, either because the owner has set an ACL [RFC4314] that permits access by other users, or because it is a shared mailbox.
一部のIMAPメールボックスはプライベートで、所有者のユーザーのみがアクセスできます。他のメールボックスも、他のユーザーによるアクセスを許可するACL [RFC4314]を設定しているため、または共有のメールボックスであるためです。
This raises the issue of shared versus private annotations.
これにより、共有とプライベートの注釈の問題が発生します。
If all annotations are private, it is then impossible to have annotations in a shared or otherwise non-private mailbox be visible to other users. This eliminates what could be a useful aspect of annotations in a shared environment. An example of such use is a shared IMAP folder containing bug reports. Engineers may want to use annotations to add information to existing messages, indicate assignments, status, etc. This use requires shared annotations.
すべての注釈がプライベートである場合、共有または非プライベートのメールボックスに注釈を他のユーザーに表示することは不可能です。これにより、共有環境での注釈の有用な側面になる可能性があるものが排除されます。このような使用の例は、バグレポートを含む共有IMAPフォルダーです。エンジニアは、注釈を使用して既存のメッセージに情報を追加し、割り当て、ステータスなどを示したい場合があります。この使用には共有注釈が必要です。
If all annotations are shared, it is impossible to use annotations for private notes on messages in shared mailboxes. Also, modifying an ACL to permit access to a mailbox by other users may unintentionally expose private information.
すべての注釈が共有されている場合、共有メールボックスのメッセージに関するプライベートノートに注釈を使用することは不可能です。また、他のユーザーによるメールボックスへのアクセスを許可するためにACLを変更すると、意図せずに個人情報が公開される場合があります。
There are also situations in which both shared and private annotations are useful. For example, an administrator may want to set shared annotations on messages in a shared folder, which individual users may wish to supplement with additional notes.
共有アノテーションとプライベート注釈の両方が役立つ状況もあります。たとえば、管理者は、共有フォルダー内のメッセージに共有注釈を設定することをお勧めします。
If shared and private annotations are to coexist, we need a clear way to differentiate them. Also, it should be as easy as possible for a client to access both and not overlook either. There is also a danger in allowing a client to store an annotation without knowing if it is shared or private.
共有およびプライベート注釈が共存する場合、それらを区別する明確な方法が必要です。また、クライアントが両方にアクセスし、見落としていないことも、できるだけ簡単にする必要があります。また、クライアントが共有されているかプライベートであるかを知らずに、クライアントが注釈を保存できるようにすることにも危険があります。
This document proposes two standard suffixes for all attributes: ".shared" and ".priv". A SEARCH or FETCH command that specifies neither, uses both. STORE, APPEND, and SORT commands MUST explicitly use ".priv" or ".shared" suffixes.
このドキュメントでは、すべての属性の2つの標準サフィックスを提案します: ".shared"および ".priv"。どちらも指定しない検索またはフェッチコマンドは、両方を使用します。コマンドを保存、追加、および並べ替えて、「.priv」または「.shared」接尾辞を明示的に使用する必要があります。
If the ANNOTATE extension is present, support for shared annotations in servers is REQUIRED, while support for private annotations in servers is OPTIONAL. This recognizes the fact that support for private annotations may introduce a significant increase in complexity to a server in terms of tracking ownership of the annotations, how quota is determined for users based on their own annotations, etc. Clients that support the ANNOTATE extension MUST handle both shared and private annotations.
アノテート拡張機能が存在する場合、サーバーでの共有注釈のサポートが必要ですが、サーバーでのプライベート注釈のサポートはオプションです。これは、プライベートアノテーションのサポートが、注釈の所有権を追跡するという観点からサーバーに複雑さの大幅な増加をもたらす可能性があるという事実、独自の注釈に基づいてユーザーのクォータの決定など。共有注釈とプライベートの両方の注釈。
A user needs to have appropriate rights in order to read or write ".priv" or ".shared" annotation values. How those rights are calculated depends on whether or not the ACL [RFC2086] extension or its update [RFC4314] is present. If a client attempts to store or fetch an annotation to which they do not have the appropriate rights, the server MUST respond with a NO response.
ユーザーは、「.priv」または「.shared」注釈値を読み書きするために適切な権利を持つ必要があります。これらの権利の計算方法は、ACL [RFC2086]拡張またはその更新[RFC4314]が存在するかどうかによって異なります。クライアントが適切な権利を持っていない注釈を保存またはフェッチしようとする場合、サーバーは応答なしで応答する必要があります。
When the ACL extension is not present, access to annotation values is governed by the nature of the selected state, in particular whether the mailbox was SELECTED or EXAMINED in READ-ONLY or READ-WRITE mode.
ACL拡張機能が存在しない場合、注釈値へのアクセスは、選択した状態の性質によって支配されます。特に、メールボックスが選択されたか、読み取り専用または読み取りワイトモードで検査されたかどうか。
When the ACL extension is present, the server MUST recognize the new ACL "n" right, in addition to the ones defined by the ACL extension itself.
ACL拡張機能が存在する場合、サーバーはACL拡張自体によって定義されたものに加えて、新しいACL "n"を正しく認識する必要があります。
For ".priv" annotation values, the "r" right controls both read and write access. When it is on, access to ".priv" annotations is allowed; when it is off, access to ".priv" annotations is disallowed.
「.priv」注釈の値の場合、「r」は読み取りアクセスと書き込みアクセスの両方を制御します。オンになると、「.priv」アノテーションへのアクセスが許可されます。オフになると、「.priv」アノテーションへのアクセスは許可されていません。
For ".shared" annotation values, the "r" right controls read access. When it is on, ".shared" annotations can be read; when it is off, ".shared" annotations cannot be read.
".shared"注釈の値の場合、「r」右制御はアクセスを読み取ります。それがオンになっているとき、「.hared "注釈を読むことができます。オフになったとき、「.hared」注釈は読み取れません。
For ".shared" annotation values, the "n" right controls write access. When it is on, ".shared" annotations can be changed or created through either a STORE or APPEND command; when it is off, ".shared" annotations cannot be changed or created. The "n" right constitutes a "shared flag right" as defined in Section 6.2 of [RFC4314].
for ".shared"注釈の値、「n」は書き込みアクセスを制御します。「.shared」 "shared"アノテーションは、ストアまたは追加コマンドのいずれかを介して変更または作成できます。オフになったとき、「.hared」アノテーションは変更または作成することはできません。「n」の右は、[RFC4314]のセクション6.2で定義されているように、「共有フラグ右」を構成します。
A summary of all the access control restrictions is tabulated below
すべてのアクセス制御制限の概要を以下に示します
+---------------+---------------+-----------------------------------+ | Server Type | Action on | Type of mailbox | | | annotation | | +===============+===============+===================================+ | | | | | | read .priv | Any mailbox that can be SELECTED | | | values | or EXAMINED. | | | | | | +---------------+-----------------------------------+ | | | | | | write .priv | Any SELECTED [READ-WRITE] mailbox.| | | values | SELECTED [READ-ONLY] mailboxes MAY| | Server | | also permit writes. | | without | | | | ACL Extension +---------------+-----------------------------------+ | | | | | | read .shared | Any mailbox that can be SELECTED | | | values | or EXAMINED. | | | | | | +---------------+-----------------------------------+ | | | | | | write .shared | Any mailbox that can be SELECTED | | | values | or EXAMINED and is [READ-WRITE]. | | | | | +---------------+---------------+-----------------------------------+ | | | | | | read .priv | Any mailbox with the "r" | | | values | ACL right. | | | | | | +---------------+-----------------------------------+ | | | | | | write .priv | Any mailbox with the "r" | | Server | values | ACL right. | | with | | | | ACL Extension +---------------+-----------------------------------+ | | | | | | read .shared | Any mailbox with the "r" | | | values | ACL right. | | | | | | +---------------+-----------------------------------+ | | | | | | write .shared | Any mailbox with the "n" | | | values | ACL right. | | | | | +---------------+---------------+-----------------------------------+
Due to the ambiguity of how private and shared values would map to the base IMAP flag and keyword values, the ANNOTATE extension does not expose IMAP flags or keywords as entries. However, the /flags annotation entry is reserved for future use and MUST NOT be used by clients or servers supporting this extension.
プライベート値と共有値がどのようにベースIMAPフラグとキーワード値にマッピングされるかが曖昧であるため、Anonotate拡張機能はIMAPフラグまたはキーワードをエントリとして公開しません。ただし、 /Flagsアノテーションエントリは将来の使用のために予約されており、この拡張機能をサポートするクライアントまたはサーバーが使用してはなりません。
Clients that need to implement shared and private "flags" can create their own annotation entries for those, completely bypassing the base IMAP flag/keyword behavior.
共有およびプライベートの「フラグ」を実装する必要があるクライアントは、それらのために独自の注釈エントリを作成し、ベースIMAPフラグ/キーワード動作を完全にバイパスできます。
Servers may be able to offer only a limited level of support for annotations in mailboxes, and it is useful for clients to be able to know what level of support is available. Servers MUST return an ANNOTATIONS response code during the SELECT or EXAMINE command for a mailbox to indicate the level of support. Possible data items used with the ANNOTATIONS response code are:
サーバーは、メールボックスでの注釈のための限られたレベルのサポートのみを提供できる場合があり、クライアントがどのレベルのサポートが利用可能かを知ることができます。サーバーは、サポートのレベルを示すために、電子メールボックスの選択中にアノテーション応答コードを返す必要があります。注釈応答コードで使用される考えられるデータ項目は次のとおりです。
"NONE" - this indicates that the mailbox being selected does not support annotations at all. Clients MUST NOT attempt to use annotation extensions in commands for this mailbox.
「なし」 - これは、選択されているメールボックスが注釈をまったくサポートしていないことを示しています。クライアントは、このメールボックスのコマンドで注釈拡張機能を使用しようとしてはなりません。
"READ-ONLY" - this indicates that the annotations supported by the mailbox cannot be changed by the client. Clients MUST NOT attempt to store annotations on any messages in a mailbox with this response code.
「読み取り専用」 - これは、メールボックスでサポートされている注釈がクライアントが変更できないことを示しています。クライアントは、この応答コードを使用して、メールボックスにメッセージに注釈を保存しようとしてはなりません。
"NOPRIVATE" - this indicates that the server does not support private annotations on the mailbox. Only shared annotations are supported. Clients SHOULD only attempt to read or store annotations attributes with the ".shared" suffix. If a client uses an attribute with the ".priv" suffix in a FETCH command, then servers should return the attribute value in the FETCH response as "NIL". If a client uses an attribute with the ".priv" suffix in a STORE command (or an APPEND command targeted at the mailbox), then the server MUST return a NO response.
「Noprivate」 - これは、サーバーがメールボックスのプライベート注釈をサポートしていないことを示しています。共有の注釈のみがサポートされています。クライアントは、「.hared」サフィックスを使用して、注釈属性の読み取りまたは保存を試みる必要があります。クライアントがFetchコマンドに「.Priv」接尾辞を使用して属性を使用する場合、サーバーはFetch Responseの属性値を「nil」として返す必要があります。クライアントがストアコマンドに「.priv」接尾辞を使用して属性(またはメールボックスをターゲットにした追加コマンド)を使用している場合、サーバーは応答なしを返す必要があります。
numeric values - if servers support writable annotations, then the server MUST indicate the maximum size in octets for an annotation value by providing the maximum size value in the response code. Clients MUST NOT store annotation values of a size greater than the amount indicated by the server. Servers MUST accept a minimum annotation data size of at least 1024 octets if annotations can be written.
数値 - サーバーが書き込み可能な注釈をサポートする場合、サーバーは、応答コードに最大サイズ値を提供することにより、注釈値のオクテットの最大サイズを示す必要があります。クライアントは、サーバーが示す量よりも大きいサイズの注釈値を保存してはなりません。アノテーションを書くことができる場合、サーバーは少なくとも1024オクテットの最小注釈データサイズを受け入れる必要があります。
In addition, the server MAY limit the total number of annotations for a single message. However, the server MUST provide a minimum annotation count per message of at least 10.
さらに、サーバーは、単一のメッセージの注釈の総数を制限する場合があります。ただし、サーバーは、少なくとも10のメッセージごとに最小注釈数を提供する必要があります。
The ANNOTATE extension defines a single optional SELECT parameter [RFC4466] "ANNOTATE", which is used to turn on unsolicited responses for annotations as described in Section 4.4. This optional parameter results in a per-mailbox state change, i.e., it must be used in each SELECT/EXAMINE command in order to be effective, irrespective of whether it was used in a previous SELECT/EXAMINE during the same session.
Annotate拡張子は、セクション4.4で説明されているように、注釈の未承諾応答をオンにするために使用される単一のオプションの選択パラメーター[RFC4466]「注釈」を定義します。このオプションのパラメーターは、メイルボックスごとの状態の変更をもたらします。つまり、同じセッション中に以前の選択/検査で使用されていたかどうかに関係なく、効果的であるために各選択/検査コマンドで使用する必要があります。
Example:
例:
C: a SELECT INBOX (ANNOTATE) S: * FLAGS (\Answered \Flagged \Draft \Deleted \Seen) S: * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] S: * 10268 EXISTS S: * 1 RECENT S: * OK [UNSEEN 10268] S: * OK [UIDVALIDITY 890061587] S: * OK [UIDNEXT 34643] S: * OK [ANNOTATIONS 20480 NOPRIVATE] S: a OK [READ-WRITE] Completed
In the above example, a SELECT command with the ANNOTATE parameter is issued. The response from the server includes the required ANNOTATIONS response that indicates that the server supports annotations up to a maximum size of 20480 octets, and does not support private annotations (only shared).
上記の例では、アノテートパラメーターを含む選択コマンドが発行されます。サーバーからの応答には、サーバーが最大サイズ20480オクテットまでの注釈をサポートし、プライベートアノテーション(共有のみ)をサポートしていないことを示す必要な注釈応答が含まれています。
This extension adds an ANNOTATION message data item to the FETCH command. This allows clients to retrieve annotations for a range of messages in the currently selected mailbox.
この拡張子は、注釈メッセージデータ項目をFetchコマンドに追加します。これにより、クライアントは現在選択されているメールボックス内のさまざまなメッセージの注釈を取得できます。
ANNOTATION <entry-specifier> <attribute-specifier>
The ANNOTATION message data item, when used by the client in the FETCH command, takes an entry specifier and an attribute specifier.
Annotationメッセージデータ項目は、Fetchコマンドでクライアントが使用する場合、エントリ仕様と属性仕様を取ります。
Example:
例:
C: a FETCH 1 (ANNOTATION (/comment value)) S: * 1 FETCH (ANNOTATION (/comment (value.priv "My comment" value.shared "Group note"))) S: a OK Fetch complete
In the above example, the content of the "value" attribute for the "/comment" entry is requested by the client and returned by the server. Since neither ".shared" nor ".priv" was specified, both are returned.
上記の例では、「/コメント」エントリの「値」属性のコンテンツがクライアントによって要求され、サーバーによって返されます。「.hared」も「.priv」も指定されていないため、両方が返されます。
"*" and "%" wild card characters can be used in entry specifiers to match one or more characters at that position, with the exception that "%" does not match the "/" hierarchy delimiter. Thus, an entry specifier of "/%" matches entries such as "/comment" and "/altsubject", but not "/1/comment".
「*」および「%」ワイルドカードの文字は、「%」が「/」ヒエラルキーデリミッターと一致しないことを除いて、その位置の1つ以上の文字を一致させるために入力仕様で使用できます。したがって、「/%」のエントリ仕様は、「/コメント」や「/altSubject」などのエントリと一致しますが、「/1/コメント」ではなく一致します。
Example:
例:
C: a UID FETCH 1123 (UID ANNOTATION (/* (value.priv size.priv))) S: * 12 FETCH (UID 1123 ANNOTATION (/comment (value.priv "My comment" size.priv "10") /altsubject (value.priv "Rhinoceroses!" size.priv "13") /vendor/foobar/label.priv (value.priv "label43" size.priv "7") /vendor/foobar/personality (value.priv "Tallulah Bankhead" size.priv "17"))) S: a OK Fetch complete
In the above example, the contents of the private "value" and "size" attributes for any entries in the "/" hierarchy are requested by the client and returned by the server.
上記の例では、「/」階層のエントリのプライベート「値」と「サイズ」属性の内容がクライアントによって要求され、サーバーによって返されます。
Example:
例:
C: a FETCH 1 (ANNOTATION (/% value.shared)) S: * 1 FETCH (ANNOTATION (/comment (value.shared "Patch Mangler") /altsubject (value.shared "Patches? We don't need no steenkin patches!"))) S: a OK Fetch complete
In the above example, the contents of the shared "value" attributes for entries at the top level only of the "/" hierarchy are requested by the client and returned by the server.
上記の例では、「/」階層のみのトップレベルでのエントリの共有「値」属性の内容は、クライアントによって要求され、サーバーによって返されます。
Entry and attribute specifiers can be lists of atomic specifiers, so that multiple items of each type may be returned in a single FETCH command.
エントリと属性の仕様は、アトミック仕様のリストにすることができるため、各タイプの複数のアイテムを単一のFetchコマンドで返すことができます。
Example:
例:
C: a FETCH 1 (ANNOTATION ((/comment /altsubject) value.priv)) S: * 1 FETCH (ANNOTATION (/comment (value.priv "What a chowder-head") /altsubject (value.priv "How to crush beer cans"))) S: a OK Fetch complete
In the above example, the contents of the private "value" attributes for the two entries "/comment" and "/altsubject" are requested by the client and returned by the server.
上記の例では、2つのエントリ「/コメント」と「/altSubject」のプライベート「値」属性の内容がクライアントによって要求され、サーバーによって返されます。
The ANNOTATION message data item in the FETCH response displays information about annotations in a message.
Fetch Responseの注釈メッセージデータ項目には、メッセージ内の注釈に関する情報が表示されます。
ANNOTATION parenthesized list
注釈の括弧付きリスト
The response consists of a list of entries, each of which have a list of attribute-value pairs.
応答は、エントリのリストで構成されており、それぞれに属性値ペアのリストがあります。
Example:
例:
C: a FETCH 1 (ANNOTATION (/comment value)) S: * 1 FETCH (ANNOTATION (/comment (value.priv "My comment" value.shared NIL))) S: a OK Fetch complete
In the above example, a single entry with a single attribute-value pair is returned by the server. Since the client did not specify a ".shared" or ".priv" suffix, both are returned. Only the private attribute has a value (the shared value is "NIL").
上記の例では、サーバーによって単一の属性値ペアを持つ単一のエントリが返されます。クライアントは「.shared」または「.priv」接尾辞を指定していないため、両方が返されます。プライベート属性のみが値を持っています(共有値は「nil」です)。
Example:
例:
C: a FETCH 1 (ANNOTATION ((/comment /altsubject) value)) S: * 1 FETCH (ANNOTATION (/comment (value.priv "My comment" value.shared NIL) /altsubject (value.priv "My subject" value.shared NIL))) S: a OK Fetch complete
In the above example, two entries, each with a single attribute-value pair, are returned by the server. Since the client did not specify a ".shared" or ".priv" suffix, both are returned. Only the private attributes have values; the shared attributes are "NIL".
上記の例では、それぞれ1つの属性値ペアを持つ2つのエントリがサーバーによって返されます。クライアントは「.shared」または「.priv」接尾辞を指定していないため、両方が返されます。プライベート属性のみが値を持っています。共有属性は「nil」です。
Example:
例:
C: a FETCH 1 (ANNOTATION (/comment (value size))) S: * 1 FETCH (ANNOTATION (/comment (value.priv "My comment" value.shared NIL size.priv "10" size.shared "0"))) S: a OK Fetch complete
In the above example, a single entry with two attribute-value pairs is returned by the server. Since the client did not specify a ".shared" or ".priv" suffix, both are returned. Only the private attributes have values; the shared attributes are "NIL".
上記の例では、2つの属性値ペアを持つ単一のエントリがサーバーによって返されます。クライアントは「.shared」または「.priv」接尾辞を指定していないため、両方が返されます。プライベート属性のみが値を持っています。共有属性は「nil」です。
Servers SHOULD send ANNOTATION message data items in unsolicited FETCH responses if an annotation entry is changed by a third-party, and the ANNOTATE select parameter was used. This allows servers to keep clients updated with changes to annotations by other clients.
サーバーは、アノテーションエントリがサードパーティによって変更され、アノテート選択パラメーターが使用された場合、アノテーションメッセージデータ項目を未承諾のフェッチ応答で送信する必要があります。これにより、サーバーは他のクライアントによる注釈の変更でクライアントを最新の状態に保つことができます。
Unsolicited ANNOTATION responses MUST NOT include ANNOTATION data values -- only the entry name of the ANNOTATION that has changed. This restriction avoids sending ANNOTATION data values (which may be large) to a client unless the client explicitly asks for the value.
未承諾の注釈応答には、注釈データ値を含めてはなりません。注釈のエントリ名のみが変更されました。この制限により、クライアントが値を明示的に要求しない限り、アノテーションデータ値(大規模な場合があります)をクライアントに送信します。
Example:
例:
C: a STORE 1 +FLAGS (\Seen) S: * 1 FETCH (FLAGS (\Seen)) ANNOTATION (/comment)) S: a OK STORE complete
In the above example, an unsolicited ANNOTATION response is returned during a STORE command. The unsolicited response contains only the entry name of the annotation that changed, and not its value.
上記の例では、ストアコマンド中に未承諾の注釈応答が返されます。未承諾の応答には、変更された注釈のエントリ名のみが含まれ、その価値ではありません。
ANNOTATION <parenthesized entry-attribute-value list>
注釈<括弧付きエントリアトリビュー値リスト>
Sets the specified list of entries by adding or replacing the specified attributes with the values provided. Clients can use "NIL" for values of attributes it wants to remove from entries.
指定された属性を提供された値に追加または置き換えることにより、指定されたエントリのリストを設定します。クライアントは、エントリから削除したい属性の値に「nil」を使用できます。
The ANNOTATION message data item used with the STORE command has an implicit ".SILENT" behavior. This means the server does not generate an untagged FETCH in response to the STORE command and assumes that the client updates its own cache if the command succeeds. Though note, that if the Conditional STORE extension [RFC4551] is present, then an untagged FETCH response with a MODSEQ data item will be returned by the server as required by [RFC4551].
Storeコマンドで使用される注釈メッセージデータ項目には、暗黙の「.silent」動作があります。これは、サーバーがStoreコマンドに応じてUntagged Fetchを生成しないことを意味し、コマンドが成功した場合、クライアントが独自のキャッシュを更新すると想定しています。ただし、条件付きストア拡張[RFC4551]が存在する場合、[RFC4551]で要求されているように、ModSeqデータ項目を使用した未積層のフェッチ応答がサーバーによって返されることに注意してください。
If the server is unable to store an annotation because the size of its value is too large, the server MUST return a tagged NO response with a "[ANNOTATE TOOBIG]" response code.
その値のサイズが大きすぎるためにサーバーが注釈を保存できない場合、サーバーは「[Annotate Toobig]」応答コードでタグ付けされた応答を返す必要があります。
If the server is unable to store a new annotation because the maximum number of allowed annotations has already been reached, the server MUST return a tagged NO response with a "[ANNOTATE TOOMANY]" response code.
許可された注釈の最大数にすでに到達しているため、サーバーが新しいアノテーションを保存できない場合、サーバーは「[アノテートトーマニー]」応答コードでタグ付けされた応答を返す必要があります。
Example:
例:
C: a STORE 1 ANNOTATION (/comment (value.priv "My new comment")) S: a OK Store complete
In the above example, the entry "/comment" is created (if not already present). Its private attribute "value" is created if not already present, or replaced if it exists. "value.priv" is set to "My new comment".
上記の例では、エントリ「/コメント」が作成されます(まだ存在していない場合)。そのプライベート属性「値」は、まだ存在していない場合に作成されるか、存在する場合は交換されます。「value.priv」は「私の新しいコメント」に設定されています。
Example:
例:
C: a STORE 1 ANNOTATION (/comment (value.shared NIL)) S: a OK Store complete
In the above example, the shared "value" attribute of the entry "/comment" is removed by storing "NIL" into the attribute.
上記の例では、属性に「nil」を保存することにより、エントリの共有「値」属性「/コメント」が削除されます。
Multiple entries can be set in a single STORE command by listing entry-attribute-value pairs in the list.
リストのエントリアトリビュー値ペアをリストすることにより、複数のエントリを単一のストアコマンドに設定できます。
Example:
例:
C: a STORE 1 ANNOTATION (/comment (value.priv "Get tix Tuesday") /altsubject (value.priv "Wots On")) S: a OK Store complete
In the above example, the entries "/comment" and "/altsubject" are created (if not already present) and the private attribute "value" is created or replaced for each entry.
上記の例では、エントリ「/コメント」と「/altSubject」が作成され(まだ存在していない場合)、各エントリのプライベート属性「値」が作成または置き換えられます。
Multiple attributes can be set in a single STORE command by listing multiple attribute-value pairs in the entry list.
エントリリストに複数の属性値ペアをリストすることにより、複数の属性を単一のストアコマンドで設定できます。
Example:
例:
C: a STORE 1 ANNOTATION (/comment (value.priv "My new comment" value.shared "foo's bar")) S: a OK Store complete
In the above example, the entry "/comment" is created (if not already present) and the private and shared "value" attributes are created if not already present, or replaced if they exist.
上記の例では、エントリ「/コメント」が作成され(まだ存在していない場合)、プライベートと共有された「値」属性がまだ存在しない場合は作成されるか、存在する場合は交換されます。
The COPY command can be used to move messages from one mailbox to another on the same server. Servers that support the ANNOTATION extension MUST, for each message being copied, copy all ".priv" annotation data for the current user only, and all ".shared" annotation data along with the message to the new mailbox. The only exceptions to this are if the destination mailbox permissions are such that either the ".priv" or ".shared" annotations are not allowed, or if the destination mailbox is of a type that does not support annotations or does not support storing of annotations (a mailbox that returns a "NONE" or "READ-ONLY" response code in its ANNOTATIONS response), or if the destination mailbox cannot support the size of an annotation because it exceeds the ANNOTATIONS value. Servers MUST NOT copy ".priv" annotation data for users other than the current user.
コピーコマンドを使用して、同じサーバー上のあるメールボックスから別のメールボックスにメッセージを移動できます。注釈拡張機能をサポートするサーバーは、コピーされる各メッセージについて、すべての「.priv」アノテーションデータを現在のユーザーのみにコピーする必要があります。これの唯一の例外は、宛先メールボックスのアクセス許可が「.priv」または「.shared」注釈が許可されていないようなものである場合、または宛先メールボックスが注釈をサポートしないか、保管をサポートしないタイプである場合です。アノテーション(注釈応答で「なし」または「読み取り専用」応答コードを返すメールボックス)、または宛先メールボックスが注釈値を超えるため、注釈のサイズをサポートできない場合。サーバーは、現在のユーザー以外のユーザーに「.priv」注釈データをコピーしてはなりません。
ANNOTATION <parenthesized entry-attribute-value list>
注釈<括弧付きエントリアトリビュー値リスト>
Sets the specified list of entries and attributes in the resulting message.
結果のメッセージに指定されたエントリと属性のリストを設定します。
The APPEND command can include annotations for the message being appended via the addition of a new append data item [RFC4466]. The new data item can also be used with the multi-append [RFC3502] extension that allows multiple messages to be appended via a single APPEND command.
追加コマンドには、新しい追加データ項目[RFC4466]の追加を介して追加されるメッセージの注釈を含めることができます。新しいデータ項目は、単一の追加コマンドを介して複数のメッセージを追加できるようにするマルチアドペンド[RFC3502]拡張機能でも使用できます。
Example:
例:
C: a APPEND drafts ANNOTATION (/comment (value.priv "Don't send until I say so")) {310} S: + Ready for literal data C: MIME-Version: 1.0 ... C: S: a OK APPEND completed
In the above example, a comment with a private value is added to a new message appended to the mailbox. The ellipsis represents the bulk of the message.
上記の例では、メールボックスに追加された新しいメッセージにプライベート値を持つコメントが追加されます。楕円はメッセージの大部分を表します。
ANNOTATION <entry-name> <attribute-name> <value>
The ANNOTATION criterion for the SEARCH command allows a client to search for a specified string in the value of an annotation entry of a message.
検索コマンドの注釈基準により、クライアントはメッセージの注釈エントリの値で指定された文字列を検索できます。
Messages that have annotations with entries matching <entry-name>, attributes matching <attribute-name>, and the specified string <value> in their values are returned in the SEARCH results. The "*" character can be used in the entry name field to match any content in those items. The "%" character can be used in the entry name field to match a single level of hierarchy only.
エントリが<Entry-Name>、属性<Attribute-Name>、およびその値の指定された文字列<value>を一致させるアノテーションがあるメッセージは、検索結果で返されます。「*」文字は、エントリ名フィールドで使用して、それらのアイテムのコンテンツを一致させることができます。「%」文字は、エントリ名のフィールドで使用して、単一のレベルの階層のみを一致させることができます。
Only the "value", "value.priv", and "value.shared" attributes can be searched. Clients MUST NOT specify an attribute other than either "value", "value.priv", or "value.shared". Servers MUST return a BAD response if the client tries to search any other attribute.
「value」、「value.priv」、および「value.shared」属性のみを検索できます。クライアントは、「値」、「value.priv」、または「value.shared」以外の属性を指定してはなりません。クライアントが他の属性を検索しようとする場合、サーバーは悪い応答を返す必要があります。
Example:
例:
C: a SEARCH ANNOTATION /comment value "IMAP4" S: * SEARCH 2 3 5 7 11 13 17 19 23 S: a OK Search complete
In the above example, the message numbers of any messages containing the string "IMAP4" in the shared or private "value" attribute of the "/comment" entry are returned in the search results.
上記の例では、「/コメント」エントリの共有またはプライベート「値」属性に文字列「IMAP4」を含むメッセージのメッセージ番号が検索結果に返されます。
Example:
例:
C: a SEARCH ANNOTATION * value.priv "IMAP4" S: * SEARCH 1 2 3 5 8 13 21 34 S: a OK Search complete
In the above example, the message numbers of any messages containing the string "IMAP4" in the private "value" attribute of any entry are returned in the search results.
上記の例では、任意のエントリのプライベート「値」属性に文字列「IMAP4」を含むメッセージのメッセージ番号が検索結果に返されます。
ANNOTATION <entry-name> <attribute-name>
The ANNOTATION criterion for the SORT command [RFC5256] instructs the server to return the sequence numbers or Unique Identifiers (UIDs) of messages in a mailbox, sorted using the values of the specified annotations. The ANNOTATION criterion is available if the server returns both ANNOTATE-EXPERIMENT-1 and SORT as supported capabilities in the CAPABILITY command response.
ソートコマンドの注釈基準[RFC5256]は、指定された注釈の値を使用してソートされたメールボックス内のメッセージのシーケンス番号または一意の識別子(UID)を返すようにサーバーに指示します。サーバーがAnnotate-Experiment-1の両方を返し、Capabilityコマンド応答のサポートされている機能としてソートする場合、注釈基準が利用可能です。
Messages are sorted using the values of the <attribute-name> attributes in the <entry-name> entries.
メッセージは、<Entry-Name>エントリの<Attribute-Name>属性の値を使用してソートされます。
Clients MUST provide either the ".priv" or ".shared" suffix to the attribute name to ensure that the server knows which specific value to sort on.
クライアントは、属性名に「.priv」または「.shared」接尾辞を提供して、サーバーがどの特定の値を整理するかを確認する必要があります。
Only the "value.priv" and "value.shared" attributes can be used for sorting. Clients MUST NOT specify an attribute other than either "value.priv" or "value.shared". Servers MUST return a BAD response if the client tries to sort on any other attribute.
ソートには、「value.priv」および「value.shared」属性のみを使用できます。クライアントは、「value.priv」または「value.shared」以外の属性を指定してはなりません。サーバーは、クライアントが他の属性をソートしようとする場合、悪い応答を返す必要があります。
When either "value.priv" or "value.shared" is being sorted, the server MUST use the character set value specified in the SORT command to determine the appropriate sort order.
「value.priv」または「value.shared」のいずれかがソートされている場合、サーバーはソートコマンドで指定された文字セット値を使用して適切なソート順序を決定する必要があります。
Example:
例:
C: a SORT (ANNOTATION /altsubject value.shared) UTF-8 ALL S: * SORT 2 3 4 5 1 11 10 6 7 9 8 S: a OK Sort complete
In the above example, the message numbers of all messages are returned, sorted according to the shared "value" attribute of the "/altsubject" entry.
上記の例では、すべてのメッセージのメッセージ番号が返され、「/altSubject」エントリの共有「値」属性に従ってソートされます。
Note that the ANNOTATION sort key must include a fully specified entry -- wild cards are not allowed.
注釈ソートキーには、完全に指定されたエントリを含める必要があることに注意してください。ワイルドカードは許可されていません。
As discussed in Section 3.4, this extension adds a new "n" right to the list of rights provided by the ACL extensions [RFC2086] and [RFC4314].
セクション3.4で説明したように、この拡張機能は、ACL拡張機能[RFC2086]および[RFC4314]によって提供される権利リストに新しい「n」権利を追加します。
The following syntax specification uses the Augmented Backus-Naur Form (ABNF) notation as specified in [RFC5234].
次の構文仕様では、[RFC5234]で指定されているように、拡張されたBackus-Naurフォーム(ABNF)表記を使用します。
Non-terminals referenced but not defined below are as defined by [RFC3501] with the new definitions in [RFC4466] superseding those in [RFC3501].
参照されていないが、以下で定義されていない非末端は、[RFC4466]の新しい定義が[RFC3501]に取って代わる[RFC3501]で定義されています。
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.
それ以外の場合は、言及されている場合を除き、すべてのアルファベット文字はケース非感受性です。トークン文字列を定義するために上または小文字または小文字の文字を使用することは、編集の明確性のみを目的としています。実装は、これらの文字列をケースに依存しない方法で受け入れる必要があります。
ann-size = "NONE" / (("READ-ONLY" / nz-number) [SP "NOPRIVATE"]) ; response codes indicating the level of ; support for annotations in a mailbox
ann-size = "none" /(( "read-only" / nz-number)[sp "noprivate"]);のレベルを示す応答コード。メールボックスでの注釈のサポート
append-ext =/ att-annotate ; modifies [RFC3501] extension behaviour
att-annotate = "ANNOTATION" SP "(" entry-att *(SP entry-att) ")"
att-annotate = "annotation" sp "(" entry-att *(sp entry-att) ")"
att-search = "value" / "value.priv" / "value.shared" ; the only attributes that can be searched
att-sort = "value.priv" / "value.shared" ; the only attributes that can be sorted
att-value = attrib SP value
attrib = astring ; dot-separated attribute name ; MUST NOT contain "*" or "%"
attrib = astring;ドット分離属性名。「*」または「%」を含めてはなりません
attribs = attrib / "(" attrib *(SP attrib) ")" ; one or more attribute specifiers
capability =/ "ANNOTATE-EXPERIMENT-1" ; defines the capability for this extension
entries = entry-match / "(" entry-match *(SP entry-match) ")"
entry = astring ; slash-separated path to entry ; MUST NOT contain "*" or "%"
entry = Astring;エントリへのスラッシュ分離パス。「*」または「%」を含めてはなりません
entry-att = entry SP "(" att-value *(SP att-value) ")"
entry-match = list-mailbox ; slash-separated path to entry ; MAY contain "*" or "%" for use as wild cards
Entry-match = list-mailbox;エントリへのスラッシュ分離パス。ワイルドカードとして使用するために「*」または「%」が含まれる場合があります
fetch-att =/ "ANNOTATION" SP "(" entries SP attribs ")" ; modifies original IMAP fetch-att
msg-att-dynamic =/ "ANNOTATION" SP ( "(" entry-att *(SP entry-att) ")" / "(" entry *(SP entry) ")" ) ; extends FETCH response with annotation data
resp-text-code =/ "ANNOTATE" SP "TOOBIG" / "ANNOTATE" SP "TOOMANY" / "ANNOTATIONS" SP ann-size ; new response codes
search-key =/ "ANNOTATION" SP entry-match SP att-search SP value ; modifies original IMAP search-key
select-param =/ "ANNOTATE" ; defines the select parameter used with ; ANNOTATE extension
sort-key =/ "ANNOTATION" SP entry SP att-sort ; modifies original sort-key
store-att-flags =/ att-annotate ; modifies original IMAP STORE command
value = nstring / literal8
Entry names MUST be specified in a standards track or IESG approved experimental RFC, or fall under the vendor namespace. Vendor names MUST be registered.
エントリ名は、標準トラックまたはIESG承認の実験RFCで指定するか、ベンダー名の下に該当する必要があります。ベンダー名を登録する必要があります。
Attribute names MUST be specified in a standards track or IESG approved experimental RFC.
属性名は、標準トラックまたはIESG承認の実験RFCで指定する必要があります。
Each entry registration MUST include a content-type that is used to indicate the nature of the annotation value. Where applicable, a charset parameter MUST be included with the content-type.
各エントリ登録には、注釈値の性質を示すために使用されるコンテンツタイプを含める必要があります。該当する場合、Charsetパラメーターをコンテンツタイプに含める必要があります。
To: iana@iana.org Subject: IMAP Annotate Registration
宛先:iana@iana.org件名:IMAP Annotate登録
Please register the following IMAP Annotate item:
次のIMAP注釈アイテムを登録してください。
[] Entry [] Attribute
[]エントリ[]属性
Name: ______________________________
Description: _______________________
____________________________________
____________________________________
Content-Type:_______________________
Contact person: ____________________
email: ____________________
The following templates specify the IANA registrations of annotation entries specified in this document.
次のテンプレートでは、このドキュメントで指定された注釈エントリのIANA登録を指定します。
To: iana@iana.org Subject: IMAP Annotate Registration
宛先:iana@iana.org件名:IMAP Annotate登録
Please register the following IMAP Annotate item:
次のIMAP注釈アイテムを登録してください。
[X] Entry [] Attribute
[x]エントリ[]属性
Name: /comment
名前: /コメント
Description: Defined in IMAP ANNOTATE extension document.
説明:IMAP Annotate Extensionドキュメントで定義されています。
Content-Type: text/plain; charset=utf-8
Contact person: Cyrus Daboo
連絡先:Cyrus Daboo
email: cyrus@daboo.name
メール:cyrus@daboo.name
To: iana@iana.org Subject: IMAP Annotate Registration
宛先:iana@iana.org件名:IMAP Annotate登録
Please register the following IMAP Annotate item:
次のIMAP注釈アイテムを登録してください。
[X] Entry [] Attribute
[x]エントリ[]属性
Name: /flags
名前: /flags
Description: Reserved entry hierarchy.
説明:予約されたエントリ階層。
Content-Type: -
コンテンツタイプ: -
Contact person: Cyrus Daboo
連絡先:Cyrus Daboo
email: cyrus@daboo.name
メール:cyrus@daboo.name
To: iana@iana.org Subject: IMAP Annotate Registration
宛先:iana@iana.org件名:IMAP Annotate登録
Please register the following IMAP Annotate item:
次のIMAP注釈アイテムを登録してください。
[X] Entry [] Attribute
[x]エントリ[]属性
Name: /altsubject
名前: /altsubject
Description: Defined in IMAP ANNOTATE extension document.
説明:IMAP Annotate Extensionドキュメントで定義されています。
Content-Type: text/plain; charset=utf-8
Contact person: Cyrus Daboo
連絡先:Cyrus Daboo
email: cyrus@daboo.name
メール:cyrus@daboo.name
To: iana@iana.org Subject: IMAP Annotate Registration
宛先:iana@iana.org件名:IMAP Annotate登録
Please register the following IMAP Annotate item:
次のIMAP注釈アイテムを登録してください。
[X] Entry [] Attribute
[x]エントリ[]属性
Name: /<section-part>/comment
Description: Defined in IMAP ANNOTATE extension document.
説明:IMAP Annotate Extensionドキュメントで定義されています。
Content-Type: text/plain; charset=utf-8
Contact person: Cyrus Daboo
連絡先:Cyrus Daboo
email: cyrus@daboo.name
メール:cyrus@daboo.name
To: iana@iana.org Subject: IMAP Annotate Registration
宛先:iana@iana.org件名:IMAP Annotate登録
Please register the following IMAP Annotate item:
次のIMAP注釈アイテムを登録してください。
[X] Entry [] Attribute
[x]エントリ[]属性
Name: /<section-part>/flags/seen
Description: Defined in IMAP ANNOTATE extension document.
説明:IMAP Annotate Extensionドキュメントで定義されています。
Content-Type: text/plain; charset=utf-8
Contact person: Cyrus Daboo
連絡先:Cyrus Daboo
email: cyrus@daboo.name
メール:cyrus@daboo.name
To: iana@iana.org Subject: IMAP Annotate Registration
宛先:iana@iana.org件名:IMAP Annotate登録
Please register the following IMAP Annotate item:
次のIMAP注釈アイテムを登録してください。
[X] Entry [] Attribute
[x]エントリ[]属性
Name: /<section-part>/flags/answered
Description: Defined in IMAP ANNOTATE extension document.
説明:IMAP Annotate Extensionドキュメントで定義されています。
Content-Type: text/plain; charset=utf-8
Contact person: Cyrus Daboo
連絡先:Cyrus Daboo
email: cyrus@daboo.name
メール:cyrus@daboo.name
To: iana@iana.org Subject: IMAP Annotate Registration
宛先:iana@iana.org件名:IMAP Annotate登録
Please register the following IMAP Annotate item:
次のIMAP注釈アイテムを登録してください。
[X] Entry [] Attribute
[x]エントリ[]属性
Name: /<section-part>/flags/flagged
Description: Defined in IMAP ANNOTATE extension document.
説明:IMAP Annotate Extensionドキュメントで定義されています。
Content-Type: text/plain; charset=utf-8
Contact person: Cyrus Daboo
連絡先:Cyrus Daboo
email: cyrus@daboo.name
メール:cyrus@daboo.name
To: iana@iana.org Subject: IMAP Annotate Registration
宛先:iana@iana.org件名:IMAP Annotate登録
Please register the following IMAP Annotate item:
次のIMAP注釈アイテムを登録してください。
[X] Entry [] Attribute
[x]エントリ[]属性
Name: /<section-part>/flags/forwarded
Description: Defined in IMAP ANNOTATE extension document.
説明:IMAP Annotate Extensionドキュメントで定義されています。
Content-Type: text/plain; charset=utf-8
Contact person: Cyrus Daboo
連絡先:Cyrus Daboo
email: cyrus@daboo.name
メール:cyrus@daboo.name
The following templates specify the IANA registrations of annotation attributes specified in this document.
次のテンプレートでは、このドキュメントで指定された注釈属性のIANA登録を指定します。
To: iana@iana.org Subject: IMAP Annotate Registration
宛先:iana@iana.org件名:IMAP Annotate登録
Please register the following IMAP Annotate item:
次のIMAP注釈アイテムを登録してください。
[] Entry [X] Attribute
[] entry [x]属性
Name: value
名前:値
Description: Defined in IMAP ANNOTATE extension document.
説明:IMAP Annotate Extensionドキュメントで定義されています。
Contact person: Cyrus Daboo
連絡先:Cyrus Daboo
email: cyrus@daboo.name
メール:cyrus@daboo.name
To: iana@iana.org Subject: IMAP Annotate Registration
宛先:iana@iana.org件名:IMAP Annotate登録
Please register the following IMAP Annotate item:
次のIMAP注釈アイテムを登録してください。
[] Entry [X] Attribute
[] entry [x]属性
Name: size
名前:サイズ
Description: Defined in IMAP ANNOTATE extension document.
説明:IMAP Annotate Extensionドキュメントで定義されています。
Contact person: Cyrus Daboo
連絡先:Cyrus Daboo
email: cyrus@daboo.name
メール:cyrus@daboo.name
This document registers "ANNOTATE-EXPERIMENT-1" as an IMAPEXT capability.
このドキュメントは、IMAPEXT機能として「Annotate-Experiment-1」を登録します。
Annotations may contain values that include text strings, and both searching and sorting are possible with annotations. Servers MUST follow standard IMAP text normalization, character set conversion, and collation rules when such operations are carried out, as would be done for other textual fields being searched or sorted on.
注釈には、テキスト文字列を含む値が含まれている場合があり、注釈で検索と並べ替えの両方が可能です。サーバーは、検索またはソートされている他のテキストフィールドに対して行われるように、そのような操作が実行されたときに、標準のIMAPテキストの正規化、文字セット変換、および照合ルールに従う必要があります。
Annotations whose values are intended to remain private MUST be stored in ".priv" values instead of ".shared" values, which may be accessible to other users.
値がプライベートであることを意図した注釈は、他のユーザーがアクセスできる可能性のある「.shared」値の代わりに「.priv」値に保存する必要があります。
Excluding the above issues, the ANNOTATE extension does not raise any security considerations that are not present in the base IMAP protocol; these issues are discussed in [RFC3501].
上記の問題を除くと、アノテート拡張は、ベースIMAPプロトコルに存在しないセキュリティ上の考慮事項を提起しません。これらの問題は[RFC3501]で説明されています。
[RFC2086] Myers, J., "IMAP4 ACL extension", RFC 2086, January 1997.
[RFC2086] Myers、J。、「IMAP4 ACL Extension」、RFC 2086、1997年1月。
[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月。
[RFC2244] Newman, C. and J. Myers, "ACAP -- Application Configuration Access Protocol", RFC 2244, November 1997.
[RFC2244] Newman、C。and J. Myers、「ACAP -Application Configuration Access Protocol」、RFC 2244、1997年11月。
[RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003.
[RFC3501] CRISPIN、M。、「インターネットメッセージアクセスプロトコル - バージョン4REV1」、RFC 3501、2003年3月。
[RFC3502] Crispin, M., "Internet Message Access Protocol (IMAP) - MULTIAPPEND Extension", RFC 3502, March 2003.
[RFC3502] CRISPIN、M。、「インターネットメッセージアクセスプロトコル(IMAP) - マルチアペンド拡張機能」、RFC 3502、2003年3月。
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003.
[RFC3629] Yergeau、F。、「UTF-8、ISO 10646の変換形式」、STD 63、RFC 3629、2003年11月。
[RFC4314] Melnikov, A., "IMAP4 Access Control List (ACL) Extension", RFC 4314, December 2005.
[RFC4314] Melnikov、A。、「IMAP4アクセス制御リスト(ACL)拡張機能」、RFC 4314、2005年12月。
[RFC4466] Melnikov, A. and C. Daboo, "Collected Extensions to IMAP4 ABNF", RFC 4466, April 2006.
[RFC4466] Melnikov、A。およびC. Daboo、「IMAP4 ABNFへの拡張を収集した」、RFC 4466、2006年4月。
[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月。
[RFC5256] Crispin, M. and K. Murchison, "Internet Message Access Protocol - SORT and THREAD Extensions", RFC 5256, June 2008.
[RFC5256] Crispin、M。およびK. Murchison、「インターネットメッセージアクセスプロトコル - ソートおよびスレッド拡張機能」、RFC 5256、2008年6月。
[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月。
Many thanks to Chris Newman for his detailed comments on the first draft of this document, and to the participants at the ACAP working dinner in Pittsburgh. The participants of the IMAPext working group made significant contributions to this work.
この文書の最初のドラフトに関する詳細なコメントと、ピッツバーグでのACAPワーキングディナーの参加者に感謝します。IMAPEXTワーキンググループの参加者は、この作業に多大な貢献をしました。
Authors' Addresses
著者のアドレス
Cyrus Daboo Apple Inc. 1 Infinite Loop Cupertino, CA 95014 USA
Cyrus Daboo Apple Inc. 1 Infinite Loop Cupertino、CA 95014 USA
EMail: cyrus@daboo.name URI: http://www.apple.com/
Randall Gellens QUALCOMM Incorporated 5775 Morehouse Dr. San Diego, CA 92121-2779 USA
ランドール・ゲレンズ・クアルコム・インコーポレーテッド5775モアハウス博士サンディエゴ、カリフォルニア92121-2779 USA
EMail: randy@qualcomm.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への情報をお問い合わせください。