Internet Engineering Task Force (IETF)                  A. Melnikov, Ed.
Request for Comments: 5804                                 Isode Limited
Category: Standards Track                                      T. Martin
ISSN: 2070-1721                                    BeThereBeSquare, Inc.
                                                               July 2010
        
              A Protocol for Remotely Managing Sieve Scripts
        

Abstract

抽象

Sieve scripts allow users to filter incoming email. Message stores are commonly sealed servers so users cannot log into them, yet users must be able to update their scripts on them. This document describes a protocol "ManageSieve" for securely managing Sieve scripts on a remote server. This protocol allows a user to have multiple scripts, and also alerts a user to syntactically flawed scripts.

ふるいのスクリプトは、ユーザーが受信メールをフィルタリングすることができます。ユーザーがそれらにログインすることはできません、まだユーザーがそれらに彼らのスクリプトを更新することができなければならないので、メッセージストアは、一般的にサーバを密封されています。この文書では、安全にリモートサーバ上のSieveスクリプトを管理するためのプロトコル「ManageSieve」を説明しています。このプロトコルは、ユーザーが複数のスクリプトを持つことができ、また、文法的に欠陥のあるスクリプトにユーザーに警告します。

Status of This Memo

このメモのステータス

This is an Internet Standards Track document.

これは、インターネット標準化過程文書です。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

このドキュメントはインターネットエンジニアリングタスクフォース(IETF)の製品です。これは、IETFコミュニティの総意を表しています。これは、公開レビューを受けており、インターネットエンジニアリング運営グループ(IESG)によって公表のために承認されています。インターネット標準の詳細については、RFC 5741のセクション2で利用可能です。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc5804.

このドキュメントの現在の状態、任意の正誤表、そしてどのようにフィードバックを提供するための情報がhttp://www.rfc-editor.org/info/rfc5804で取得することができます。

Copyright Notice

著作権表示

Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.

著作権(C)2010 IETF信託とドキュメントの作成者として特定の人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

この文書では、BCP 78と、この文書の発行日に有効なIETFドキュメント(http://trustee.ietf.org/license-info)に関連IETFトラストの法律の規定に従うものとします。彼らは、この文書に関してあなたの権利と制限を説明するように、慎重にこれらの文書を確認してください。コードコンポーネントは、トラスト法規定のセクションで説明4.eおよび簡体BSDライセンスで説明したように、保証なしで提供されているよう簡体BSDライセンスのテキストを含める必要があり、この文書から抽出されました。

Table of Contents

目次

   1. Introduction ....................................................3
      1.1. Commands and Responses .....................................3
      1.2. Syntax .....................................................3
      1.3. Response Codes .............................................3
      1.4. Active Script ..............................................6
      1.5. Quotas .....................................................6
      1.6. Script Names ...............................................6
      1.7. Capabilities ...............................................7
      1.8. Transport ..................................................9
      1.9. Conventions Used in This Document .........................10
   2. Commands .......................................................10
      2.1. AUTHENTICATE Command ......................................11
           2.1.1. Use of SASL PLAIN Mechanism over TLS ...............16
      2.2. STARTTLS Command ..........................................16
           2.2.1. Server Identity Check ..............................17
      2.3. LOGOUT Command ............................................20
      2.4. CAPABILITY Command ........................................20
      2.5. HAVESPACE Command .........................................20
      2.6. PUTSCRIPT Command .........................................21
      2.7. LISTSCRIPTS Command .......................................23
      2.8. SETACTIVE Command .........................................24
      2.9. GETSCRIPT Command .........................................25
      2.10. DELETESCRIPT Command .....................................25
      2.11. RENAMESCRIPT Command .....................................26
      2.12. CHECKSCRIPT Command ......................................27
      2.13. NOOP Command .............................................28
      2.14. Recommended Extensions ...................................28
           2.14.1. UNAUTHENTICATE Command ............................28
   3. Sieve URL Scheme ...............................................29
   4. Formal Syntax ..................................................31
   5. Security Considerations ........................................37
   6. IANA Considerations ............................................38
      6.1. ManageSieve Capability Registration Template ..............39
      6.2. Registration of Initial ManageSieve Capabilities ..........39
      6.3. ManageSieve Response Code Registration Template ...........41
      6.4. Registration of Initial ManageSieve Response Codes ........41
   7. Internationalization Considerations ............................46
   8. Acknowledgements ...............................................46
   9. References .....................................................47
      9.1. Normative References ......................................47
      9.2. Informative References ....................................48
        
1. Introduction
1. はじめに
1.1. Commands and Responses
1.1. コマンドと応答

A ManageSieve connection consists of the establishment of a client/ server network connection, an initial greeting from the server, and client/server interactions. These client/server interactions consist of a client command, server data, and a server completion result response.

ManageSieve接続は、クライアント/サーバネットワーク接続、サーバから最初の挨拶、およびクライアント/サーバ相互作用の確立から成ります。これらのクライアント/サーバーの相互作用は、クライアントコマンド、サーバデータ、およびサーバーの完了結果応答で構成されています。

All interactions transmitted by client and server are in the form of lines, that is, strings that end with a CRLF. The protocol receiver of a ManageSieve client or server is either reading a line or reading a sequence of octets with a known count followed by a line.

クライアントとサーバが送信したすべての相互作用は、CRLFで終わる文字列であるラインの形です。 ManageSieveクライアントまたはサーバのプロトコル受信機は、いずれかの行を読んだり、ラインが続い知らカウントはオクテットのシーケンスを読んでいます。

1.2. Syntax
1.2. 構文

ManageSieve is a line-oriented protocol much like [IMAP] or [ACAP], which runs over TCP. There are three data types: atoms, numbers and strings. Strings may be quoted or literal. See [ACAP] for detailed descriptions of these types.

ManageSieveは、[IMAP]またはTCP上で動作[ACAP]、のような多くの行指向のプロトコルです。原子、数値と文字列:3つのデータタイプがあります。文字列は引用符で囲まれたまたはリテラルすることができます。これらのタイプの詳細な説明については、[ACAP]を参照してください。

Each command consists of an atom (the command name) followed by zero or more strings and numbers terminated by CRLF.

各コマンドはCRLFによって終了ゼロ以上の文字列と数字が続く原子(コマンド名)からなります。

All client queries are replied to with either an OK, NO, or BYE response. Each response may be followed by a response code (see Section 1.3) and by a string consisting of human-readable text in the local language (as returned by the LANGUAGE capability; see Section 1.7), encoded in UTF-8 [UTF-8]. The contents of the string SHOULD be shown to the user ,and implementations MUST NOT attempt to parse the message for meaning.

すべてのクライアントクエリはOK、NO、またはBYE応答のいずれかでに答えています。各応答は、応答コードが続く(第1.3節を参照)とローカル言語における人間可読テキストからなる文字列(言語機能によって返された、1.7節を参照)によってもよいUTF-8でエンコードされ、[UTF-8 ]。文字列の内容は、ユーザーに表示する必要があり、実装は意味のメッセージを解析するのを試みてはいけません。

The BYE response SHOULD be used if the server wishes to close the connection. A server may wish to do this because the client was idle for too long or there were too many failed authentication attempts. This response can be issued at any time and should be immediately followed by a server hang-up of the connection. If a server has an inactivity timeout resulting in client autologout, it MUST be no less than 30 minutes after successful authentication. The inactivity timeout MAY be less before authentication.

サーバが接続をクローズしたい場合BYE応答を使用する必要があります。クライアントは、あまりにも長い間アイドル状態だったか、あまりにも多くの失敗した認証試行があったため、サーバーがこれを実行することもできます。この応答は、いつでも発行することができ、すぐに接続のサーバーハングアップが続くべきです。サーバがクライアントの自動ログアウトその結果無活動タイムアウトを持っている場合、それはありません30分以上認証が成功した後でなければなりません。無活動タイムアウトは、認証の前に小さくすることができます。

1.3. Response Codes
1.3. 応答コード

An OK, NO, or BYE response from the server MAY contain a response code to describe the event in a more detailed machine-parsable fashion. A response code consists of data inside parentheses in the form of an atom, possibly followed by a space and arguments.

サーバからのOK、NO、またはBYE応答は、より詳細なマシン解析可能な形式でイベントを記述するために応答コードを含むかもしれません。応答コードは、おそらくスペースと引数が続く原子の形で括弧内のデータ、から成ります。

Response codes are defined when there is a specific action that a client can take based upon the additional information. In order to support future extension, the response code is represented as a slash-separated (Solidus, %x2F) hierarchy with each level of hierarchy representing increasing detail about the error. Response codes MUST NOT start with the Solidus character. Clients MUST tolerate additional hierarchical response code detail that they don't understand. For example, if the client supports the "QUOTA" response code, but doesn't understand the "QUOTA/MAXSCRIPTS" response code, it should treat "QUOTA/MAXSCRIPTS" as "QUOTA".

クライアントは、追加情報に基づいて取ることができ、特定のアクションがあった場合の応答コードが定義されています。将来の拡張をサポートするために、応答コードは、エラー約増加詳細を表す階層の各レベルにスラッシュで区切られ(ソリダス、%x2F)階層として表現されます。レスポンスコードはソリダス文字で始めることはできません。クライアントは、彼らが理解していないことを、追加の階層応答コードの詳細を容認しなければなりません。例えば、場合、クライアントは「QUOTA」応答コードをサポートしていますが、「QUOTA / MAXSCRIPTS」応答コードを理解していない、それは「QUOTA」として「QUOTA / MAXSCRIPTSを」治療する必要があります。

Client implementations MUST tolerate (ignore) response codes that they do not recognize.

クライアントの実装は、(無視)、彼らが認識しない応答コードを許容しなければなりません。

The currently defined response codes are the following:

現在定義されている応答コードは次のとおりです。

AUTH-TOO-WEAK

AUTH-TOO-WEAK

This response code is returned in the NO or BYE response from an AUTHENTICATE command. It indicates that site security policy forbids the use of the requested mechanism for the specified authentication identity.

この応答コードはAUTHENTICATEコマンドからNOまたはBYE応答で返されます。これは、サイトのセキュリティポリシーが指定された認証のアイデンティティのために要求されたメカニズムの使用を禁止していることを示しています。

ENCRYPT-NEEDED

ENCRYPT必要に応じました

This response code is returned in the NO or BYE response from an AUTHENTICATE command. It indicates that site security policy requires the use of a strong encryption mechanism for the specified authentication identity and mechanism.

この応答コードはAUTHENTICATEコマンドからNOまたはBYE応答で返されます。これは、サイトのセキュリティポリシーが指定された認証アイデンティティとメカニズムのための強力な暗号化メカニズムを使用する必要があることを示しています。

QUOTA

FEE

If this response code is returned in the NO/BYE response, it means that the command would have placed the user above the site-defined quota constraints. If this response code is returned in the OK response, it can mean that the user's storage is near its quota, or it can mean that the account exceeded its quota but that the condition is being allowed by the server (the server supports so-called soft quotas). The QUOTA response code has two more detailed variants: "QUOTA/MAXSCRIPTS" (the maximum number of per-user scripts) and "QUOTA/MAXSIZE" (the maximum script size).

このレスポンスコードは、NO / BYE応答で返された場合は、コマンドは、サイトに定義されたクォータの制約上のユーザーを配置していることを意味します。この応答コードはOK応答で返された場合、それはユーザーのストレージがそのクォータの近くにあることを意味することができ、またはそれは、アカウントがそのクォータを超過していることが、条件がサーバーによって許可されていることを意味することができます(サーバーは、いわゆるサポートしていますソフトクォータ)。 「クォータ/ MAXSCRIPTS」(ユーザーごとのスクリプトの最大数)及び「クォータ/ MAXSIZE」(最大スクリプトのサイズ):QUOTA応答コードは、2つのより詳細な変種を有します。

REFERRAL

REFERRAL

This response code may be returned with a BYE result from any command, and includes a mandatory parameter that indicates what server to access to manage this user's Sieve scripts. The server will be specified by a Sieve URL (see Section 3). The scriptname

この応答コードは、任意のコマンドからBYE結果で返され、そしてこのユーザーのSieveスクリプトを管理するためにアクセスするためにどのようなサーバーを示す必須パラメータが含まれていてもよいです。サーバーは、ふるいURL(セクション3を参照)によって指定されます。スクリプト名

portion of the URL MUST NOT be specified. The client should authenticate to the specified server and use it for all further commands in the current session.

URLの一部を指定することはできません。クライアントは、指定されたサーバに認証し、現在のセッション内のすべてのさらなるコマンドのためにそれを使用する必要があります。

SASL

SASL

This response code can occur in the OK response to a successful AUTHENTICATE command and includes the optional final server response data from the server as specified by [SASL].

この応答コードは、成功したAUTHENTICATEコマンドへのOK応答して発生し、[SASL]によって指定されるように、サーバから任意の最終サーバ応答データを含むことができます。

TRANSITION-NEEDED

TRANSITION必要に応じました

This response code occurs in a NO response of an AUTHENTICATE command. It indicates that the user name is valid, but the entry in the authentication database needs to be updated in order to permit authentication with the specified mechanism. This is typically done by establishing a secure channel using TLS, verifying server identity as specified in Section 2.2.1, and finally authenticating once using the [PLAIN] authentication mechanism. The selected mechanism SHOULD then work for authentications in subsequent sessions.

この応答コードはAUTHENTICATEコマンドのNO応答して起こります。これは、ユーザー名が有効であることを示しているが、認証データベース内のエントリは、指定された機構による認証を可能にするために更新する必要があります。これは典型的には、セクション2.2.1に指定されているサーバーの身元を確認し、TLSを使用してセキュアチャネルを確立し、最後に[PLAIN]認証メカニズムを使用して、一度認証することによって行われます。選択された機構は、その後のセッションで認証のために働く必要があります。

This condition can happen if a user has an entry in a system authentication database such as Unix /etc/passwd, but does not have credentials suitable for use by the specified mechanism.

ユーザーは、このようなUnixの/ etc / passwdファイルなどのシステムの認証データベース内のエントリを持っていますが、指定されたメカニズムでの使用に適した資格情報を持っていない場合、この条件が発生する可能性があります。

TRYLATER

TRYLATER

A command failed due to a temporary server failure. The client MAY continue using local information and try the command later. This response code only makes sense when returned in a NO/BYE response.

コマンドは、一時的なサーバ障害に失敗しました。クライアントは、ローカル情報を引き続き使用し、後でコマンドを試してください。 NO / BYE応答で返されたときに、この応答コードはのみ意味があります。

ACTIVE

ACTIVE

A command failed because it is not allowed on the active script, for example, DELETESCRIPT on the active script. This response code only makes sense when returned in a NO/BYE response.

それはDeleteScriptを、アクティブスクリプト上で、例えば、アクティブスクリプト上で許可されていないため、コマンドは失敗しました。 NO / BYE応答で返されたときに、この応答コードはのみ意味があります。

NONEXISTENT

存在しません

A command failed because the referenced script name doesn't exist. This response code only makes sense when returned in a NO/BYE response.

参照スクリプト名が存在しないため、コマンドは失敗しました。 NO / BYE応答で返されたときに、この応答コードはのみ意味があります。

ALREADYEXISTS

もう存在している

A command failed because the referenced script name already exists. This response code only makes sense when returned in a NO/BYE response.

参照スクリプト名がすでに存在しているため、コマンドが失敗しました。 NO / BYE応答で返されたときに、この応答コードはのみ意味があります。

TAG

鬼ごっこ

This response code name is followed by a string specified in the command. See Section 2.13 for a possible use case.

この応答コード名がコマンドで指定された文字列が続いています。可能なユースケースについては、セクション2.13を参照してください。

WARNINGS

警告

This response code MAY be returned by the server in the OK response (but it might be returned with the NO/BYE response as well) and signals the client that even though the script is syntactically valid, it might contain errors not intended by the script writer. This response code is typically returned in response to PUTSCRIPT and/or CHECKSCRIPT commands. A client seeing such response code SHOULD present the returned warning text to the user.

この応答コードはOK応答でサーバーから返されるかもしれない(しかし、それは同様にNO / BYE応答で返されるかもしれません)、スクリプトが構文的に有効であっても、それはスクリプトが意図していないエラーを含む可能性があることをクライアントに知らせますライター。この応答コードは、一般的にPUTSCRIPTおよび/またはCHECKSCRIPTコマンドに応答して返されます。このような応答コードを見て、クライアントは、ユーザーに返された警告文を提示しなければなりません。

1.4. Active Script
1.4. アクティブスクリプト

A user may have multiple Sieve scripts on the server, yet only one script may be used for filtering of incoming messages. This is the active script. Users may have zero or one active script and MUST use the SETACTIVE command described below for changing the active script or disabling Sieve processing. For example, users may have an everyday script they normally use and a special script they use when they go on vacation. Users can change which script is being used without having to download and upload a script stored somewhere else.

ユーザーがサーバー上に複数のSieveスクリプトを有していてもよく、まだ一つだけのスクリプトは、着信メッセージのフィルタリングに使用することができます。これは、アクティブスクリプトです。ユーザは、ゼロまたは1つのアクティブスクリプトを有することができ、アクティブスクリプトを変更したり、ふるい処理を無効にするため、以下に記載のsetActiveコマンドを使用しなければなりません。たとえば、ユーザーが通常使用する日常のスクリプトと、彼らは休暇に行くときは、使用する特殊なスクリプトを有することができます。ユーザーがどこかに保存されたスクリプトをダウンロードし、アップロードすることなく使用されているスクリプトに変更することができます。

1.5. Quotas
1.5. クォータ

Servers SHOULD impose quotas to prevent malicious users from overflowing available storage. If a command would place a user over a quota setting, servers that impose such quotas MUST reply with a NO response containing the QUOTA response code. Client implementations MUST be able to handle commands failing because of quota restrictions.

サーバは使用可能なストレージをオーバーフローから悪意のあるユーザーを防ぐためにクォータを課すべきです。コマンドは、クォータの設定を超えるユーザーを置きたい場合、そのようなクォータを課すサーバーは、QUOTA応答コードを含むNO応答で返答しなければなりません。クライアントの実装はために、クォータ制限の失敗のコマンドを処理できなければなりません。

1.6. Script Names
1.6. スクリプトの名前

A Sieve script name is a sequence of Unicode characters encoded in UTF-8 [UTF-8]. A script name MUST comply with Net-Unicode Definition (Section 2 of [NET-UNICODE]), with the additional restriction of prohibiting the following Unicode characters:

Sieveスクリプト名は、UTF-8 [UTF-8]にエンコードされたUnicode文字のシーケンスです。スクリプト名は以下のUnicode文字を禁止する追加の制限、ネットUnicodeの定義([NET-UNICODE]のセクション2)を遵守しなければなりません:

o 0000-001F; [CONTROL CHARACTERS]

0000-001F O; [制御文字]

o 007F; DELETE

お 007F; でぇて

o 0080-009F; [CONTROL CHARACTERS] o 2028; LINE SEPARATOR

0080-009F O; 2028 O [制御文字]。行区切り

o 2029; PARAGRAPH SEPARATOR

O 2029;段落SEPARATOR

Sieve script names MUST be at least one octet (and hence Unicode character) long. Zero octets script name has a special meaning (see Section 2.8). Servers MUST allow names of up to 128 Unicode characters in length (which can take up to 512 bytes when encoded in UTF-8, not counting the terminating NUL), and MAY allow longer names. A server that receives a script name longer than its internal limit MUST reject the corresponding operation, in particular it MUST NOT truncate the script name.

ふるいスクリプト名は、少なくとも一つのオクテット(したがって、Unicode文字)長さでなければなりません。ゼロオクテットのスクリプト名は、特別な意味を(2.8節を参照します)。サーバは、(終端NULをカウントしない、UTF-8でエンコードされたときに512のバイトまで取ることができる)、及び長い名前を可能にする長さは最大128個のUnicode文字の名前を可能にしなければなりません。その内部制限よりも長いスクリプト名を受け取り、サーバは特にそれがスクリプト名を切り捨ててはならない、対応する操作を拒絶しなければなりません。

1.7. Capabilities
1.7. 機能

Server capabilities are sent automatically by the server upon a client connection, or after successful STARTTLS and AUTHENTICATE (which establishes a Simple Authentication and Security Layer (SASL)) commands. Capabilities may change immediately after a successfully completed STARTTLS command, and/or immediately after a successfully completed AUTHENTICATE command, and/or after a successfully completed UNAUTHENTICATE command (see Section 2.14.1). Capabilities MUST remain static at all other times.

サーバーの機能は、クライアントの接続時に、または成功したSTARTTLSとコマンド(簡易認証セキュリティー層(SASL)を確立する)を認証した後、サーバーによって自動的に送信されます。能力はすぐに正常に完了しSTARTTLSコマンドの後、および/または、すぐに正常に完了AUTHENTICATEコマンドの後に、および/または正常に完了しUNAUTHENTICATEコマンド(セクション2.14.1を参照)した後に変更されることがあります。機能は、他のすべての回で、静的なままでなければなりません。

Clients MAY request the capabilities at a later time by issuing the CAPABILITY command described later. The capabilities consist of a series of lines each with one or two strings. The first string is the name of the capability, which is case-insensitive. The second optional string is the value associated with that capability. Order of capabilities is arbitrary, but each capability name can appear at most once.

クライアントは、後述のCAPABILITYコマンドを発行することにより、後の時点での能力を要求することができます。機能は、1つのまたは2つの文字列と行それぞれのシリーズで構成されています。最初の文字列は、大文字と小文字を区別しません機能の名前です。第2の任意の文字列は、その機能に関連付けられた値です。能力の順序は任意であるが、各機能名が最も一度に表示することができます。

The following capabilities are defined in this document:

次の機能は、この文書で定義されています。

IMPLEMENTATION - Name of implementation and version. This capability MUST always be returned by the server.

実装 - 実装およびバージョンの名前。この機能は、常にサーバから返さなければなりません。

SASL - List of SASL mechanisms supported by the server, each separated by a space. This list can be empty if and only if STARTTLS is also advertised. This means that the client must negotiate TLS encryption with STARTTLS first, at which point the SASL capability will list a non-empty list of SASL mechanisms.

SASL - サーバがサポートしているSASLメカニズム、スペースで区切って、それぞれのリスト。このリストはSTARTTLSでも広告を出している場合に限り、空にすることができます。これは、クライアントがSASL能力がSASLメカニズムの非空のリストを一覧表示されます、その時点で、最初のSTARTTLSとTLS暗号化を交渉しなければならないことを意味します。

SIEVE - List of space-separated Sieve extensions (as listed in Sieve "require" action [SIEVE]) supported by the Sieve engine. This capability MUST always be returned by the server.

SIEVE - ふるいエンジンによってサポートされるスペースで区切られたふるい拡張子のリスト(ふるいに列挙されるアクション[SIEVE]を「必要とします」)。この機能は、常にサーバから返さなければなりません。

STARTTLS - If TLS [TLS] is supported by this implementation. Before advertising this capability a server MUST verify to the best of its ability that TLS can be successfully negotiated by a client with common cipher suites. Specifically, a server should verify that a server certificate has been installed and that the TLS subsystem has successfully initialized. This capability SHOULD NOT be advertised once STARTTLS or AUTHENTICATE command completes successfully. Client and server implementations MUST implement the STARTTLS extension.

STARTTLS - TLS [TLS]は、この実装でサポートされている場合。この機能をアドバタイズする前に、サーバはTLSが正常に共通の暗号スイートを使用してクライアントによって交渉することができ、その能力を最大限に確かめなければなりません。具体的には、サーバは、サーバ証明書がインストールされていることとTLSサブシステムが正常に初期化されていることを確認する必要があります。この機能は、STARTTLSまたはコマンドが正常に完了に認証されると宣伝されるべきではありません。クライアントとサーバーの実装はSTARTTLS拡張を実装しなければなりません。

MAXREDIRECTS - Specifies the limit on the number of Sieve "redirect" actions a script can perform during a single evaluation. Note that this is different from the total number of "redirect" actions a script can contain. The value is a non-negative number represented as a ManageSieve string.

MAXREDIRECTS - スクリプトは、単一の評価中に実行できるアクションを「リダイレクト」ふるいの数の制限を指定します。これはスクリプトに含めることができる「リダイレクト」アクションの合計数とは異なることに注意してください。値はManageSieve文字列として表される非負の数です。

NOTIFY - A space-separated list of URI schema parts for supported notification methods. This capability MUST be specified if the Sieve implementation supports the "enotify" extension [NOTIFY].

NOTIFY - サポートされる通知方法のためのURIスキーマ部品のスペース区切りのリストを。ふるいの実装が「enotify」の拡張子をサポートしている場合、この機能は、[通知]に指定されなければなりません。

LANGUAGE - The language (<Language-Tag> from [RFC5646]) currently used for human-readable error messages. If this capability is not returned, the "i-default" [RFC2277] language is assumed. Note that the current language MAY be per-user configurable (i.e., it MAY change after authentication).

LANGUAGE - ([RFC5646]から<言語タグ>)言語は、現在、人間が読めるエラーメッセージに使用されます。この機能は返却されない場合は、「I-デフォルト」[RFC2277]言語が想定されます。現在の言語は、ユーザごとの設定(すなわち、それが認証後に変更してもよい)であってもよいことに留意されたいです。

OWNER - The canonical name of the logged-in user (SASL "authorization identity") encoded in UTF-8. This capability MUST NOT be returned in unauthenticated state and SHOULD be returned once the AUTHENTICATE command succeeds.

OWNER - UTF-8でエンコードされたログインユーザ(SASL「認証アイデンティティ」)の正式名。この機能は、認証されていない状態で返されてはならないとAUTHENTICATEコマンドが成功した後に返されるべきです。

VERSION - This capability MUST be returned by servers compliant with this document or its successor. For servers compliant with this document, the capability value is the string "1.0". Lack of this capability means that the server predates this specification and thus doesn't support the following commands: RENAMESCRIPT, CHECKSCRIPT, and NOOP.

VERSION - この機能はこの文書またはその後継に準拠サーバによって返さなければなりません。この文書に準拠サーバーでは、能力値は、文字列「1.0」です。 RENAMESCRIPT、CHECKSCRIPT、およびNOOP:この能力の欠如は、サーバが以下のコマンドをサポートしていませんので、この仕様に先行していることを意味します。

Section 2.14 defines some additional ManageSieve extensions and their respective capabilities.

2.14は、いくつかの追加ManageSieve拡張およびそれぞれの能力を定義します。

A server implementation MUST return SIEVE, IMPLEMENTATION, and VERSION capabilities.

サーバの実装はSIEVE、実装、およびVERSION機能を返さなければなりません。

A client implementation MUST ignore any listed capabilities that it does not understand.

クライアントの実装は、それが理解していない任意の列挙された機能を無視しなければなりません。

Example:

例:

S: "IMPlemENTATION" "Example1 ManageSieved v001" S: "SASl" "DIGEST-MD5 GSSAPI" S: "SIeVE" "fileinto vacation" S: "StaRTTLS" S: "NOTIFY" "xmpp mailto" S: "MAXREdIRECTS" "5" S: "VERSION" "1.0" S: OK

S: "実装" "例1 ManageSievedのV001" S: "SASL" "DIGEST-MD5 GSSAPI" S: "ふるい" "のfileintoの休暇" S: "STARTTLS" S: "" NOTIFY "XMPPのmailto" S: "MAXREdIRECTS"」 5" S: "VERSION" "1.0" S:OK

After successful authentication, this might look like this:

認証が成功すると、これは次のようになります。

Example:

例:

S: "IMPlemENTATION" "Example1 ManageSieved v001" S: "SASl" "DIGEST-MD5 GSSAPI" S: "SIeVE" "fileinto vacation" S: "NOTIFY" "xmpp mailto" S: "OWNER" "alexey@example.com" S: "MAXREdIRECTS" "5" S: "VERSION" "1.0" S: OK

S: "実装" "例1 ManageSievedのV001は" S: "SASL" "DIGEST-MD5 GSSAPI" S: "ふるい" "のfileintoの休暇" S: "NOTIFY" "XMPPのmailto" S: "OWNER"「alexey@example.com 「S: "MAXREdIRECTS" "5" S: "VERSION" "1.0" S:OK

1.8. Transport
1.8. 輸送

The ManageSieve protocol assumes a reliable data stream such as that provided by TCP. When TCP is used, a ManageSieve server typically listens on port 4190.

ManageSieveプロトコルは、TCPによって提供されるような信頼性の高いデータストリームを想定しています。 TCPを使用する場合は、ManageSieveサーバは、通常はポート4190でリッスンします。

Before opening the TCP connection, the ManageSieve client first MUST resolve the Domain Name System (DNS) hostname associated with the receiving entity and determine the appropriate TCP port for communication with the receiving entity. The process is as follows:

TCPコネクションを開く前に、ManageSieveクライアントは、最初に受信エンティティに関連付けられているドメインネームシステム(DNS)ホスト名を解決しなければならなくて、受信エンティティと通信するための適切なTCPポートを決定します。次のようにプロセスは次のとおりです。

1. Attempt to resolve the hostname using a [DNS-SRV] Service of "sieve" and a Proto of "tcp" for the target domain (e.g., "example.net"), resulting in resource records such as "_sieve._tcp.example.net.". The result of the SRV lookup, if successful, will be one or more combinations of a port and hostname; the ManageSieve client MUST resolve the returned hostnames to IPv4/IPv6 addresses according to returned SRV record weight. IP addresses from the first successfully resolved hostname (with the corresponding port number returned by SRV lookup) are used to connect to the server. If connection using one of the IP addresses fails, the next resolved IP address is used to connect. If connection to all resolved IP addresses fails, then the resolution/connect is repeated for the next hostname returned by SRV lookup.

例えば、「_sieve._tcpなどリソースレコードで、その結果、ターゲットドメインのための「ふるい」と「TCP」のプロト(例えば、「example.net」)の[DNS-SRV]サービスを使用してホスト名を解決するための1試み.example.net。 "。 SRVルックアップの結果は、成功した場合、ポートおよびホスト名の一つ以上の組み合わせになります。 ManageSieveクライアントは、返されたSRVレコードの重みに応じたIPv4 / IPv6アドレスに返されたホスト名を解決しなければなりません。 (SRVルックアップによって返され、対応するポート番号に)最初に正常に解決、ホスト名からIPアドレスがサーバーに接続するために使用されています。 IPアドレスのいずれかを使用して接続に失敗した場合、次の解決されたIPアドレスは、接続するために使用されます。すべて解決されたIPアドレスへの接続が失敗した場合は、解像度/ SRVルックアップによって返される次のホスト名に対して繰り返される接続します。

2. If the SRV lookup fails, the fallback SHOULD be a normal IPv4 or IPv6 address record resolution to determine the IP address, where the port used is the default ManageSieve port of 4190.

2. SRVルックアップが失敗した場合、フォールバックが使用するポートが4190のデフォルトManageSieveポートでIPアドレスを決定するために、通常のIPv4またはIPv6アドレスの記録解像度であるべきです。

1.9. Conventions Used in This Document
1.9. このドキュメントの表記規則

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 [KEYWORDS].

この文書のキーワード "MUST"、 "MUST NOT"、 "REQUIRED"、、、、 "べきではない" "べきである" "ないもの" "ものとし"、 "推奨"、 "MAY"、および "OPTIONAL" はあります[キーワード]に記載されているように解釈されます。

In examples, "C:" and "S:" indicate lines sent by the client and server respectively. Line breaks that do not start a new "C:" or "S:" exist for editorial reasons.

実施例では、「C:」および「S:」はそれぞれクライアントとサーバから送信されたラインを示します。または「S:」編集の理由のために存在する:新しい「C」を起動していない改行。

Examples of authentication in this document are using DIGEST-MD5 [DIGEST-MD5] and GSSAPI [GSSAPI] SASL mechanisms.

この文書の認証の例としては、DIGEST-MD5 [DIGEST-MD5]とGSSAPI [GSSAPI] SASLメカニズムを使用しています。

2. Commands
2.コマンド

This section and its subsections describe valid ManageSieve commands. Upon initial connection to the server, the client's session is in non-authenticated state. Prior to successful authentication, only the AUTHENTICATE, CAPABILITY, STARTTLS, LOGOUT, and NOOP (see Section 2.13) commands are valid. ManageSieve extensions MAY define other commands that are valid in non-authenticated state. Servers MUST reject all other commands with a NO response. Clients may pipeline commands (send more than one command at a time without waiting for completion of the first command). However, a group of commands sent together MUST NOT have an AUTHENTICATE (*), a STARTTLS, or a HAVESPACE command anywhere but the last command in the list.

このセクションとそのサブセクションでは、有効なManageSieveコマンドを記述します。サーバーへの初期接続時に、クライアントのセッションは、非認証状態になっています。認証が成功する前に、唯一のAUTHENTICATEは、CAPABILITY、STARTTLS、LOGOUT、およびNOOPコマンドは有効です(セクション2.13を参照してください)。 ManageSieve拡張子は非認証された状態で有効な他のコマンドを定義することができます。サーバはNO応答で他のすべてのコマンドを拒絶しなければなりません。クライアントは、パイプラインのコマンドは、(最初​​のコマンドの完了を待たずに、一度に複数のコマンドを送信する)ことがあります。しかし、一緒に送られたコマンドのグループは、AUTHENTICATE(*)、STARTTLS、またはどこかHAVESPACEコマンドが、リスト内の最後のコマンドを持ってはいけません。

(*) - The only exception to this rule is when the AUTHENTICATE command contains an initial response for a SASL mechanism that allows clients to send data first, the mechanism is known to complete in one round trip, and the mechanism doesn't negotiate a SASL security layer. Two examples of such SASL mechanisms are PLAIN [PLAIN] and EXTERNAL [SASL].

(*) - この規則の唯一の例外は、AUTHENTICATEコマンドは、クライアントが最初にデータを送信することを可能にするSASLメカニズムの初期応答が含まれている場合、メカニズムは1回の往復で完了することが知られており、メカニズムは交渉しませんSASLのセキュリティレイヤ。そのようなSASL機構の2つの例は、PLAIN [PLAIN]と外部[SASL]です。

2.1. AUTHENTICATE Command
2.1. AUTHENTICATEコマンド

Arguments: String - mechanism String - initial data (optional)

引数:文字列 - メカニズム文字列 - 初期データ(オプション)

The AUTHENTICATE command indicates a SASL [SASL] authentication mechanism to the server. If the server supports the requested authentication mechanism, it performs an authentication protocol exchange to identify and authenticate the user. Optionally, it also negotiates a security layer for subsequent protocol interactions. If the requested authentication mechanism is not supported, the server rejects the AUTHENTICATE command by sending the NO response.

AUTHENTICATEコマンドは、サーバにSASL [SASL]認証機構を示しています。サーバは要求された認証メカニズムをサポートしている場合、それは利用者を識別し、認証するための認証プロトコル交換を行います。必要に応じて、それはまた、その後のプロトコル相互作用のためのセキュリティ層を交渉します。要求された認証メカニズムがサポートされていない場合、サーバーはNO応答を送信して認証コマンドを拒否します。

The authentication protocol exchange consists of a series of server challenges and client responses that are specific to the selected authentication mechanism. A server challenge consists of a string (quoted or literal) followed by a CRLF. The contents of the string is a base-64 encoding [BASE64] of the SASL data. A client response consists of a string (quoted or literal) with the base-64 encoding of the SASL data followed by a CRLF. If the client wishes to cancel the authentication exchange, it issues a string containing a single "*". If the server receives such a response, it MUST reject the AUTHENTICATE command by sending a NO reply.

認証プロトコル交換は、選択された認証メカニズムに固有のサーバーチャレンジとクライアントの一連の応答で構成されています。サーバのチャレンジはCRLFに続く文字列(引用符で囲まれたまたはリテラル)で構成されています。文字列の内容は、SASLデータのベース64符号化[BASE64]です。クライアント応答は、CRLF続いSASLデータのベース64符号化した文字列(引用またはリテラル)から成ります。クライアントが認証交換を中止したい場合は、それが単一の「*」を含む文字列を発行します。サーバがそのような応答を受信した場合、それはNO応答を送信することによって、AUTHENTICATEコマンドを拒絶しなければなりません。

Note that an empty challenge/response is sent as an empty string. If the mechanism dictates that the final response is sent by the server, this data MAY be placed within the data portion of the SASL response code to save a round trip.

空のチャレンジ/レスポンスが空の文字列として送信されることに注意してください。機構は、最終応答がサーバによって送信されることを指示した場合、このデータは、ラウンドトリップを保存するSASL応答コードのデータ部内に配置することができます。

The optional initial-response argument to the AUTHENTICATE command is used to save a round trip when using authentication mechanisms that are defined to send no data in the initial challenge. When the initial-response argument is used with such a mechanism, the initial empty challenge is not sent to the client and the server uses the data in the initial-response argument as if it were sent in response to the empty challenge. If the initial-response argument to the AUTHENTICATE command is used with a mechanism that sends data in the initial challenge, the server MUST reject the AUTHENTICATE command by sending the NO response.

AUTHENTICATEコマンドにオプションの初期応答の引数は、初期の挑戦にデータを送信しないように定義されている認証メカニズムを使用した場合の往復を保存するために使用されます。初期応答の引数が、このような機構を使用する場合は、最初の空のチャレンジはクライアントに送信されていない、それは空のチャレンジに応答して送信されたかのようにサーバが初期応答引数にデータを使用しています。 AUTHENTICATEコマンドへの初期応答の引数は初期の挑戦にデータを送り機構を使用した場合、サーバは無応答を送信しないことにより、AUTHENTICATEコマンドを拒絶しなければなりません。

The service name specified by this protocol's profile of SASL is "sieve".

SASLのこのプロトコルのプロファイルで指定されたサービス名は「ふるい」です。

Reauthentication is not supported by ManageSieve protocol's profile of SASL. That is, after a successfully completed AUTHENTICATE command, no more AUTHENTICATE commands may be issued in the same session. After a successful AUTHENTICATE command completes, a server MUST reject any further AUTHENTICATE commands with a NO reply.

再認証は、SASLのManageSieveプロトコルのプロファイルでサポートされていません。それが正常に完了AUTHENTICATEコマンドの後に、これ以上のAUTHENTICATEコマンドは、同じセッションで発行されない場合があります。成功したAUTHENTICATEコマンドが完了した後、サーバーはさらにAUTHENTICATEはNO応答でコマンドを拒絶しなければなりません。

However, note that a server may implement the UNAUTHENTICATE extension described in Section 2.14.1.

ただし、サーバは、セクション2.14.1で説明UNAUTHENTICATE拡張を実装することができることに注意してください。

If a security layer is negotiated through the SASL authentication exchange, it takes effect immediately following the CRLF that concludes the successful authentication exchange for the client, and the CRLF of the OK response for the server.

セキュリティ層がSASL認証交換を通して交渉されている場合、それはすぐに、クライアントのために成功した認証交換、およびサーバのOK応答のCRLFを終えるCRLF次のような効果になります。

When a security layer takes effect, the ManageSieve protocol is reset to the initial state (the state in ManageSieve after a client has connected to the server). The server MUST discard any knowledge obtained from the client that was not obtained from the SASL (or TLS) negotiation itself. Likewise, the client MUST discard any knowledge obtained from the server, such as the list of ManageSieve extensions, that was not obtained from the SASL (and/or TLS) negotiation itself. (Note that a client MAY compare the advertised SASL mechanisms before and after authentication in order to detect an active down-negotiation attack. See below.)

セキュリティ層が有効になるときは、ManageSieveプロトコルは、初期状態(クライアントがサーバに接続した後ManageSieveでの状態)にリセットされます。サーバはSASL(またはTLS)ネゴシエーション自体から得られていないクライアントから得た知識を捨てなければなりません。同様に、クライアントは、そのような交渉SASL(および/またはTLS)自体から得られなかったManageSieve拡張子のリストとして、サーバから取得したすべての知識を捨てなければなりません。 (クライアントがアクティブダウン交渉の攻撃を検出するために、認証の前後に広告を出してSASLメカニズムを比較することができることに注意してください。下記を参照してください。)

Once a SASL security layer is established, the server MUST re-issue the capability results, followed by an OK response. This is necessary to protect against man-in-the-middle attacks that alter the capabilities list prior to SASL negotiation. The capability results MUST include all SASL mechanisms the server was capable of negotiating with that client. This is done in order to allow the client to detect an active down-negotiation attack. If a user-oriented client detects such a down-negotiation attack, it SHOULD either notify the user (it MAY give the user the opportunity to continue with the ManageSieve session in this case) or close the transport connection and indicate that a down-negotiation attack might be in progress. If an automated client detects a down-negotiation attack, it SHOULD return or log an error indicating that a possible attack might be in progress and/or SHOULD close the transport connection.

SASLのセキュリティ層が確立されると、サーバはOK応答が続いた能力の結果を、再発行しなければなりません。これは、従来SASL交渉への機能のリストを変更man-in-the-middle攻撃から保護するために必要です。機能の結果は、サーバーがそのクライアントと交渉することができたすべてのSASLメカニズムを含まなければなりません。これは、クライアントがアクティブダウン交渉の攻撃を検出することを可能にするために行われます。ユーザー指向のクライアントは、このようなダウン交渉攻撃を検出した場合、ユーザーに通知する(それがユーザーにこのケースでManageSieveセッションを継続する機会を与える場合があります)またはトランスポート接続をクローズし、そのダウン交渉を示さなければならないのいずれか攻撃が進行中である可能性があります。自動化されたクライアントは、ダウン交渉攻撃を検出した場合、それは可能な攻撃が進行中である可能性があり、および/またはトランスポート接続を閉じる必要があることを示すエラーを返すか、ログインする必要があります。

When both [TLS] and SASL security layers are in effect, the TLS encoding MUST be applied (when sending data) after the SASL encoding.

両方の[TLS]とSASLセキュリティ層が有効である場合SASL符号化後の(データを送信する場合)、TLS符号化が適用されなければなりません。

Server implementations SHOULD support SASL proxy authentication so that an administrator can administer a user's scripts. Proxy authentication is when a user authenticates as herself/himself but requests the server to act (authorize) as another user.

管理者は、ユーザーのスクリプトを管理できるように、サーバーの実装は、SASLのプロキシ認証をサポートする必要があります。ユーザーは/自分として自分自身を認証しますが、別のユーザーとして(認可)行動するサーバーを要求すると、プロキシ認証があります。

The authorization identity generated by this [SASL] exchange is a "simple username" (in the sense defined in [SASLprep]), and both client and server MUST use the [SASLprep] profile of the [StringPrep] algorithm to prepare these names for transmission or comparison. If preparation of the authorization identity fails or results in an empty string (unless it was transmitted as the empty string), the server MUST fail the authentication.

この[SASL]交換により生成された認可IDは、([SASLprep]で定義された意味での)「シンプルなユーザー名」であり、クライアントとサーバーの両方がためにこれらの名前を準備するために、[STRINGPREP]アルゴリズムの[SASLprep]プロファイルを使用しなければなりません伝送または比較。認可IDの作成が失敗した場合や、空の文字列の結果(それは空の文字列として送信された場合を除く)した場合、サーバーは認証が失敗しなければなりません。

If an AUTHENTICATE command fails with a NO response, the client MAY try another authentication mechanism by issuing another AUTHENTICATE command. In other words, the client may request authentication types in decreasing order of preference.

AUTHENTICATEコマンドはNO応答に失敗した場合、クライアントは別のAUTHENTICATEコマンドを発行することによって、別の認証機構を試すかもしれません。言い換えれば、クライアントは、優先順に認証タイプを要求することができます。

Note that a failed (NO) response to the AUTHENTICATE command may contain one of the following response codes: AUTH-TOO-WEAK, ENCRYPT-NEEDED, or TRANSITION-NEEDED. See Section 1.3 for detailed description of the relevant conditions.

AUTH-すぎるWEAK、ENCRYPT必要に応じた、または遷移の必要性:AUTHENTICATEコマンドに失敗した(NO)応答は、以下の応答コードのいずれかを含んでいてもよいことに留意されたいです。関連する条件の詳細については、セクション1.3を参照してください。

To ensure interoperability, both client and server implementations of the ManageSieve protocol MUST implement the SCRAM-SHA-1 [SCRAM] SASL mechanism, as well as [PLAIN] over [TLS].

相互運用性を確保するために、ManageSieveプロトコルのクライアントとサーバーの両方の実装は[TLS]オーバーSCRAM-SHA-1 [SCRAM] SASL機構、ならびに[PLAIN]を実装しなければなりません。

Note: use of PLAIN over TLS reflects current use of PLAIN over TLS in other email-related protocols; however, a longer-term goal is to migrate email-related protocols from using PLAIN over TLS to SCRAM-SHA-1 mechanism.

注意:TLS経由PLAINの使用は、他の電子メール関連のプロトコルでTLSを超えるPLAINの現在の使用を反映しています。しかし、長期的な目標は、メカニズム-SHA-1をスクラムするTLS上PLAINを使用してから、電子メール関連のプロトコルを移行することです。

Examples (Note that long lines are folded for readability and are not part of protocol exchange):

例としては、(長い行は読みやすいように折り畳まれ、プロトコル交換の一部ではないことに注意してください)。

       S: "IMPLEMENTATION" "Example1 ManageSieved v001"
       S: "SASL" "DIGEST-MD5 GSSAPI"
       S: "SIEVE" "fileinto vacation"
       S: "STARTTLS"
       S: "VERSION" "1.0"
       S: OK
       C: Authenticate "DIGEST-MD5"
       S: "cmVhbG09ImVsd29vZC5pbm5vc29mdC5leGFtcGxlLmNvbSIsbm9uY2U9Ik
          9BNk1HOXRFUUdtMmhoIixxb3A9ImF1dGgiLGFsZ29yaXRobT1tZDUtc2Vz
          cyxjaGFyc2V0PXV0Zi04"
       C: "Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iY2hyaXMiLHJlYWxtPSJlbHdvb2
          QuaW5ub3NvZnQuZXhhbXBsZS5jb20iLG5vbmNlPSJPQTZNRzl0RVFHbTJo
          aCIsbmM9MDAwMDAwMDEsY25vbmNlPSJPQTZNSFhoNlZxVHJSayIsZGlnZX
          N0LXVyaT0ic2lldmUvZWx3b29kLmlubm9zb2Z0LmV4YW1wbGUuY29tIixy
          ZXNwb25zZT1kMzg4ZGFkOTBkNGJiZDc2MGExNTIzMjFmMjE0M2FmNyxxb3
          A9YXV0aA=="
       S: OK (SASL "cnNwYXV0aD1lYTQwZjYwMzM1YzQyN2I1NTI3Yjg0ZGJhYmNkZ
          mZmZA==")
        

A slightly different variant of the same authentication exchange is:

同じ認証交換のわずかに異なる変異体です:

       S: "IMPLEMENTATION" "Example1 ManageSieved v001"
       S: "SASL" "DIGEST-MD5 GSSAPI"
       S: "SIEVE" "fileinto vacation"
       S: "VERSION" "1.0"
       S: "STARTTLS"
       S: OK
       C: Authenticate "DIGEST-MD5"
       S: {136}
       S: cmVhbG09ImVsd29vZC5pbm5vc29mdC5leGFtcGxlLmNvbSIsbm9uY2U9Ik
          9BNk1HOXRFUUdtMmhoIixxb3A9ImF1dGgiLGFsZ29yaXRobT1tZDUtc2Vz
          cyxjaGFyc2V0PXV0Zi04
       C: {300+}
       C: Y2hhcnNldD11dGYtOCx1c2VybmFtZT0iY2hyaXMiLHJlYWxtPSJlbHdvb2
          QuaW5ub3NvZnQuZXhhbXBsZS5jb20iLG5vbmNlPSJPQTZNRzl0RVFHbTJo
          aCIsbmM9MDAwMDAwMDEsY25vbmNlPSJPQTZNSFhoNlZxVHJSayIsZGlnZX
          N0LXVyaT0ic2lldmUvZWx3b29kLmlubm9zb2Z0LmV4YW1wbGUuY29tIixy
          ZXNwb25zZT1kMzg4ZGFkOTBkNGJiZDc2MGExNTIzMjFmMjE0M2FmNyxxb3
          A9YXV0aA==
       S: {56}
       S: cnNwYXV0aD1lYTQwZjYwMzM1YzQyN2I1NTI3Yjg0ZGJhYmNkZmZmZA==
       C: ""
       S: OK
        

Another example demonstrating use of SASL PLAIN mechanism under TLS follows. This example also demonstrate use of SASL "initial response" (the second parameter to the Authenticate command):

TLSの下でSASL PLAINメカニズムの別の例を実証使用は、以下の通りです。また、この例は、SASL「初期応答」(認証コマンドの2番目のパラメータ)の使用を示します。

       S: "IMPLEMENTATION" "Example1 ManageSieved v001"
       S: "VERSION" "1.0"
       S: "SASL" ""
       S: "SIEVE" "fileinto vacation"
       S: "STARTTLS"
       S: OK
       C: STARTTLS
       S: OK
       <TLS negotiation, further commands are under TLS layer>
       S: "IMPLEMENTATION" "Example1 ManageSieved v001"
       S: "VERSION" "1.0"
       S: "SASL" "PLAIN"
       S: "SIEVE" "fileinto vacation"
       S: OK
       C: Authenticate "PLAIN" "QJIrweAPyo6Q1T9xu"
       S: NO
       C: Authenticate "PLAIN" "QJIrweAPyo6Q1T9xz"
       S: NO
       C: Authenticate "PLAIN" "QJIrweAPyo6Q1T9xy"
       S: BYE "Too many failed authentication attempts"
       <Server closes connection>
        

The following example demonstrates use of SASL "initial response". It also demonstrates that an empty response can be sent as a literal and that negotiating a SASL security layer results in the server re-issuing server capabilities:

次の例では、SASL「初期対応」の使用方法を示しています。また、空の応答がリテラルとして送信し、サーバの再発行サーバ機能でSASLのセキュリティ層の結果を交渉することをできることを示しています。

       C: AUTHENTICATE "GSSAPI" {1488+}
       C: YIIE[...1480 octets here ...]dA==
       S: {208}
       S: YIGZBgkqhkiG9xIBAgICAG+BiTCBhqADAgEFoQMCAQ+iejB4oAMCARKic
          [...114 octets here ...]
          /yzpAy9p+Y0LanLskOTvMc0MnjgAa4YEr3eJ6
       C: {0+}
       C:
       S: {44}
       S: BQQF/wAMAAwAAAAAYRGFAo6W0vIHti8i1UXODgEAEAA=
       C: {44+}
       C: BQQE/wAMAAwAAAAAIsT1iv9UkZApw471iXt6cwEAAAE=
       S: OK
       <Further commands/responses are under SASL security layer>
       S: "IMPLEMENTATION" "Example1 ManageSieved v001"
       S: "VERSION" "1.0"
       S: "SASL" "PLAIN DIGEST-MD5 GSSAPI"
       S: "SIEVE" "fileinto vacation"
       S: "LANGUAGE" "ru"
       S: "MAXREDIRECTS" "3"
       S: ok
        
2.1.1. Use of SASL PLAIN Mechanism over TLS
2.1.1. TLS経由SASL PLAINメカニズムの使用

This section is normative for ManageSieve client implementations that support SASL [PLAIN] over [TLS].

このセクションでは、[TLS]の上にSASL [PLAIN]をサポートManageSieveクライアント実装のための規範的です。

If a ManageSieve client is willing to use SASL PLAIN over TLS to authenticate to the ManageSieve server, the client MUST verify the server identity (see Section 2.2.1). If the server identity can't be verified (e.g., the server has not provided any certificate, or if the certificate verification fails), the client MUST NOT attempt to authenticate using the SASL PLAIN mechanism.

ManageSieveクライアントがManageSieveサーバーへの認証にTLS上でSASL PLAINを使用する意思がある場合、クライアントはサーバーの身元を(2.2.1項を参照)を確かめなければなりません。サーバーの身元が確認できない場合(例えば、サーバーは、すべての証明書を提供していない、または証明書の検証が失敗した場合)、クライアントはSASL PLAINメカニズムを使用して認証を試みてはいけません。

2.2. STARTTLS Command
2.2. STARTTLSコマンド

Support for STARTTLS command in servers is optional. Its availability is advertised with "STARTTLS" capability as described in Section 1.7.

サーバでSTARTTLSコマンドのサポートはオプションです。 1.7節で説明したように、その可用性は、「STARTTLS」機能でアドバタイズされます。

The STARTTLS command requests commencement of a TLS [TLS] negotiation. The negotiation begins immediately after the CRLF in the OK response. After a client issues a STARTTLS command, it MUST

TLS [TLS]交渉のSTARTTLSコマンド要求を開始。交渉はOK応答でCRLFの直後に開始されます。クライアントがSTARTTLSコマンドを発行した後、それはMUST

NOT issue further commands until a server response is seen and the TLS negotiation is complete.

サーバーの応答が見られるとTLSネゴシエーションが完了するまで、さらにコマンドを発行しません。

The STARTTLS command is only valid in non-authenticated state. The server remains in non-authenticated state, even if client credentials are supplied during the TLS negotiation. The SASL [SASL] EXTERNAL mechanism MAY be used to authenticate once TLS client credentials are successfully exchanged, but servers supporting the STARTTLS command are not required to support the EXTERNAL mechanism.

STARTTLSコマンドは非認証状態でのみ有効です。サーバーは、クライアントの資格情報は、TLSネゴシエーション中に供給されていても、非認証状態のまま。 SASL [SASL]外部機構は、TLSクライアントの資格情報が正常に交換された後の認証に使用することができるが、STARTTLSコマンドをサポートするサーバは、外部機構をサポートする必要はありません。

After the TLS layer is established, the server MUST re-issue the capability results, followed by an OK response. This is necessary to protect against man-in-the-middle attacks that alter the capabilities list prior to STARTTLS. This capability result MUST NOT include the STARTTLS capability.

TLS層が確立された後、サーバーを再発行しなければなりません能力の結果、OK応答が続きます。これはSTARTTLSに先立って機能のリストを変更man-in-the-middle攻撃から保護するために必要です。この機能の結果はSTARTTLS機能を含んではいけません。

The client MUST discard cached capability information and replace it with the new information. The server MAY advertise different capabilities after STARTTLS.

クライアントは、キャッシュされた能力情報を破棄し、新しい情報とそれを交換する必要があります。サーバがSTARTTLSの後に別の機能を通知してもよい(MAY)。

Example:

例:

C: StartTls S: oK <TLS negotiation, further commands are under TLS layer> S: "IMPLEMENTATION" "Example1 ManageSieved v001" S: "SASL" "PLAIN DIGEST-MD5 GSSAPI" S: "SIEVE" "fileinto vacation" S: "VERSION" "1.0" S: "LANGUAGE" "fr" S: ok

C:STARTTLSはS: "実装" "例1 ManageSievedのV001" S: "SASL" "PLAIN DIGEST-MD5 GSSAPI" S: "SIEVE" "のfileintoの休暇" S:OK S <TLS折衝、さらにコマンドはTLS層の下にあります> "VERSION" "1.0" S: "LANGUAGE" "FR" S:OK

2.2.1. Server Identity Check
2.2.1. サーバーのアイデンティティを確認

During the TLS negotiation, the ManageSieve client MUST check its understanding of the server hostname/IP address against the server's identity as presented in the server Certificate message, in order to prevent man-in-the-middle attacks. In this section, the client's understanding of the server's identity is called the "reference identity".

man-in-the-middle攻撃を防ぐために、サーバ証明書メッセージに提示されるTLSネゴシエーションの間、ManageSieveクライアントはサーバーのIDに対するサーバーのホスト名/ IPアドレスのその理解をチェックしなければなりません。このセクションでは、サーバーのIDのクライアントの理解は「基準アイデンティティ」と呼ばれています。

Checking is performed according to the following rules:

チェックは、次の規則に従って実行されます。

o If the reference identity is a hostname:

参照IDがホスト名の場合○:

1. If a subjectAltName extension of the SRVName [X509-SRV], dNSName [X509] (in that order of preference) type is present in the server's certificate, then it SHOULD be used as the source of the server's identity. Matching is performed as described in Section 2.2.1.1, with the exception that no wildcard matching is allowed for SRVName type. If the certificate contains multiple names (e.g., more than one dNSName field), then a match with any one of the fields is considered acceptable.

SRVNAME [X509-SRV]のsubjectAltName拡張は、のdNSNameは[X509]タイプ(優先の順序で)、サーバの証明書に存在している場合1、それはサーバのアイデンティティの源として使用されるべきです。セクション2.2.1.1に記載されるように整合がないワイルドカードマッチングをSRVNAMEタイプに許容されないことを除いて、行われます。証明書が複数の名前が含まれている場合(例えば、複数のdNSNameフィールドが)、その後のフィールドのいずれかとの一致が許容されると考えられます。

2. The client MAY use other types of subjectAltName for performing comparison.

2.クライアントは、比較を実行するためのsubjectAltNameの他のタイプを使用するかもしれません。

3. The server's identity MAY also be verified by comparing the reference identity to the Common Name (CN) [RFC4519] value in the leaf Relative Distinguished Name (RDN) of the subjectName field of the server's certificate. This comparison is performed using the rules for comparison of DNS names in Section 2.2.1.1, below. Although the use of the Common Name value is existing practice, it is deprecated, and Certification Authorities are encouraged to provide subjectAltName values instead. Note that the TLS implementation may represent DNs in certificates according to X.500 or other conventions. For example, some X.500 implementations order the RDNs in a DN using a left-to-right (most significant to least significant) convention instead of LDAP's right-to-left convention.

3.サーバのアイデンティティは、サーバの証明書のSubjectName項目の葉の相対識別名(RDN)の共通名(CN)[RFC4519]の値を参照の同一性を比較することによって検証することができます。この比較は以下のセクション2.2.1.1でDNS名の比較のための規則を使用して行われます。共通名の値の使用は練習を既存しているが、これは廃止され、および認証機関が代わりのsubjectAltName値を提供することが奨励されています。 TLS実装がX.500または他の規則に従って証明書にDNを表してもよいことに留意されたいです。例えば、いくつかのX.500実装は左から右(最下位に最も重要な)条約の代わりに、LDAPの右から左への規則を使用してDN内のRDNを注文します。

o When the reference identity is an IP address, the iPAddress subjectAltName SHOULD be used by the client for comparison. The comparison is performed as described in Section 2.2.1.2.

参照IDはIPアドレスである場合には、O、IPアドレスのsubjectAltNameは、比較のために、クライアントによって使用されるべきです。セクション2.2.1.2に記載されるように比較が行われます。

If the server identity check fails, user-oriented clients SHOULD either notify the user (clients MAY give the user the opportunity to continue with the ManageSieve session in this case) or close the transport connection and indicate that the server's identity is suspect. Automated clients SHOULD return or log an error indicating that the server's identity is suspect and/or SHOULD close the transport connection. Automated clients MAY provide a configuration setting that disables this check, but MUST provide a setting that enables it.

サーバーIDチェックが失敗した場合、ユーザー指向のクライアントは、ユーザーに通知する必要がありどちらか(クライアントは、ユーザーが、この場合にManageSieveセッションを継続する機会を与える場合があります)またはトランスポート接続を閉じ、サーバのアイデンティティが疑わしいであることを示しています。自動化されたクライアントは、サーバのアイデンティティが疑わしい及び/またはトランスポート接続を閉じる必要があることを示すエラーを返すか、ログインする必要があります。自動化されたクライアントは、このチェックを無効にしますが、それを可能に設定を提供しなければならない構成設定を提供することができます。

Beyond the server identity check described in this section, clients should be prepared to do further checking to ensure that the server is authorized to provide the service it is requested to provide. The client may need to make use of local policy information in making this determination.

このセクションで説明するサーバIDチェックを越えて、クライアントはさらに、サーバは、提供するように要求されたサービスを提供することを許可されていることを確認するチェックを行うために準備する必要があります。クライアントは、この決意を行う際に、ローカルポリシー情報を利用するために必要があるかもしれません。

2.2.1.1. Comparison of DNS Names
2.2.1.1。 DNS名の比較

If the reference identity is an internationalized domain name, conforming implementations MUST convert it to the ASCII Compatible Encoding (ACE) format as specified in Section 4 of RFC 3490 [RFC3490] before comparison with subjectAltName values of type dNSName. Specifically, conforming implementations MUST perform the conversion operation specified in Section 4 of [RFC3490] as follows:

基準IDは国際化ドメイン名である場合型のdNSNameののsubjectAltName値と比較する前に、RFC 3490 [RFC3490]のセクション4で指定されるように、適合実装は、ASCII互換エンコーディング(ACE)形式に変換しなければなりません。具体的には、以下のよう適合実装は、[RFC3490]のセクション4で指定された変換操作を実行する必要があります。

o in step 1, the domain name SHALL be considered a "stored string";

O、ステップ1で、ドメイン名は、「保存された文字列」と見なさなければなりません。

o in step 3, set the flag called "UseSTD3ASCIIRules";

O、ステップ3で、「UseSTD3ASCIIRules」と呼ばれるフラグを設定します。

o in step 4, process each label with the "ToASCII" operation; and

ステップ4、工程「もしToASCII」操作で各ラベルにOであり;そして

o in step 5, change all label separators to U+002E (full stop).

ステップ5において、O、U + 002E(完全停止)へのすべてのラベルの区切りを変更します。

After performing the "to-ASCII" conversion, the DNS labels and names MUST be compared for equality according to the rules specified in Section 3 of [RFC3490]; i.e., once all label separators are replaced with U+002E (dot) they are compared in the case-insensitive manner.

「へ-ASCII」変換を行った後、DNSラベルと名は[RFC3490]のセクション3で指定された規則に従って等しいかどうかを比較しなければなりません。即ち、一度すべてのラベルセパレータは、それらが大文字と小文字を区別しない方法で比較されるU + 002E(ドット)で置き換えられます。

The '*' (ASCII 42) wildcard character is allowed in subjectAltName values of type dNSName, and then only as the left-most (least significant) DNS label in that value. This wildcard matches any left-most DNS label in the server name. That is, the subject *.example.com matches the server names a.example.com and b.example.com, but does not match example.com or a.b.example.com.

「*」(ASCII 42)ワイルドカード文字は、型のdNSNameのsubjectAltNameの値で許可されており、その後、その値だけでは、一番左の(最下位)DNSラベルとして。このワイルドカードは、サーバー名に任意の一番左のDNSラベルと一致します。つまり、対象* .example.comとは、サーバー名a.example.comとb.example.comと一致しますが、example.comまたはa.b.example.comと一致していないです。

2.2.1.2. Comparison of IP Addresses
2.2.1.2。 IPアドレスの比較

When the reference identity is an IP address, the identity MUST be converted to the "network byte order" octet string representation [RFC791][RFC2460]. For IP Version 4, as specified in RFC 791, the octet string will contain exactly four octets. For IP Version 6, as specified in RFC 2460, the octet string will contain exactly sixteen octets. This octet string is then compared against subjectAltName values of type iPAddress. A match occurs if the reference identity octet string and value octet strings are identical.

基準IDはIPアドレスである場合、同一性「とは、ネットワークバイト順」オクテットストリング表現[RFC791] [RFC2460]に変換されなければなりません。 IPバージョン4の場合、RFC 791で指定されているように、オクテット文字列は正確に4オクテットを含んでいます。 IPバージョン6の場合は、RFC 2460で指定されているように、オクテット文字列は、正確に16オクテットを含んでいます。このオクテット文字列は、その後のタイプIPアドレスののsubjectAltName値と比較されます。参照アイデンティティオクテット文字列と値のオクテット文字列が同一である場合、一致が発生します。

2.2.1.3. Comparison of Other subjectName Types
2.2.1.3。その他のSubjectNameタイプの比較

Client implementations MAY support matching against subjectAltName values of other types as described in other documents.

他の文書に記載されているように、クライアントの実装は、他のタイプののsubjectAltName値に対するマッチングをサポートするかもしれません。

2.3. LOGOUT Command
2.3. LOGOUTコマンド

The client sends the LOGOUT command when it is finished with a connection and wishes to terminate it. The server MUST reply with an OK response. The server MUST ignore commands issued by the client after the LOGOUT command.

クライアントは、それが終了すると、接続してLOGOUTコマンドを送信し、それを終了することを希望します。サーバはOK応答で返答しなければなりません。サーバはLOGOUTコマンドの後にクライアントによって発行されたコマンドを無視しなければなりません。

The client SHOULD wait for the OK response before closing the connection. This avoids the TCP connection going into the TIME_WAIT state on the server. In order to avoid going into the TIME_WAIT TCP state, the server MAY wait for a short while for the client to close the TCP connection first. Whether or not the server waits for the client to close the connection, it MUST then close the connection itself.

クライアントが接続を閉じる前にOK応答を待つべきです。これは、サーバー上のTIME_WAIT状態に入るTCP接続を回避できます。 TIME_WAIT TCPの状態になる避けるために、サーバは、最初のTCP接続を閉じるには、クライアントのためにしばらく待ってもよいです。サーバが接続を閉じるには、クライアントを待ちかどうかにかかわらず、それはその後、接続自体を閉じる必要があります。

Example:

例:

C: Logout S: Ok <connection is terminated>

C:ログアウトS:OK <接続が終了します>

2.4. CAPABILITY Command
2.4. CAPABILITYコマンド

The CAPABILITY command requests the server capabilities as described earlier in this document. It has no parameters.

以前、このドキュメントに記載されているようにCAPABILITYコマンドは、サーバーの機能を要求します。これは、パラメータはありません。

Example:

例:

C: CAPABILITY S: "IMPLEMENTATION" "Example1 ManageSieved v001" S: "VERSION" "1.0" S: "SASL" "PLAIN SCRAM-SHA-1 GSSAPI" S: "SIEVE" "fileinto vacation" S: "STARTTLS" S: OK

C:CAPABILITYのS: "実装"、 "例1 ManageSievedのV001" S: "VERSION" "1.0" S "SASL" "PLAIN SCRAM-SHA-1 GSSAPI" S "SIEVE" "のfileinto休暇" S: "STARTTLS" S : OK

2.5. HAVESPACE Command
2.5. HAVESPACEコマンド

Arguments: String - name Number - script size

引数:文字列 - 名前の数 - スクリプトのサイズ

The HAVESPACE command is used to query the server for available space. Clients specify the name they wish to save the script as and its size in octets. Both parameters can be used by the server to see if the script with the specified name and size is within a user's quota(s). For example, the server MAY use the script name to check if a script would be replaced or a new one would be created. Servers respond with a NO if storing a script with that name and size would fail or OK otherwise. Clients SHOULD issue this command before attempting to place a script on the server.

HAVESPACEコマンドが利用可能なスペースのためにサーバーを照会するために使用されます。クライアントは、オクテットでスクリプトとして、そのサイズを保存したい名前を指定します。両方のパラメータが指定された名前とサイズを持つスクリプトは、ユーザーのクォータ(S)内にあるかどうかを確認するために、サーバで使用することができます。例えば、サーバは、スクリプトが置き換えられるか、新しいものが作成されるかどうかをチェックするためにスクリプト名を使用するかもしれません。その名前とサイズでスクリプトを保存することはOKそれ以外の場合は失敗するか考えている場合、サーバーがNOで応答します。クライアントは、サーバー上でスクリプトを配置する前に、このコマンドを発行する必要があります。

Note that the OK response from the HAVESPACE command does not constitute a guarantee of success as server disk space conditions could change between the client issuing the HAVESPACE and the client issuing the PUTSCRIPT commands. A QUOTA response code (see Section 1.3) remains a possible (albeit unlikely) response to a subsequent PUTSCRIPT with the same name and size.

サーバーのディスク容量条件はHAVESPACEを発行するクライアントとPUTSCRIPTコマンドを発行するクライアントの間で変更することができますようHAVESPACEコマンドからOK応答が成功の保証を構成するものではないことに注意してください。 QUOTA応答コード(セクション1.3を参照)と同じ名前とサイズを持つ後続PUTSCRIPTに可能(そういえ)応答のままです。

Example:

例:

C: HAVESPACE "myscript" 999999 S: NO (QUOTA/MAXSIZE) "Quota exceeded"

C:HAVESPACE "のMyScript" 999999 S:NO(QUOTA / MAXSIZE) "クォータが超過しました"

C: HAVESPACE "foobar" 435 S: OK

C:HAVESPACE "foobarの" 435 S:OK

2.6. PUTSCRIPT Command
2.6. PUTSCRIPTコマンド

Arguments: String - Script name String - Script content

引数:文字列 - スクリプト名文字列 - スクリプトの内容

The PUTSCRIPT command is used by the client to submit a Sieve script to the server.

PUTSCRIPTコマンドは、サーバにSieveスクリプトを提出するために、クライアントによって使用されます。

If the script already exists, upon success the old script will be overwritten. The old script MUST NOT be overwritten if PUTSCRIPT fails in any way. A script of zero length SHOULD be disallowed.

スクリプトがすでに存在する場合は、成功すると古いスクリプトが上書きされます。 PUTSCRIPTはどのような方法で失敗した場合は、古いスクリプトが上書きされてはなりません。長さがゼロのスクリプトが禁止されるべきです。

This command places the script on the server. It does not affect whether the script is processed on incoming mail, unless it replaces the script that is already active. The SETACTIVE command is used to mark a script as active.

このコマンドは、サーバー上でスクリプトを配置します。それはすでにアクティブになっているスクリプトを置き換えない限り、それは、スクリプトは受信メール上で処理されたかどうかには影響しません。 setActiveコマンドは、アクティブとしてスクリプトをマークするために使用されます。

When submitting large scripts, clients SHOULD use the HAVESPACE command beforehand to query if the server is willing to accept a script of that size.

大規模なスクリプトを提出する際に、クライアントは、サーバがそのサイズのスクリプトを受け入れることを望んであれば照会し、事前にHAVESPACEコマンドを使用すべきです。

The server MUST check the submitted script for validity, which includes checking that the script complies with the Sieve grammar [SIEVE] and that all Sieve extensions mentioned in the script's "require" statement(s) are supported by the Sieve interpreter. (Note that if the Sieve interpreter supports the Sieve "ihave" extension [I-HAVE], any unrecognized/unsupported extension mentioned in the "ihave" test MUST NOT cause the validation failure.) Other checks such as validating the supplied command arguments for each command MAY be performed. Essentially, the performed validation SHOULD be the same as performed when compiling the script for execution. Implementations that use a binary representation to store compiled scripts can extend the validation to a full compilation, in order to avoid validating uploaded scripts multiple times.

サーバは、スクリプトは[SIEVE]ふるい文法に準拠し、スクリプトの「必要」の文(S)に記載されたすべてのふるいの拡張機能がふるいインタプリタによってサポートされていることを確認することを含む、有効性のために提出されたスクリプトをチェックしなければなりません。このように供されるコマンド引数を検証するとして(ふるいインタプリタはふるい「IHAVE」拡張[I-HAVE]、テストで検証エラーを引き起こしてはならない「IHAVE」に記載されたいずれかの認識できない/サポートされていない拡張機能をサポートしている場合があります。)その他のチェック各コマンドを実行することができます。基本的に、行っ検証は実行するためのスクリプトをコンパイルするときに実行と同じでなければなりません。コンパイルされたスクリプトを格納するためのバイナリ表現を使用する実装は、アップロードされたスクリプトを複数回検証を避けるために、フル・コンパイルにバリデーションを拡張することができます。

If the script fails the validation, the server MUST reply with a NO response. Any script that fails the validity test MUST NOT be stored on the server. The message given with a NO response MUST be human readable and SHOULD contain a specific error message giving the line number of the first error. Implementors should strive to produce helpful error messages similar to those given by programming language compilers. Client implementations should note that this may be a multiline literal string with more than one error message separated by CRLFs. The human-readable message is in the language returned in the latest LANGUAGE capability (or in "i-default"; see Section 1.7), encoded in UTF-8 [UTF-8].

スクリプトが検証に失敗した場合、サーバーはNO応答で返答しなければなりません。妥当性テストに失敗した任意のスクリプトはサーバー上に保存されてはなりません。 NO応答で指定されたメッセージが読み取り可能なヒトなければならず、最初のエラーの行番号を与え、特定のエラーメッセージを含むべきです。実装者は、プログラミング言語コンパイラによって与えられたものと同様で有用なエラーメッセージを生成するために努力すべきです。クライアントの実装は、これはのCRLFで区切られた複数のエラーメッセージを複数行の文字列リテラルであってもよいことに留意すべきです。人間が読める形式のメッセージは、最新の言語機能に返される言語である(または「I-デフォルト」で、1.7項を参照)、UTF-8でエンコードされた[UTF-8]。

An OK response MAY contain the WARNINGS response code. In such a case the human-readable message that follows the OK response SHOULD contain a specific warning message (or messages) giving the line number(s) in the script that might contain errors not intended by the script writer. The human-readable message is in the language returned in the latest LANGUAGE capability (or in "i-default"; see Section 1.7), encoded in UTF-8 [UTF-8]. A client seeing such a response code SHOULD present the message to the user.

OK応答は、警告がコードを応答含むかもしれません。そのような場合にはOK応答を、以下の人間が読める形式のメッセージは、特定の警告メッセージ(またはメッセージ)スクリプトライターが意図していないエラーが含まれる可能性があるスクリプト内の行番号(S)を与えるを含むべきです。人間が読める形式のメッセージは、最新の言語機能に返される言語である(または「I-デフォルト」で、1.7項を参照)、UTF-8でエンコードされた[UTF-8]。このような応答コードを見て、クライアントは、ユーザーにメッセージを提示しなければなりません。

Examples:

例:

C: Putscript "foo" {31+} C: #comment C: InvalidSieveCommand C: S: NO "line 2: Syntax error"

C:Putscript "FOO" {31+} C:ある#Comment C:InvalidSieveCommand C:S:NO "行2:構文エラー"

       C: Putscript "mysievescript" {110+}
       C: require ["fileinto"];
       C:
       C: if envelope :contains "to" "tmartin+sent" {
       C:   fileinto "INBOX.sent";
       C: }
       S: OK
        
       C: Putscript "myforwards" {190+}
       C: redirect "111@example.net";
       C:
       C: if size :under 10k {
       C:     redirect "mobile@cell.example.com";
       C: }
       C:
       C: if envelope :contains "to" "tmartin+lists" {
       C:     redirect "lists@groups.example.com";
       C: }
       S: OK (WARNINGS) "line 8: server redirect action
               limit is 2, this redirect might be ignored"
        
2.7. LISTSCRIPTS Command
2.7. LISTSCRIPTSコマンド

This command lists the scripts the user has on the server. Upon success, a list of CRLF-separated script names (each represented as a quoted or literal string) is returned followed by an OK response. If there exists an active script, the atom ACTIVE is appended to the corresponding script name. The atom ACTIVE MUST NOT appear on more than one response line.

このコマンドは、ユーザーがサーバー上で持っているスクリプトを示しています。成功した場合、CRLFで区切られたスクリプト名(それぞれが引用されたか、リテラル文字列として表される)のリストは、OK応答が続く返されます。アクティブスクリプトが存在する場合、ACTIVE原子は、対応するスクリプト名に付加されています。 ACTIVE原子は、複数の応答行に表示されてはなりません。

Example:

例:

C: Listscripts S: "summer_script" S: "vacation_script" S: {13} S: clever"script S: "main_script" ACTIVE S: OK

C:Listscripts S: "summer_script" S "vacation_script" S:{13} S:賢い "スクリプトS: "main_script" ACTIVE S:OK

C: listscripts S: "summer_script" S: "main_script" active S: OK

C:listscriptsのS: "summer_script" S: "main_script" アクティブS:OK

2.8. SETACTIVE Command
2.8. setActiveコマンド

Arguments: String - script name

引数:文字列 - スクリプト名

This command sets a script active. If the script name is the empty string (i.e., ""), then any active script is disabled. Disabling an active script when there is no script active is not an error and MUST result in an OK reply.

このコマンドは、アクティブスクリプトを設定します。スクリプト名が空の文字列(つまり、「」)であれば、任意のアクティブスクリプトが無効になっています。アクティブ一切スクリプトがない場合、アクティブスクリプトを無効にすると、エラーではないとOKの返信をもたらさなければなりません。

If the script does not exist on the server, then the server MUST reply with a NO response. Such a reply SHOULD contain the NONEXISTENT response code.

スクリプトがサーバー上に存在しない場合、サーバーはNO応答で返答しなければなりません。このような応答は、存在しない応答コードを含むべきです。

Examples:

例:

C: Setactive "vacationscript" S: Ok

C:のsetActive "vacationscript" S:OK

C: Setactive "" S: Ok

C:のsetActive "" S:OK

C: Setactive "baz" S: No (NONEXISTENT) "There is no script by that name"

C:のsetActive「バズ」S:いいえ(存在しない)「その名前のスクリプトがありません」

C: Setactive "baz" S: No (NONEXISTENT) {31} S: There is no script by that name

C:のsetActive "バズ" S:いいえ(存在しない){31} S:NOスクリプトは、その名前によってはありません

2.9. GETSCRIPT Command
2.9. GETSCRIPTコマンド

Arguments: String - script name

引数:文字列 - スクリプト名

This command gets the contents of the specified script. If the script does not exist, the server MUST reply with a NO response. Such a reply SHOULD contain the NONEXISTENT response code.

このコマンドは、指定されたスクリプトの内容を取得します。スクリプトが存在しない場合、サーバーはNO応答で返答しなければなりません。このような応答は、存在しない応答コードを含むべきです。

Upon success, a string with the contents of the script is returned followed by an OK response.

成功した場合、スクリプトの内容を持つ文字列はOK応答が続く返されます。

Example:

例:

C: Getscript "myscript" S: {54} S: #this is my wonderful script S: reject "I reject all"; S: S: OK

C:Getscript "のMyScript" S:{54} S:#これは私の素晴らしいスクリプトSである: "私はすべてを拒否" 拒否。 S:S:OK

2.10. DELETESCRIPT Command
2.10. DeleteScriptをコマンド

Arguments: String - script name

引数:文字列 - スクリプト名

This command is used to delete a user's Sieve script. Servers MUST reply with a NO response if the script does not exist. Such responses SHOULD include the NONEXISTENT response code.

このコマンドは、ユーザーのSieveスクリプトを削除するために使用されます。スクリプトが存在しない場合、サーバはNO応答で返答しなければなりません。このような応答が存在しない応答コードを含むべきです。

The server MUST NOT allow the client to delete an active script, so the server MUST reply with a NO response if attempted. Such a response SHOULD contain the ACTIVE response code. If a client wishes to delete an active script, it should use the SETACTIVE command to disable the script first.

サーバーは、クライアントがアクティブスクリプトを削除しないようにする必要があり、そうしようとした場合、サーバーはNO応答で返答しなければなりません。このような応答は、ACTIVE応答コードを含むべきです。クライアントがアクティブスクリプトを削除したい場合は、最初のスクリプトを無効にするのsetActiveコマンドを使用する必要があります。

Example:

例:

C: Deletescript "foo" S: Ok

C:DeleteScriptを "foo" というS:OK

C: Deletescript "baz" S: No (ACTIVE) "You may not delete an active script"

C:DeleteScriptを "バズ" S:いいえ(ACTIVE) "あなたは、アクティブスクリプトを削除しないこと"

2.11. RENAMESCRIPT Command
2.11. RENAMESCRIPTコマンド

Arguments: String - Old Script name String - New Script name

引数:文字列 - オールドスクリプト名の文字列 - 新しいスクリプト名

This command is used to rename a user's Sieve script. Servers MUST reply with a NO response if the old script does not exist (in which case the NONEXISTENT response code SHOULD be included), or a script with the new name already exists (in which case the ALREADYEXISTS response code SHOULD be included). Renaming the active script is allowed; the renamed script remains active.

このコマンドは、ユーザーのSieveスクリプトの名前を変更するために使用されます。古いスクリプトが(存在しない応答コードが含まれるべきである場合には)存在しないか、または新しい名前でスクリプトがすでに(ALREADYEXISTS応答コードが含まれるべきである場合には)存在する場合、サーバはNO応答で返答しなければなりません。アクティブスクリプトの名前を変更する許可されています。名前を変更したスクリプトはアクティブなまま。

Example:

例:

C: Renamescript "foo" "bar" S: Ok

C:Renamescript "foo" という "バー" S:OK

C: Renamescript "baz" "bar" S: No "bar already exists"

C:Renamescript「バズ」「バー」S:いいえ「バーがすでに存在しています」

If the server doesn't support the RENAMESCRIPT command, the client can emulate it by performing the following steps:

サーバがRENAMESCRIPTコマンドをサポートしていない場合、クライアントは、次の手順を実行して、それをエミュレートすることができます。

1. List available scripts with LISTSCRIPTS. If the script with the new script name exists, then the client should ask the user whether to abort the operation, to replace the script (by issuing the DELETESCRIPT <newname> after that), or to choose a different name.

1.リストLISTSCRIPTSで使用可能なスクリプト。新しいスクリプト名を持つスクリプトが存在する場合、クライアントは、(その後DeleteScriptを<newnameの>を発行して)スクリプトを置き換えるために、または別の名前を選択し、操作を中止するかどうかをユーザーに尋ねる必要があります。

2. Download the old script with GETSCRIPT <oldname>.
2. GETSCRIPT <OLDNAME>で古いスクリプトをダウンロードしてください。
3. Upload the old script with the new name: PUTSCRIPT <newname>.
PUTSCRIPT <newnameの>:3.新しい名前で古いスクリプトをアップロードします。

4. If the old script was active (as reported by LISTSCRIPTS in step 1), then make the new script active: SETACTIVE <newname>.

4.古いスクリプトは、(ステップ1でLISTSCRIPTSによって報告されるように)活躍した後、新しいスクリプトをアクティブにした場合:のsetActive <newnameの>。

5. Delete the old script: DELETESCRIPT <oldname>.
DeleteScriptを<OLDNAME>:5.古いスクリプトを削除します。

Note that these steps don't describe how to handle various other error conditions (for example, NO response containing QUOTA response code in step 3). Error handling is left as an exercise for the reader.

これらの手順は、他の様々なエラー条件を処理する方法を説明しないことに注意してください(例えば、ステップ3でNO応答含むQUOTA応答コード)。エラー処理は読者の課題として残されています。

2.12. CHECKSCRIPT Command
2.12. CHECKSCRIPTコマンド

Arguments: String - Script content

引数:文字列 - スクリプトの内容

The CHECKSCRIPT command is used by the client to verify Sieve script validity without storing the script on the server.

CHECKSCRIPTコマンドは、サーバー上でスクリプトを保存せずにSieveスクリプトの妥当性を検証するために、クライアントによって使用されます。

The server MUST check the submitted script for syntactic validity, which includes checking that all Sieve extensions mentioned in Sieve script "require" statement(s) are supported by the Sieve interpreter. (Note that if the Sieve interpreter supports the Sieve "ihave" extension [I-HAVE], any unrecognized/unsupported extension mentioned in the "ihave" test MUST NOT cause the syntactic validation failure.) If the script fails this test, the server MUST reply with a NO response. The message given with a NO response MUST be human readable and SHOULD contain a specific error message giving the line number of the first error. Implementors should strive to produce helpful error messages similar to those given by programming language compilers. Client implementations should note that this may be a multiline literal string with more than one error message separated by CRLFs. The human-readable message is in the language returned in the latest LANGUAGE capability (or in "i-default"; see Section 1.7), encoded in UTF-8 [UTF-8].

サーバーは、ふるいインタプリタによってサポートされているSieveスクリプトで言及した全てのSieve拡張文(複数可)を「必要」というチェックも含まれ構文の妥当性、のために提出されたスクリプトをチェックしなければなりません。 、スクリプトがこのテストに失敗した場合、サーバ(ふるいインタプリタはふるい「IHAVE」拡張[I-HAVE]、テストは構文検証の失敗を引き起こしてはならない。「IHAVE」に記載されたいずれかの認識できない/サポートされていない拡張機能をサポートしている場合があります) NO応答で返答しなければなりません。 NO応答で指定されたメッセージが読み取り可能なヒトなければならず、最初のエラーの行番号を与え、特定のエラーメッセージを含むべきです。実装者は、プログラミング言語コンパイラによって与えられたものと同様で有用なエラーメッセージを生成するために努力すべきです。クライアントの実装は、これはのCRLFで区切られた複数のエラーメッセージを複数行の文字列リテラルであってもよいことに留意すべきです。人間が読める形式のメッセージは、最新の言語機能に返される言語である(または「I-デフォルト」で、1.7項を参照)、UTF-8でエンコードされた[UTF-8]。

Examples:

例:

C: CheckScript {31+} C: #comment C: InvalidSieveCommand C: S: NO "line 2: Syntax error"

C:CheckScript {31+} C:ある#Comment C:InvalidSieveCommand C:S:NO "行2:構文エラー"

A ManageSieve server supporting this command MUST NOT check if the script will put the current user over its quota limit.

スクリプトは、そのクォータの制限を超えて現在のユーザーを置く場合は、このコマンドをサポートするManageSieveサーバがチェックしてはなりません。

An OK response MAY contain the WARNINGS response code. In such a case, the human-readable message that follows the OK response SHOULD contain a specific warning message (or messages) giving the line number(s) in the script that might contain errors not intended by the script writer. The human-readable message is in the language returned in the latest LANGUAGE capability (or in "i-default"; see Section 1.7), encoded in UTF-8 [UTF-8]. A client seeing such a response code SHOULD present the message to the user.

OK応答は、警告がコードを応答含むかもしれません。そのような場合には、OK応答を、以下の人間が読めるメッセージには、特定の警告メッセージ(またはメッセージ)スクリプトライターが意図していないエラーが含まれる可能性があるスクリプト内の行番号(S)を与えるを含むべきです。人間が読める形式のメッセージは、最新の言語機能に返される言語である(または「I-デフォルト」で、1.7項を参照)、UTF-8でエンコードされた[UTF-8]。このような応答コードを見て、クライアントは、ユーザーにメッセージを提示しなければなりません。

2.13. NOOP Command
2.13. NOOPコマンド

Arguments: String - tag to echo back (optional)

引数:文字列 - エコーバックするタグ(オプション)

The NOOP command does nothing, beyond returning a response to the client. It may be used by clients for protocol re-synchronization or to reset any inactivity auto-logout timer on the server.

NOOPコマンドは、クライアントに応答を返す超えて、何もしません。これは、プロトコルの再同期のためにクライアントによって使用され得るか、またはサーバー上の任意の不活発自動ログアウトタイマーをリセットします。

The response to the NOOP command is always OK, followed by the TAG response code together with the supplied string. If no string was supplied in the NOOP command, the TAG response code MUST NOT be included.

NOOPコマンドへの応答は、与えられた文字列と一緒にタグ応答コードが続く、常にOKです。文字列がNOOPコマンドに提供されなかった場合は、タグ応答コードを含んではいけません。

Examples:

例:

C: NOOP S: OK "NOOP completed"

C:NOOP Sは:OK "NOOP完了しました"

C: NOOP "STARTTLS-SYNC-42" S: OK (TAG {16} S: STARTTLS-SYNC-42) "Done"

C:NOOP "STARTTLS-SYNC-42" S:OK(TAG {16} S:STARTTLS-SYNC-42) "完了"

2.14. Recommended Extensions
2.14. 推奨拡張機能

The UNAUTHENTICATE extension (advertised as the "UNAUTHENTICATE" capability with no parameters) defines a new UNAUTHENTICATE command, which allows a client to return the server to non-authenticated state. Support for this extension is RECOMMENDED.

(パラメータなしで「UNAUTHENTICATE」機能として宣伝)UNAUTHENTICATE拡張は、クライアントが非認証状態にサーバーを戻すことができます新しいUNAUTHENTICATEコマンドを定義します。この拡張機能のサポートが推奨されます。

2.14.1. UNAUTHENTICATE Command
2.14.1. UNAUTHENTICATEDコマンド

The UNAUTHENTICATE command returns the server to the non-authenticated state. It doesn't affect any previously established TLS [TLS] or SASL (Section 2.1) security layer.

UNAUTHENTICATEDコマンドは非認証状態にサーバーを返します。これは、任意の以前に確立されたTLS [TLS]またはSSL(2.1節)セキュリティ層には影響を与えません。

The UNAUTHENTICATE command is only valid in authenticated state. If issued in a wrong state, the server MUST reject it with a NO response.

UNAUTHENTICATEコマンドは、認証された状態でのみ有効です。間違った状態で発行された場合、サーバはNO応答でそれを拒絶しなければなりません。

The UNAUTHENTICATE command has no parameters.

UNAUTHENTICATEDコマンドにはパラメータはありません。

When issued in the authenticated state, the UNAUTHENTICATE command MUST NOT fail (i.e., it must never return anything other than OK or BYE).

認証された状態で発行された場合には、UNAUTHENTICATEDコマンドは(すなわち、それはOKかBYE以外を返してはいけません)失敗してはなりません。

3. Sieve URL Scheme
3.ふるいURLスキーム

URI scheme name: sieve

URIのスキーム名:ふるいです

Status: permanent

ステータス:永久

URI scheme syntax: Described using ABNF [ABNF]. Some ABNF productions not defined below are from [URI-GEN].

URIスキームの構文:ABNF [ABNF]を使用して説明します。以下に定義されていないいくつかのABNFの制作には、[URI-GEN]からです。

         sieveurl = sieveurl-server / sieveurl-list-scripts /
                    sieveurl-script
        

sieveurl-server = "sieve://" authority

sieveurl-サーバー= "ふるい://" 権威

sieveurl-list-scripts = "sieve://" authority ["/"]

sieveurlリスト・スクリプト= "ふるい://" 権限[ "/"]

sieveurl-script = "sieve://" authority "/" [owner "/"] scriptname

sieveurlスクリプト= "ふるい://" 権威 "/" [所有者 "/"] SCRIPTNAME

authority = <defined in [URI-GEN]>

<URI-GEN]で定義>権限=

         owner         = *ochar
                         ;; %-encoded version of [SASL] authorization
                         ;; identity (script owner) or "userid".
                         ;;
                         ;; Empty owner is used to reference
                         ;; global scripts.
                         ;;
                         ;; Note that ASCII characters such as " ", ";",
                         ;; "&", "=", "/" and "?" must be %-encoded
                         ;; as per rule specified in [URI-GEN].
        

scriptname = 1*ochar ;; %-encoded version of UTF-8 representation ;; of the script name. ;; Note that ASCII characters such as " ", ";", ;; "&", "=", "/" and "?" must be %-encoded ;; as per rule specified in [URI-GEN].

SCRIPTNAME = 1 * ochar ;; UTF-8表現の%エンコードさバージョン;;スクリプト名の。 ;;こうした「」、「としてそのASCII文字に注意してください。」、;; "&"、 "="、 "/" と "?" %エンコードさでなければなりません;; [URI-GEN]で指定されたルールの通り。

ochar = unreserved / pct-encoded / sub-delims-sh / ":" / "@" ;; Same as [URI-GEN] 'pchar', ;; but without ";", "&" and "=".

ochar =予約されていない/ PCT-エンコード/サブdelims-SH / ":" / "@" ;; [URI-GEN] 'PChar型' と同じ、;;しかしなし ";"、 "&" と "="。

unreserved = <defined in [URI-GEN]>

<URI-GEN]で定義>予約されていません=

pct-encoded = <defined in [URI-GEN]>

PCTエンコード= <URI-GEN]で定義>

sub-delims-sh = "!" / "$" / "'" / "(" / ")" / "*" / "+" / "," ;; Same as [URI-GEN] sub-delims, ;; but without ";", "&" and "=".

サブdelims-SH = "!" / "$" / "'" / "(" / ")" / "*" / "+" / "、" ;; [URI-GEN]サブdelims同様、;;しかしなし ";"、 "&" と "="。

URI scheme semantics:

URIスキームの意味:

A Sieve URL identifies a Sieve server or a Sieve script on a Sieve server. The latter form is associated with the application/sieve MIME type defined in [SIEVE]. There is no MIME type associated with the former form of Sieve URI.

ふるいのURLは、ふるいサーバまたはふるいサーバー上のSieveスクリプトを識別します。後者の形式は、[SIEVE]で定義されたアプリケーション/篩MIMEタイプに関連付けられています。ふるいURIの元のフォームに関連付けられたMIMEタイプはありません。

The server form is used in the REFERRAL response code (see Section 1.3) in order to designate another server where the client should perform its operations.

サーバフォームが参照応答コードで使用されているクライアントは、その動作を実行する必要があり、別のサーバーを指定するために(セクション1.3を参照)。

The script form allows to retrieve (GETSCRIPT), update (PUTSCRIPT), delete (DELETESCRIPT), or activate (SETACTIVE) the named script; however, the most typical action would be to retrieve the script. If the script name is empty (omitted), the URI requests that the client lists available scripts using the LISTSCRIPTS command.

スクリプト形式は、(GETSCRIPT)、更新(PUTSCRIPT)を取得(DeleteScriptを)を削除、または(のsetActive)という名前のスクリプトをアクティブにすることができます。しかし、最も一般的なアクションは、スクリプトを取得することです。スクリプト名(省略)空の場合、URIは、利用可能なクライアントリストスクリプトはLISTSCRIPTSコマンドを使用していることを要求します。

Encoding considerations:

エンコードの考慮事項:

The script name and/or the owner, if present, is in UTF-8. Non-- US-ASCII UTF-8 octets MUST be percent-encoded as described in [URI-GEN]. US-ASCII characters such as " " (space), ";", "&", "=", "/" and "?" MUST be %-encoded as described in [URI-GEN]. Note that "&" and "?" are in this list in order to allow for future extensions.

スクリプト名および/または所有者は、存在する場合、UTF-8です。 [URI-GEN]で説明したようにUS-ASCIIのUTF-8 Non--オクテットは、パーセントエンコードでなければなりません。 US-ASCIIのように ""(スペース)、 "などの文字;?"、 "&"、 "="、 "/" と "" [URI-GEN]に記載されているようにエンコードさ%でなければなりません。なお、「&」と「?」将来の拡張を可能にするために、このリストにあります。

Note that the empty owner (e.g., sieve://example.com//script) is different from the missing owner (e.g., sieve://example.com/script) and is reserved for referencing global scripts.

(://example.com//script例えば、ふるい)欠落所有者とは異なる(例えば、ふるい://example.com/script)とグローバル・スクリプトを参照するために予約されている空の所有者があることに注意してください。

The user name (in the "authority" part), if present, is in UTF-8. Non-US-ASCII UTF-8 octets MUST be percent-encoded as described in [URI-GEN].

(「権威」の部分で)ユーザー名は、存在する場合、UTF-8です。非US-ASCIIのUTF-8 [URI-GEN]で説明したようにオクテットは、パーセントエンコードでなければなりません。

Applications/protocols that use this URI scheme name: ManageSieve [RFC5804] clients and servers. Clients that can store user preferences in protocols such as [LDAP] or [ACAP].

このURIのスキーム名を使用するアプリケーション/プロトコル:ManageSieve [RFC5804]クライアントとサーバ。こうした[LDAP]または[ACAP]などのプロトコルにユーザー設定を保存することができますクライアント。

Interoperability considerations: None.

相互運用性に関する注意事項:なし。

Security considerations: The <scriptname> part of a ManageSieve URL might potentially disclose some confidential information about the author of the script or, depending on a ManageSieve implementation, about configuration of the mail system. The latter might be used to prepare for a more complex attack on the mail system.

セキュリティの考慮事項:ManageSieve URLの<スクリプト名>の部分は、潜在的に、メールシステムの構成について、ManageSieveの実装に応じて、スクリプトの作者についてのいくつかの機密情報を開示したりすることがあります。後者は、メールシステムのより複雑な攻撃の準備をするために使用されるかもしれません。

Clients resolving ManageSieve URLs that wish to achieve data confidentiality and/or integrity SHOULD use the STARTTLS command (if supported by the server) before starting authentication, or use a SASL mechanism, such as GSSAPI, that provides a confidentiality security layer.

データの機密性および/または完全性を実現したいManageSieveのURLを解決するクライアントは、(サーバーでサポートされている場合)の認証を開始する前にSTARTTLSコマンドを使用するか、または機密性のセキュリティ層を提供し、このようなGSSAPIなどSASLメカニズムを、使用する必要があります。

Contact: Alexey Melnikov <alexey.melnikov@isode.com>

連絡先:アレクセイ・メルニコフ<alexey.melnikov@isode.com>

Author/Change controller: IESG.

著者/変更コントローラ:IESG。

References: This document and RFC 5228 [SIEVE].

参考資料:この文書とRFC 5228 [SIEVE]。

4. Formal Syntax
4.正式な構文

The following syntax specification uses the Augmented Backus-Naur Form (BNF) notation as specified in [ABNF]. This uses the ABNF core rules as specified in Appendix A of the ABNF specification [ABNF]. "UTF8-2", "UTF8-3", and "UTF8-4" non-terminal are defined in [UTF-8].

以下の構文仕様は、[ABNF]で指定された拡張バッカスナウア記法(BNF)の表記を使用します。 ABNF仕様[ABNF]の付録Aで指定されるように、これはABNFコアルールを使用します。 "UTF8-2"、 "UTF8-3"、および "UTF8-4" 非末端は[UTF-8]で定義されています。

Except as noted otherwise, all alphabetic characters are case-insensitive. The use of upper- or lowercase characters to define token strings is for editorial clarity only. Implementations MUST accept these strings in a case-insensitive fashion.

特記しないものを除いて、すべての英字は大文字と小文字を区別しません。トークン文字列を定義するための大文字と小文字の使用は、編集上明確にするためです。実装は大文字と小文字を区別しないやり方で、これらの文字列を受け入れなければなりません。

SAFE-CHAR = %x01-09 / %x0B-0C / %x0E-21 / %x23-5B / %x5D-7F ;; any TEXT-CHAR except QUOTED-SPECIALS

SAFE-CHAR =%x01-09 /%X0B-0C /%のx0E-21 /%x23-5B /%x5D-7F ;; QUOTED-SPECIALSを除く任意のTEXT-CHAR

QUOTED-CHAR = SAFE-UTF8-CHAR / "\" QUOTED-SPECIALS

QUOTED-CHAR = SAFE-UTF8-CHAR / "\" QUOTED-SPECIALS

QUOTED-SPECIALS = DQUOTE / "\"

QUOTED-SPECIALSは= DQUOTE / "\"

SAFE-UTF8-CHAR = SAFE-CHAR / UTF8-2 / UTF8-3 / UTF8-4 ;; <UTF8-2>, <UTF8-3>, and <UTF8-4> ;; are defined in [UTF-8].

SAFE-UTF8-CHAR = SAFE-CHAR / UTF8-2 / UTF8-3 / UTF8-4 ;; <UTF8-2>、<UTF8-3>、および<UTF8-4> ;; [UTF-8]で定義されています。

ATOM-CHAR = "!" / %x23-27 / %x2A-5B / %x5D-7A / %x7C-7E ;; Any CHAR except ATOM-SPECIALS

ATOM-CHAR = "!" /%x23-27 /%X2A-5B /%x5D-7A /%のx7C-7E ;; ATOM-SPECIALSを除く任意のCHAR

ATOM-SPECIALS = "(" / ")" / "{" / SP / CTL / QUOTED-SPECIALS

ATOM-スペシャル= "(" / ")" / "{" / SP / CTL /引用符付きスペシャル

NZDIGIT = %x31-39 ;; 1-9

NZDIGIT =%x31-39 ;; 1-9

atom = 1*1024ATOM-CHAR

原子= 1×1024 ATOM-CHART

iana-token = atom ;; MUST be registered with IANA

IANAトークン=原子;; IANAに登録しなければなりません

auth-type = DQUOTE auth-type-name DQUOTE

AUTH型= DQUOTE払い型名DQUOTE

auth-type-name = iana-token ;; as defined in SASL [SASL]

認証型名= IANAトークン;; SASL [SASL]で定義されるように

command = (command-any / command-auth / command-nonauth) CRLF ;; Modal based on state

コマンド=(コマンド任意/コマンドAUTH /コマンドnonauth)CRLF ;;モーダル状態に基づいて、

command-any = command-capability / command-logout / command-noop ;; Valid in all states

コマンドいかなる=コマンド機能/コマンドログアウト/コマンドNOOP ;;すべての州で有効

command-auth = command-getscript / command-setactive / command-listscripts / command-deletescript / command-putscript / command-checkscript / command-havespace / command-renamescript / command-unauthenticate ;; Valid only in Authenticated state

コマンド-AUTH =コマンドgetscript /コマンドのsetActive /コマンドlistscripts /コマンドDeleteScriptを/コマンドputscript /コマンドcheckscript /コマンドhavespace /コマンドrenamescript /コマンドunauthenticate ;;唯一の認証済み状態で有効

command-nonauth = command-authenticate / command-starttls ;; Valid only when in Non-Authenticated ;; state

コマンドnonauth =コマンド認証/コマンドSTARTTLS ;;有効な場合にのみ、非認証で;;状態

command-authenticate = "AUTHENTICATE" SP auth-type [SP string] *(CRLF string)

コマンド認証= "AUTHENTICATE" SPのAUTH型[SP列] *(CRLF列)

command-capability = "CAPABILITY"

コマンド機能= "CAPABILITY"

command-deletescript = "DELETESCRIPT" SP sieve-name

コマンドDeleteScriptを=「DeleteScriptを」SPふるい名

command-getscript = "GETSCRIPT" SP sieve-name

コマンドgetscript =「GETSCRIPT」SPふるい名

command-havespace = "HAVESPACE" SP sieve-name SP number

コマンドhavespace =「HAVESPACE」SPふるい名SP番号

command-listscripts = "LISTSCRIPTS"

コマンドlistscripts = "LISTSCRIPTS"

command-noop = "NOOP" [SP string] command-logout = "LOGOUT"

コマンドNOOP =「NOOP」[SP列]コマンドログアウト=「ログアウト」

command-putscript = "PUTSCRIPT" SP sieve-name SP sieve-script

コマンドputscript =「PUTSCRIPT」SPふるい名SPふるいスクリプト

command-checkscript = "CHECKSCRIPT" SP sieve-script

コマンドcheckscript =「CHECKSCRIPT」SPふるいスクリプト

sieve-script = string

ふるいスクリプト=文字列

command-renamescript = "RENAMESCRIPT" SP old-sieve-name SP new-sieve-name

コマンドrenamescript =「RENAMESCRIPT」SP古いふるい名SP新ふるい名

old-sieve-name = sieve-name

古いふるい名=ふるい名

new-sieve-name = sieve-name

新しいふるい名=ふるい名

command-setactive = "SETACTIVE" SP active-sieve-name

コマンドのsetActive =「のsetActive」SPア​​クティブふるい名

command-starttls = "STARTTLS"

コマンドSTARTTLS = "STARTTLS"

command-unauthenticate= "UNAUTHENTICATE"

コマンド-uが認証= "NON AUTHENTICATE"

extend-token = atom ;; MUST be defined by a Standards Track or ;; IESG-approved experimental protocol ;; extension

延びトークン=原子;;標準化過程かによって定義されなければならない;; IESGが承認した実験プロトコル;;拡張

extension-data = extension-item *(SP extension-item)

拡張データ=拡張項目*(SP拡張項目)

extension-item = extend-token / string / number / "(" [extension-data] ")"

拡張項目=延びトークン/列/番号/「(」[拡張データ]「)」

literal-c2s = "{" number "+}" CRLF *OCTET ;; The number represents the number of ;; octets. ;; This type of literal can only be sent ;; from the client to the server.

リテラルC2S = "{" 番号 "+}" CRLFの*オクテット;;数が数を表し;;オクテット。 ;;リテラルのこのタイプにのみ送信することができます;;クライアントからサーバーへ。

literal-s2c = "{" number "}" CRLF *OCTET ;; Almost identical to literal-c2s, ;; but with no '+' character. ;; The number represents the number of ;; octets. ;; This type of literal can only be sent ;; from the server to the client.

リテラルS2C = "{" 番号 "}" CRLFの*オクテット;;リテラル-C2Sとほぼ同じで、;;しかし、ノー「+」文字で。 ;;数が数を表し;;オクテット。 ;;リテラルのこのタイプにのみ送信することができます;;サーバからクライアントへ。

number = (NZDIGIT *DIGIT) / "0" ;; A 32-bit unsigned number ;; with no extra leading zeros. ;; (0 <= n < 4,294,967,296)

番号=(NZDIGIT * DIGIT)/ "0" ;; 32ビットの符号なし数;;余分な先行ゼロ。 ;; (0 <= N <4,294,967,296)

number-str = string ;; <number> encoded as a <string>.

数-STR =文字列;; <番号>の<string>としてエンコード。

quoted = DQUOTE *1024QUOTED-CHAR DQUOTE ;; limited to 1024 octets between the <">s

引用された= DQUOTE * 1024QUOTED-CHAR DQUOTE ;; < "> sの間で1024個のオクテットに限定

resp-code = "AUTH-TOO-WEAK" / "ENCRYPT-NEEDED" / "QUOTA" ["/" ("MAXSCRIPTS" / "MAXSIZE")] / resp-code-sasl / resp-code-referral / "TRANSITION-NEEDED" / "TRYLATER" / "ACTIVE" / "NONEXISTENT" / "ALREADYEXISTS" / "WARNINGS" / "TAG" SP string / resp-code-ext

RESPコード= "AUTH-あまりにも弱い" / "ENCRYPT必要に応じた" / "クォータ" [ "/"( "MAXSCRIPTS" / "MAXSIZE")] / RESPコード-SASL / RESP-コード照会/「TRANSITION -NEEDED」/ "TRYLATER" / "ACTIVE" / "存在しない" / "ALREADYEXISTS" / "警告" / "TAG" SP列/ RESPコード-EXT

resp-code-referral = "REFERRAL" SP sieveurl

RESP-コードの紹介= "REFERRAL" SP sieveurl

resp-code-sasl = "SASL" SP string

RESP-コード-SASL = "SASL" SP文字列

resp-code-name = iana-token ;; The response code name is hierarchical, ;; separated by '/'. ;; The response code name MUST NOT start ;; with '/'.

RESP-コードネーム= IANAトークン;;応答コード名は、階層的です;; 「/」で区切られています。 ;;応答コード名は始まらない;; '/' と。

resp-code-ext = resp-code-name [SP extension-data] ;; unknown response codes MUST be tolerated ;; by the client.

RESPコード-EXT = RESPコード名[SP拡張データ] ;;未知の応答コードを許容しなければならない;;クライアントによる。

response = response-authenticate / response-logout / response-getscript / response-setactive / response-listscripts / response-deletescript / response-putscript / response-checkscript / response-capability / response-havespace / response-starttls / response-renamescript / response-noop / response-unauthenticate

応答=応答、認証/応答ログアウト/応答getscript /応答のsetActive /応答listscripts /応答DeleteScriptを/応答putscript /応答checkscript /応答能力/応答havespace /応答STARTTLS /応答renamescript /応答NOOP /応答unauthenticate

response-authenticate = *(string CRLF) ((response-ok [response-capability]) / response-nobye) ;; <response-capability> is REQUIRED if a ;; SASL security layer was negotiated and ;; MUST be omitted otherwise.

レスポンス認証= *(文字列CRLF)((応答OK [応答機能])/応答nobye);; <応答機能> ;;場合に必要とされますSASLのセキュリティ層がネゴシエートしてた;;そうでない場合は省略しなければなりません。

response-capability = *(single-capability) response-oknobye

応答機能= *(シングル機能)応答oknobye

single-capability = capability-name [SP string] CRLF

シングル機能=機能名[SP文字列] CRLF

capability-name = string

機能名=文字列

;; Note that literal-s2c is allowed.

;;リテラル-S2Cが許可されていることに注意してください。

initial-capabilities = DQUOTE "IMPLEMENTATION" DQUOTE SP string / DQUOTE "SASL" DQUOTE SP sasl-mechs / DQUOTE "SIEVE" DQUOTE SP sieve-extensions / DQUOTE "MAXREDIRECTS" DQUOTE SP number-str / DQUOTE "NOTIFY" DQUOTE SP notify-mechs / DQUOTE "STARTTLS" DQUOTE / DQUOTE "LANGUAGE" DQUOTE SP language / DQUOTE "VERSION" DQUOTE SP version / DQUOTE "OWNER" DQUOTE SP string ;; Each capability conforms to ;; the syntax for single-capability. ;; Also, note that the capability name ;; can be returned as either literal-s2c ;; or quoted, even though only "quoted" ;; string is shown above.

初期能力= DQUOTE "実装" DQUOTE SP文字列/ DQUOTE "SASL" DQUOTE SPのSASL-メカ/ DQUOTE "SIEVE" DQUOTE SPふるい-拡張/ DQUOTE "MAXREDIRECTS" DQUOTE SP数-STR / DQUOTEはDQUOTE SPのnotify-を "NOTIFY"メカ/ DQUOTE "STARTTLS" DQUOTE / DQUOTE "LANGUAGE" DQUOTE SP言語/ DQUOTE "VERSION" DQUOTE SP版/ DQUOTE "OWNER" DQUOTE SP文字列;;各機能は、;;に準拠しますシングル機能の構文。 ;;また、その機能の名前をメモ;;いずれかのリテラル-S2Cとして返すことができます;;または引用された、唯一の「引用された」にもかかわらず;;文字列は、上に示しています。

version = ( DQUOTE "1.0" DQUOTE ) / version-ext

バージョン=(DQUOTE "1.0" DQUOTE)/バージョン-EXT

version-ext = DQUOTE ver-major "." ver-minor DQUOTE ; Future versions specified in updates ; to this document. An increment to ; the ver-major means a backward-incompatible ; change to the protocol, e.g., "3.5" (ver-major "3") ; is not backward-compatible with any "2.X" version. ; Any version "Z.W" MUST be backward compatible ; with any version "Z.Q", where Q < W. ; For example, version "2.4" is backward compatible ; with version "2.0", "2.1", "2.2", and "2.3".

版-メジャーバージョン-EXT = DQUOTE ""版 - マイナーDQUOTE。アップデートに指定された将来のバージョン。このドキュメントへ。インクリメントします。版-大手は下位互換性のないを意味します。プロトコルへの変更、例えば、「3.5」(版、主要な「3」)。任意の「2.X」バージョンとの下位互換性がありません。 ;すべてのバージョン「Z.Wは、」後方互換性がなければなりません。 ;任意のバージョン "Z.Q"、Q <W.とたとえば、バージョンは「2.4」の下位互換性があります。バージョン "2.0"、 "2.1"、 "2.2" とし、 "2.3"。

ver-major = number ver-minor = number

版-主要=版-マイナー番号=数

sasl-mechs = string ; Space-separated list of SASL mechanisms, ; each SASL mechanism name complies with rules ; specified in [SASL]. ; Can be empty.

SASL-メカ=文字列。スペースで区切られたSASLメカニズムのリストは、。各SASLメカニズム名がルールに準拠しています。 [SASL]で指定されました。 ;空にすることができます。

sieve-extensions = string ; Space-separated list of supported SIEVE extensions. ; Can be empty.

ふるい-拡張子=文字列。サポートSIEVE拡張子のスペース区切りリスト。 ;空にすることができます。

language = string ; Contains <Language-Tag> from [RFC5646].

言語=文字列。 [RFC5646]から<言語タグ>を含みます。

notify-mechs = string ; Space-separated list of URI schema parts ; for supported notification [NOTIFY] methods. ; MUST NOT be empty.

通知-メック=ストリング。 URIスキーマ部品のスペース区切りリスト。サポートされている通知方法[NOTIFY]。 ;空にすることはできません。

response-deletescript = response-oknobye

応答-DeleteScriptを=応答oknobye

response-getscript = (sieve-script CRLF response-ok) / response-nobye

応答getscript =(ふるいスクリプトCRLF応答-OK)/応答nobye

response-havespace = response-oknobye

応答-havespace =応答oknobye

response-listscripts = *(sieve-name [SP "ACTIVE"] CRLF) response-oknobye ;; ACTIVE may only occur with one sieve-name

応答listscripts = *(ふるい名[SP "ACTIVE"] CRLF)応答oknobye ;;唯一のふるい名で発生する可能性がありACTIVE

response-logout = response-oknobye

応答ログアウト=応答oknobye

response-unauthenticate= response-oknobye ;; "NO" response can only be returned when ;; the command is issued in a wrong state ;; or has a wrong number of parameters

レスポンス認証されていない=応答oknobye ;; 「NO」応答はときにのみ返すことができ;;コマンドが誤った状態に発行された;;またはパラメータの間違った番号を持っています

response-ok = "OK" [SP "(" resp-code ")"] [SP string] CRLF ;; The string contains human-readable text ;; encoded as UTF-8.

応答OK = "OK" [SP "(" RESPコード ")"] [SP列] CRLF ;;文字列は、人間が読めるテキストが含まれています;; UTF-8としてエンコードされました。

response-nobye = ("NO" / "BYE") [SP "(" resp-code ")"] [SP string] CRLF ;; The string contains human-readable text ;; encoded as UTF-8.

応答nobye =( "NO" / "BYE")[SP "(" RESPコード ")"] [SP列] CRLF ;;文字列は、人間が読めるテキストが含まれています;; UTF-8としてエンコードされました。

response-oknobye = response-ok / response-nobye

応答-oknobye =応答OK /応答nobye

response-noop = response-ok

応答NOOP =応答OK

response-putscript = response-oknobye

応答-putscript =応答oknobye

response-checkscript = response-oknobye

応答-checkscript =応答oknobye

response-renamescript = response-oknobye

応答-renamescript =応答oknobye

response-setactive = response-oknobye

応答のsetActive =応答oknobye

response-starttls = (response-ok response-capability) / response-nobye

応答-STARTTLS =(応答-OK応答機能)/応答nobye

sieve-name = string ;; See Section 1.6 for the full list of ;; prohibited characters. ;; Empty string is not allowed.

ふるい名=文字列;;完全なリストについては、1.6節を参照してください;;禁止文字。 ;;空の文字列が許可されていません。

active-sieve-name = string ;; See Section 1.6 for the full list of ;; prohibited characters. ;; This is similar to <sieve-name>, but ;; empty string is allowed and has a special ;; meaning.

アクティブふるい名=文字列;;完全なリストについては、1.6節を参照してください;;禁止文字。 ;;これは、<ふるい名>に似ていますが、;;空の文字列が許可され、特別な;;を持っています意味。

string = quoted / literal-c2s / literal-s2c ;; literal-c2s is only allowed when sent ;; from the client to the server. ;; literal-s2c is only allowed when sent ;; from the server to the client. ;; quoted is allowed in either direction.

文字列リテラル=-S2C /引用符付きリテラル-C2S / ;;送信されたときにリテラル-C2Sのみが許可されます;;クライアントからサーバーへ。 ;;送信されたときにリテラル-S2Cにのみ許可されます;;サーバからクライアントへ。 ;;引用されたが、いずれかの方向で許可されています。

5. Security Considerations
5.セキュリティについての考慮事項

The AUTHENTICATE command uses SASL [SASL] to provide authentication and authorization services. Integrity and privacy services can be provided by [SASL] and/or [TLS]. When a SASL mechanism is used, the security considerations for that mechanism apply.

AUTHENTICATEコマンドは、認証および認可サービスを提供するために、SASL [SASL]を使用しています。整合性とプライバシーのサービスは[SASL]および/または[TLS]によって提供することができます。 SASLメカニズムが使用されている場合は、そのメカニズムのためのセキュリティの考慮事項が適用されます。

This protocol's transactions are susceptible to passive observers or man-in-the-middle attacks that alter the data, unless the optional encryption and integrity services of the SASL (via the AUTHENTICATE command) and/or [TLS] (via the STARTTLS command) are enabled, or an external security mechanism is used for protection. It may be useful to allow configuration of both clients and servers to refuse to transfer sensitive information in the absence of strong encryption.

このプロトコルのトランザクションは、(AUTHENTICATEコマンド経由)、SASLのない限り、オプションの暗号化および整合性のサービスパッシブオブザーバーやデータを変更するman-in-the-middle攻撃を受けやすいおよび/または[TLS](STARTTLSコマンドを経由して)有効になっている、または外部のセキュリティメカニズムは、保護のために使用されます。強力な暗号化の不存在下で機密情報を転送することを拒否し、クライアントとサーバーの両方の設定を可能に有用である可能性があります。

If an implementation supports SASL mechanisms that are vulnerable to passive eavesdropping attacks (such as [PLAIN]), then the implementation MUST support at least one configuration where these SASL mechanisms are not advertised or used without the presence of an external security layer such as [TLS].

実装は、(例えば[PLAIN]のような)受動的盗聴攻撃に対して脆弱であるSASLメカニズムをサポートしている場合、実装は、これらのSASLメカニズムは、例えば、[などの外部セキュリティ層の存在なしにアドバタイズまたは使用されていない少なくとも1つの構成をサポートしなければなりませんTLS]。

Some response codes returned on failed AUTHENTICATE command may disclose whether or not the username is valid (e.g., TRANSITION-NEEDED), so server implementations SHOULD provide the ability to disable these features (or make them not conditional on a per-user basis) for sites concerned about such disclosure. In the case of ENCRYPT-NEEDED, if it is applied to all identities then no extra information is disclosed, but if it is applied on a per-user basis it can disclose information.

失敗したAUTHENTICATEコマンドで戻さいくつかの応答コードは、ユーザー名が有効であるかどうかを開示することができる(例えば、遷移に必要)ので、サーバの実装は、これらの機能を無効にする機能を提供(またはユーザーごとにそれらを条件としない作る)べきであるためこのような開示を懸念サイト。以下の場合には、それがその後、余分な情報が開示されていないすべてのアイデンティティに適用された場合、ENCRYPT-必要ですが、それは、ユーザーごとに適用された場合には、情報を開示することができます。

A compromised or malicious server can use the TRANSITION-NEEDED response code to force the client that is configured to use a mechanism that does not disclose the user's password to the server (e.g., Kerberos), to send the bare password to the server. Clients SHOULD have the ability to disable the password transition feature, or disclose that risk to the user and offer the user an option of how to proceed.

妥協や悪意のあるサーバは、サーバへの裸のパスワードを送信するために、サーバー(例えば、ケルベロス)にユーザーのパスワードを開示していないメカニズムを使用するように設定されているクライアントを強制的にTRANSITION必要に応じた応答コードを使用することができます。クライアントは、パスワードの移行機能を無効にする能力を持っている、またはユーザーにそのリスクを開示し、ユーザーに続行する方法のオプションを提供する必要があります。

6. IANA Considerations
6. IANAの考慮事項

IANA has reserved TCP port number 4190 for use with the ManageSieve protocol described in this document.

IANAは、本書に記載さManageSieveプロトコルで使用するためのTCPポート番号4190を予約しています。

IANA has registered the "sieve" URI scheme defined in Section 3 of this document.

IANAはこのドキュメントのセクション3で定義された「ふるい」URIスキームを登録しています。

IANA has registered "sieve" in the "GSSAPI/Kerberos/SASL Service Names" registry.

IANAは、「GSSAPI / Kerberosの/ SASL・サービス名の」レジストリの「ふるい」に登録しました。

IANA has created a new registry for ManageSieve capabilities. The registration template for ManageSieve capabilities is specified in Section 6.1. ManageSieve protocol capabilities MUST be specified in a Standards-Track or IESG-approved Experimental RFC.

IANAはManageSieve機能のための新しいレジストリを作成しました。 ManageSieve機能の登録テンプレートは、セクション6.1で指定されています。 ManageSieveプロトコル機能はスタンダードトラックまたはIESGが承認した実験的RFCで指定する必要があります。

IANA has created a new registry for ManageSieve response codes. The registration template for ManageSieve response codes is specified in Section 6.3. ManageSieve protocol response codes MUST be specified in a Standards-Track or IESG-approved Experimental RFC.

IANAはManageSieve応答コードのための新しいレジストリを作成しました。 ManageSieve応答コードの登録テンプレートは、セクション6.3で指定されています。 ManageSieveプロトコル応答コードはスタンダードトラックまたはIESGが承認した実験的RFCで指定する必要があります。

6.1. ManageSieve Capability Registration Template
6.1. ManageSieve能力登録テンプレート

To: iana@iana.org Subject: ManageSieve Capability Registration

To:iana@iana.org件名:ManageSieve能力の登録

Please register the following ManageSieve capability:

次ManageSieve機能を登録してください。

Capability name: Description: Relevant publications: Person & email address to contact for further information: Author/Change controller:

能力名:説明:関連資料:人とEメールアドレスは、詳細のために連絡する:著者/変更コントローラ:

6.2. Registration of Initial ManageSieve Capabilities
6.2. 初期ManageSieve機能の登録

To: iana@iana.org Subject: ManageSieve Capability Registration

To:iana@iana.org件名:ManageSieve能力の登録

Please register the following ManageSieve capabilities:

次ManageSieve機能を登録してください。

Capability name: IMPLEMENTATION Description: Its value contains the name of the server implementation and its version. Relevant publications: this RFC, Section 1.7. Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

能力名:実装記述:この値は、サーバの実装とそのバージョンの名前が含まれています。関連資料:このRFC、1.7節。人と詳細のために連絡する電子メールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Capability name: SASL Description: Its value contains a space-separated list of SASL mechanisms supported by the server. Relevant publications: this RFC, Sections 1.7 and 2.1. Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

能力名:SASL説明:この値は、サーバーでサポートされているSASLメカニズムの、スペースで区切られたリストが含まれています。関連資料:このRFC、セクション1.7および2.1。人と詳細のために連絡する電子メールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Capability name: SIEVE Description: Its value contains a space-separated list of supported SIEVE extensions. Relevant publications: this RFC, Section 1.7. Also [SIEVE]. Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

能力名:SIEVE説明:この値は、サポートSIEVE拡張子のスペース区切りのリストが含まれています。関連資料:このRFC、1.7節。また、[SIEVE]。人と詳細のために連絡する電子メールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Capability name: STARTTLS Description: This capability is returned if the server supports TLS (STARTTLS command). Relevant publications: this RFC, Sections 1.7 and 2.2. Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

能力名:STARTTLSの説明:サーバがTLS(STARTTLSコマンド)をサポートしている場合、この機能は返されます。関連資料:このRFC、セクション1.7および2.2。人と詳細のために連絡する電子メールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Capability name: NOTIFY Description: This capability is returned if the server supports the 'enotify' [NOTIFY] Sieve extension. Relevant publications: this RFC, Section 1.7. Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

能力名:説明NOTIFY:サーバーは「enotify」[NOTIFY]ふるい拡張をサポートしている場合、この機能が返されます。関連資料:このRFC、1.7節。人と詳細のために連絡する電子メールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Capability name: MAXREDIRECTS Description: This capability returns the limit on the number of Sieve "redirect" actions a script can perform during a single evaluation. The value is a non-negative number represented as a ManageSieve string. Relevant publications: this RFC, Section 1.7. Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

能力名:説明MAXREDIRECTS:この機能は、スクリプトは、単一の評価中に実行できるアクションを「リダイレクト」ふるいの数の制限を返します。値はManageSieve文字列として表される非負の数です。関連資料:このRFC、1.7節。人と詳細のために連絡する電子メールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Capability name: LANGUAGE Description: The language (<Language-Tag> from [RFC5646]) currently used for human-readable error messages. Relevant publications: this RFC, Section 1.7. Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

能力名:LANGUAGE説明:言語(から<言語タグ> [RFC5646])は現在、人間が読めるエラーメッセージに使用されます。関連資料:このRFC、1.7節。人と詳細のために連絡する電子メールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Capability name: OWNER Description: Its value contains the UTF-8-encoded name of the currently logged-in user ("authorization identity" according to RFC 4422). Relevant publications: this RFC, Section 1.7. Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

能力名:OWNER説明:この値は、現在ログイン中のユーザー(RFC 4422による「認証アイデンティティ」)のUTF-8でエンコードされた名前が含まれています。関連資料:このRFC、1.7節。人と詳細のために連絡する電子メールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Capability name: VERSION Description: This capability is returned if the server is compliant with RFC 5804; i.e., that it supports RENAMESCRIPT, CHECKSCRIPT, and NOOP commands. Relevant publications: this RFC, Sections 2.11, 2.12, and 2.13. Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

能力名:VERSION説明:サーバーは、RFC 5804に準拠している場合は、この機能が返されます。すなわち、それはRENAMESCRIPT、CHECKSCRIPT、およびNOOPコマンドをサポートしていること。関連資料:このRFC、セクション2.11、2.12、および2.13。人と詳細のために連絡する電子メールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

6.3. ManageSieve Response Code Registration Template
6.3. ManageSieve応答コードの登録テンプレート

To: iana@iana.org Subject: ManageSieve Response Code Registration

To:件名iana@iana.org:ManageSieveレスポンスコード登録

Please register the following ManageSieve response code:

次ManageSieve応答コードを登録してください。

Response Code: Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): Purpose: Published Specification(s): Person & email address to contact for further information: Author/Change controller:

応答コード:引数(何も指定できない場合は、構文、またはワードNONEを指定することがABNFを使用):目的:公開明細書(複数可):人とEメールアドレスは、詳細のために連絡する:著者/変更コントローラ:

6.4. Registration of Initial ManageSieve Response Codes
6.4. 初期ManageSieve応答コードの登録

To: iana@iana.org Subject: ManageSieve Response Code Registration

To:件名iana@iana.org:ManageSieveレスポンスコード登録

Please register the following ManageSieve response codes:

次ManageSieve応答コードを登録してください。

Response Code: AUTH-TOO-WEAK Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): NONE Purpose: This response code is returned in the NO response from an AUTHENTICATE command. It indicates that site security policy forbids the use of the requested mechanism for the specified authentication identity. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

応答コード:AUTH-TOO-WEAK引数(何も指定できない場合は、構文、またはワードNONEを指定することがABNFを使用):なし目的:このレスポンスコードはAUTHENTICATEコマンドからのNO応答で返されます。これは、サイトのセキュリティポリシーが指定された認証のアイデンティティのために要求されたメカニズムの使用を禁止していることを示しています。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: ENCRYPT-NEEDED Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): NONE Purpose: This response code is returned in the NO response from an AUTHENTICATE command. It indicates that site security policy requires the use of a strong encryption mechanism for the specified authentication identity and mechanism. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

応答コード:なし目的:引数(何も指定できない場合は、構文を指定することがABNFを使用し、またはワードNONE)必要に応じた暗号化この応答コードはAUTHENTICATEコマンドからのNO応答で返されます。これは、サイトのセキュリティポリシーが指定された認証アイデンティティとメカニズムのための強力な暗号化メカニズムを使用する必要があることを示しています。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: QUOTA Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): NONE Purpose: If this response code is returned in the NO/BYE response, it means that the command would have placed the user above the site-defined quota constraints. If this response code is returned in the OK response, it can mean that the user is near its quota or that the user exceeded its quota, but the server supports soft quotas. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

応答コード:QUOTA引数(何も指定できない場合は、構文、またはワードNONEを指定することがABNFを使用):なし目的:このレスポンスコードは、NO / BYE応答で返された場合は、コマンドは、上記の利用者を配置していることを意味しますサイト定義の割り当て制限。この応答コードはOK応答で返された場合、それはユーザーがそのクォータの近くや、ユーザーがそのクォータを超えたということですが、サーバーがソフトクォータをサポートしていることを意味することができます。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: QUOTA/MAXSCRIPTS Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): NONE Purpose: If this response code is returned in the NO/BYE response, it means that the command would have placed the user above the site-defined limit on the number of Sieve scripts. If this response code is returned in the OK response, it can mean that the user is near its quota or that the user exceeded its quota, but the server supports soft quotas. This response code is a more specific version of the QUOTA response code. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

レスポンスコード:QUOTA / MAXSCRIPTS引数(何も指定できない場合は、構文を指定することがABNFを使用するか、または単語NONE):なし目的:このレスポンスコードはNO / BYE応答で返された場合、それはコマンドが置かれていることを意味Sieveスクリプトの数のサイト定義の制限上記のユーザー。この応答コードはOK応答で返された場合、それはユーザーがそのクォータの近くや、ユーザーがそのクォータを超えたということですが、サーバーがソフトクォータをサポートしていることを意味することができます。この応答コードは、QUOTA応答コードのより具体的なバージョンです。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: QUOTA/MAXSIZE Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): NONE Purpose: If this response code is returned in the NO/BYE response, it means that the command would have placed the user above the site-defined maximum script size. If this response code is returned in the OK response, it can mean that the user is near its quota or that the user exceeded its quota, but the server supports soft quotas. This response code is a more specific version of the QUOTA response code. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

レスポンスコード:QUOTA / MAXSIZE引数(何も指定できない場合は、構文を指定することがABNFを使用するか、または単語NONE):なし目的:このレスポンスコードはNO / BYE応答で返された場合、それはコマンドが置かれていることを意味サイト定義の最大のスクリプトのサイズ以上のユーザー。この応答コードはOK応答で返された場合、それはユーザーがそのクォータの近くや、ユーザーがそのクォータを超えたということですが、サーバーがソフトクォータをサポートしていることを意味することができます。この応答コードは、QUOTA応答コードのより具体的なバージョンです。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: REFERRAL Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): <sieveurl> Purpose: This response code may be returned with a BYE result from any command, and includes a mandatory parameter that indicates what server to access to manage this user's Sieve scripts. The server will be specified by a Sieve URL (see Section 3). The scriptname portion of the URL MUST NOT be specified. The client should authenticate to the specified server and use it for all further commands in the current session. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

レスポンスコード:紹介引数(いずれも指定できない場合、構文を指定するABNFを使用する、またはワードNONE):<sieveurl>目的:この応答コードは、任意のコマンドからBYE結果と戻され、何を示す必須パラメータを含むことができますこのユーザーのSieveスクリプトを管理するためにアクセスするためのサーバー。サーバーは、ふるいURL(セクション3を参照)によって指定されます。 URLのスクリプト名部分を指定してはなりません。クライアントは、指定されたサーバに認証し、現在のセッション内のすべてのさらなるコマンドのためにそれを使用する必要があります。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: SASL Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): <string> Purpose: This response code can occur in the OK response to a successful AUTHENTICATE command and includes the optional final server response data from the server as specified by [SASL]. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

応答コード:SASL引数(何も指定できない場合は、構文、またはワードNONEを指定することがABNFを使用):<文字列>目的:この応答コードは成功したAUTHENTICATEコマンドへのOK応答で発生するとオプションの最終サーバーの応答データを含んでいることができます[SASL]によって指定されるように、サーバから。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: TRANSITION-NEEDED Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): NONE Purpose: This response code occurs in a NO response of an AUTHENTICATE command. It indicates that the user name is valid, but the entry in the authentication database needs to be updated in order to permit authentication with the specified mechanism. This is typically done by establishing a secure channel using TLS, followed by authenticating once using the [PLAIN] authentication mechanism. The selected mechanism SHOULD then work for authentications in subsequent sessions. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

レスポンスコード:TRANSITION必要に応じた引数(いずれも指定できない場合、構文を指定するABNFを使用する、またはワードNONE):なし目的:この応答コードはAUTHENTICATEコマンドのNO応答して起こります。これは、ユーザー名が有効であることを示しているが、認証データベース内のエントリは、指定された機構による認証を可能にするために更新する必要があります。これは、典型的には、[PLAIN]認証機構を使用して、一度認証続いTLSを使用してセキュアチャネルを確立することによって行われます。選択された機構は、その後のセッションで認証のために働く必要があります。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: TRYLATER Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): NONE Purpose: A command failed due to a temporary server failure. The client MAY continue using local information and try the command later. This response code only make sense when returned in a NO/BYE response. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

応答コード:TRYLATER引数(何も指定できない場合は、構文、またはワードNONEを指定することがABNFを使用):なし目的:このコマンドは、一時的なサーバ障害に失敗しました。クライアントは、ローカル情報を引き続き使用し、後でコマンドを試してください。 NO / BYE応答で返されたときに、この応答コードはのみ意味をなします。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: ACTIVE Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): NONE Purpose: A command failed because it is not allowed on the active script, for example, DELETESCRIPT on the active script. This response code only makes sense when returned in a NO/BYE response. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

応答コード:ACTIVE引数(何も指定できない場合は、構文、またはワードNONEを指定することがABNFを使用):なし目的:それは例えば、アクティブスクリプトに許可されていないため、コマンドが失敗し、アクティブスクリプトにDeleteScriptを。 NO / BYE応答で返されたときに、この応答コードはのみ意味があります。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: NONEXISTENT Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): NONE Purpose: A command failed because the referenced script name doesn't exist. This response code only makes sense when returned in a NO/BYE response. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

応答コード:存在しない引数(何も指定できない場合は、構文、またはワードNONEを指定することがABNFを使用):なし目的:参照スクリプト名が存在しないため、コマンドが失敗しました。 NO / BYE応答で返されたときに、この応答コードはのみ意味があります。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: ALREADYEXISTS Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): NONE Purpose: A command failed because the referenced script name already exists. This response code only makes sense when returned in a NO/BYE response. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

応答コード:ALREADYEXISTS引数(何も指定できない場合は、構文、またはワードNONEを指定することがABNFを使用):なし目的:参照スクリプト名がすでに存在しているため、コマンドが失敗しました。 NO / BYE応答で返されたときに、この応答コードはのみ意味があります。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: WARNINGS Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): NONE Purpose: This response code MAY be returned by the server in the OK response (but it might be returned with the NO/ BYE response as well) and signals the client that even though the script is syntactically valid, it might contain errors not intended by the script writer. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

応答コード:警告引数(何も指定できない場合は、構文、またはワードNONEを指定することがABNFを使用):なし目的:この応答コードはOK応じてサーバによって返されることがあります(それはNO / BYEで返されるかもしれません応答としても)、スクリプトが構文的に有効であっても、それはスクリプトライターが意図していないエラーを含む可能性があることをクライアントに通知します。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

Response Code: TAG Arguments (use ABNF to specify syntax, or the word NONE if none can be specified): string Purpose: This response code name is followed by a string specified in the command that caused this response. It is typically used for client state synchronization. Published Specification(s): [RFC5804] Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> Author/Change controller: IESG.

応答コード:タグ引数(何も指定できない場合は、構文、またはワードNONEを指定することがABNFを使用):文字列の目的:この応答コード名はこの応答を引き起こしたコマンドで指定された文字列が続いています。これは、典型的には、クライアントの状態の同期のために使用されています。公開された仕様(S):詳細のために連絡するために[RFC5804]人とEメールアドレス:アレクセイ・メルニコフ<alexey.melnikov@isode.com>著者/変更コントローラ:IESG。

7. Internationalization Considerations
7.国際化に関する注意事項

The LANGUAGE capability (see Section 1.7) allows a client to discover the current language used in all human-readable responses that might be returned at the end of any OK/NO/BYE response. Human-readable text in OK responses typically doesn't need to be shown to the user, unless it is returned in response to a PUTSCRIPT or CHECKSCRIPT command that also contains the WARNINGS response code (Section 1.3). Human-readable text from NO/BYE responses is intended be shown to the user, unless the client can automatically handle failure of the command that caused such a response. Clients SHOULD use response codes (Section 1.3) for automatic error handling. Response codes MAY also be used by the client to present error messages in a language understood by the user, for example, if the LANGUAGE capability doesn't return a language understood by the user.

言語機能は、(1.7節を参照)、クライアントは任意のOK / NO / BYE応答の終了時に返却される可能性があるすべての人間が読み取り可能な応答で使用される現在の言語を発見することができます。それはまた、警告応答コード(セクション1.3)が含まれていPUTSCRIPTまたはCHECKSCRIPTコマンドに応答して返されない限りOK応答の人間が読めるテキストは、通常、ユーザーに表示する必要はありません。 NO / BYE応答から人間可読テキストは、クライアントは自動的にそのような応答を引き起こしたコマンドの失敗に対処できなければ、ユーザに示すことを意図しています。クライアントは、自動エラー処理のための応答コード(セクション1.3)を使用してください。レスポンスコードは、言語能力は、ユーザが理解する言語を返さない場合、例えば、利用者が理解言語でエラーメッセージを提示するために、クライアントによって使用されるかもしれません。

Note that the human-readable text from OK (WARNINGS) or NO/BYE responses for PUTSCRIPT/CHECKSCRIPT commands is intended for advanced users that understand Sieve language. Such advanced users are often sophisticated enough to be able to handle whatever language the server is using, even if it is not their preferred language, and will want to see error/warning text no matter what language the server puts it in.

PUTSCRIPT / CHECKSCRIPTためのOKから人間が読めるテキスト(警告)またはNO / BYE応答はふるい言語を理解し、高度なユーザーを対象としてコマンドことに注意してください。このような先進的なユーザーは、多くの場合、それは彼らの優先言語ではない、と関係なく、サーバはそれを置くどのような言語のエラー/警告テキストを見ないことになるでしょうしても、サーバーが使用しているどんな言語処理できるようにするのに十分な洗練されています。

A client that generates Sieve script automatically, for example, if the script is generated without user intervention or from a UI that presents an abstract list of conditions and corresponding actions, SHOULD NOT present warning/error messages to the user, because the user might not even be aware that the client is using Sieve underneath. However, if the client has a debugging mode, such warnings/errors SHOULD be available in the debugging mode.

ユーザーがいない可能性があるため、スクリプトは現在の警告/エラーメッセージが、ユーザーに、ユーザーの介入なしまたは条件と対応するアクションの抽象的なリストを提示UIからではなくすべきで生成された場合、例えば、自動的にSieveスクリプトを生成し、クライアントでも、クライアントは下にふるいを使用していることに注意してください。クライアントは、デバッグモードを持っている場合は、このような警告/エラーは、デバッグモードで利用可能であるべきです。

Note that this document doesn't provide a way to modify the currently used language. It is expected that a future extension will address that.

このドキュメントは、現在使用されている言語を変更する方法を提供していないことに注意してください。将来の拡張がそれを解決することが期待されます。

8. Acknowledgements
8.謝辞

Thanks to Simon Josefsson, Larry Greenfield, Allen Johnson, Chris Newman, Lyndon Nerenberg, Tim Showalter, Sarah Robeson, Walter Wong, Barry Leiba, Arnt Gulbrandsen, Stephan Bosch, Ken Murchison, Phil Pennock, Ned Freed, Jeffrey Hutzelman, Mark E. Mallett, Dilyan Palauzov, Dave Cridland, Aaron Stone, Robert Burrell Donkin, Patrick Ben Koetter, Bjoern Hoehrmann, Martin Duerst, Pasi Eronen, Magnus Westerlund, Tim Polk, and Julien Coloos for help with this document. Special thank you to Phil Pennock for providing text for the NOOP command, as well as finding various bugs in the document.

サイモンJosefsson氏のおかげで、ラリー・グリーンフィールド、アレン・ジョンソン、クリス・ニューマン、リンドンNerenberg、ティム・ショーウォルター監督、サラ・ロブソン、ウォルター・ウォン、バリー・レイバ、ARNT Gulbrandsenの、ステファン・ボッシュ、ケンマーチソン、フィル・ペノック、ネッドフリード、ジェフリーHutzelman、マーク・E.このドキュメントのヘルプのためのマレット、Dilyan Palauzov、デイブCridland、アーロン・ストーン、ロバート・バレルDonkinに、パトリック・ベンKoetter、ビョルンHoehrmann、マーティンDuerst、パシEronen、マグヌスウェスター、ティムポーク、そしてジュリアンColoos。特別なNOOPコマンドのテキストを提供するだけでなく、文書内のさまざまなバグを見つけるためのフィル・ペノックをお願い致します。

9. References
9.参考文献
9.1. Normative References
9.1. 引用規格

[ABNF] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.

、STD 68、RFC 5234、2008年1月: "ABNF構文仕様のための増大しているBNF" [ABNF]クロッカー、D.、およびP. Overell、。

[ACAP] Newman, C. and J. Myers, "ACAP -- Application Configuration Access Protocol", RFC 2244, November 1997.

[ACAP]ニューマン、C.及びJ.マイヤーズ、 "ACAP - アプリケーション構成アクセスプロトコル"、RFC 2244、1997年11月。

[BASE64] Josefsson, S., "The Base16, Base32, and Base64 Data Encodings", RFC 4648, October 2006.

[BASE64] Josefsson氏、S.、 "Base16、Base32、およびBase64でデータエンコーディング"、RFC 4648、2006年10月。

[DNS-SRV] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2782, February 2000.

[DNS-SRV] Gulbrandsenの、A.、いるVixie、P.、およびL. Esibov、 "(DNSのSRV)サービスの位置を特定するためのDNS RR"、RFC 2782、2000年2月。

[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[キーワード]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。

[NET-UNICODE] Klensin, J. and M. Padlipsky, "Unicode Format for Network Interchange", RFC 5198, March 2008.

[NET-UNICODE] Klensin、J.とM. Padlipsky、 "ネットワークインターチェンジのUnicodeフォーマット"、RFC 5198、2008年3月。

[NOTIFY] Melnikov, A., Leiba, B., Segmuller, W., and T. Martin, "Sieve Email Filtering: Extension for Notifications", RFC 5435, January 2009.

[NOTIFY]メルニコフ、A.、Leiba、B.、Segmuller、W.、およびT.マーティン、 "ふるい電子メールフィルタリング:通知のための拡張"、RFC 5435、2009年1月。

[RFC2277] Alvestrand, H., "IETF Policy on Character Sets and Languages", BCP 18, RFC 2277, January 1998.

[RFC2277] Alvestrand、H.、 "文字セットと言語のIETF方針"、BCP 18、RFC 2277、1998年1月。

[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998.

[RFC2460]デアリング、S.とR. Hindenと、 "インターネットプロトコルバージョン6(IPv6)の仕様"、RFC 2460、1998年12月。

[RFC3490] Faltstrom, P., Hoffman, P., and A. Costello, "Internationalizing Domain Names in Applications (IDNA)", RFC 3490, March 2003.

[RFC3490] Faltstrom、P.、ホフマン、P.、およびA.コステロ、 "アプリケーションにおける国際化ドメイン名(IDNA)"、RFC 3490、2003年3月。

[RFC4519] Sciberras, A., "Lightweight Directory Access Protocol (LDAP): Schema for User Applications", RFC 4519, June 2006.

[RFC4519] Sciberras、A.、 "ライトウェイトディレクトリアクセスプロトコル(LDAP):ユーザー・アプリケーションのためのスキーマ"、RFC 4519、2006年6月。

[RFC5646] Phillips, A. and M. Davis, "Tags for Identifying Languages", BCP 47, RFC 5646, September 2009.

[RFC5646]フィリップス、A.とM.デイヴィス、 "言語を識別するためのタグ"、BCP 47、RFC 5646、2009年9月。

[RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981.

[RFC791]ポステル、J.、 "インターネットプロトコル"、STD 5、RFC 791、1981年9月。

[SASL] Melnikov, A. and K. Zeilenga, "Simple Authentication and Security Layer (SASL)", RFC 4422, June 2006.

[SASL]メルニコフ、A.およびK. Zeilenga、 "簡易認証セキュリティー層(SASL)"、RFC 4422、2006年6月。

[SASLprep] Zeilenga, K., "SASLprep: Stringprep Profile for User Names and Passwords", RFC 4013, February 2005.

[SASLprep] Zeilenga、K.、 "SASLprep:ユーザ名とパスワードのためのstringprepプロフィール"、RFC 4013、2005年2月。

[SCRAM] Menon-Sen, A., Melnikov, A., Newman, C., and N. Williams, "Salted Challenge Response Authentication Mechanism (SCRAM) SASL and GSS-API Mechanisms", RFC 5802, July 2010.

【SCRAM]メノンセン、A.、メルニコフ、A.、ニューマン、C.、およびN.ウィリアムズ、 "塩蔵チャレンジレスポンス認証メカニズム(SCRAM)SASLとGSS-APIメカニズム"、RFC 5802、2010年7月。

[SIEVE] Guenther, P. and T. Showalter, "Sieve: An Email Filtering Language", RFC 5228, January 2008.

[SIEVE]ギュンター、P.およびT.ショーウォルター監督、 "ふるい:メールフィルタリング言語"、RFC 5228、2008年1月。

[StringPrep] Hoffman, P. and M. Blanchet, "Preparation of Internationalized Strings ("stringprep")", RFC 3454, December 2002.

【STRINGPREP]ホフマン、P.及びM.ブランシェ、 "国際化された文字列の調製(" 文字列準備 ")"、RFC 3454、2002年12月。

[TLS] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008.

[TLS]ダークス、T.およびE.レスコラ、 "トランスポート層セキュリティ(TLS)プロトコルバージョン1.2"、RFC 5246、2008年8月。

[URI-GEN] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005.

[URI-GEN]バーナーズ - リー、T.、フィールディング、R.、およびL. Masinter、 "ユニフォームリソース識別子(URI):汎用構文"、STD 66、RFC 3986、2005年1月。

[UTF-8] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003.

[UTF-8] Yergeau、F.、 "UTF-8、ISO 10646の変換フォーマット"、STD 63、RFC 3629、2003年11月。

[X509] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, May 2008.

[X509]クーパー、D.、Santesson、S.、ファレル、S.、Boeyen、S.、Housley氏、R.、およびW.ポーク、「インターネットX.509公開鍵暗号基盤証明書と証明書失効リスト(CRL)のプロフィール」、RFC 5280、2008年5月。

[X509-SRV] Santesson, S., "Internet X.509 Public Key Infrastructure Subject Alternative Name for Expression of Service Name", RFC 4985, August 2007.

[X509-SRV] Santesson、S.、 "インターネットX.509公開鍵インフラストラクチャサービス名の発現のためのサブジェクトの別名"、RFC 4985、2007年8月。

9.2. Informative References
9.2. 参考文献

[DIGEST-MD5] Leach, P. and C. Newman, "Using Digest Authentication as a SASL Mechanism", RFC 2831, May 2000.

[DIGEST-MD5]リーチ、P.とC.ニューマン、RFC 2831、2000年5月 "SASLメカニズムとしてダイジェスト認証を使用します"。

[GSSAPI] Melnikov, A., "The Kerberos V5 ("GSSAPI") Simple Authentication and Security Layer (SASL) Mechanism", RFC 4752, November 2006.

[GSSAPI]メルニコフ、A.、 "ケルベロスV5(" GSSAPI ")簡易認証セキュリティー層(SASL)メカニズム"、RFC 4752、2006年11月。

[I-HAVE] Freed, N., "Sieve Email Filtering: Ihave Extension", RFC 5463, March 2009.

[I-HAVE]解放され、N.、 "ふるいのメールフィルタリング:IHAVE拡張"、RFC 5463、2009年3月。

[IMAP] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003.

[IMAP]クリスピン、M.、 "インターネットメッセージアクセスプロトコル - バージョン4rev1"、RFC 3501、2003年3月。

[LDAP] Zeilenga, K., "Lightweight Directory Access Protocol (LDAP): Technical Specification Road Map", RFC 4510, June 2006.

[LDAP] Zeilenga、K.、 "ライトウェイトディレクトリアクセスプロトコル(LDAP):技術仕様ロードマップ"、RFC 4510、2006年6月。

[PLAIN] Zeilenga, K., "The PLAIN Simple Authentication and Security Layer (SASL) Mechanism", RFC 4616, August 2006.

[PLAIN] Zeilenga、K.、 "PLAIN簡易認証セキュリティー層(SASL)メカニズム"、RFC 4616、2006年8月。

Authors' Addresses

著者のアドレス

Alexey Melnikov (editor) Isode Limited 5 Castle Business Village 36 Station Road Hampton, Middlesex TW12 2BX UK

アレクセイ・メルニコフ(エディタ)ISODE限定5キャッスルビジネス村の36の駅道ハンプトン、ミドルTW12 2BX英国

EMail: Alexey.Melnikov@isode.com

メールアドレス:Alexey.Melnikov@isode.com

Tim Martin BeThereBeSquare, Inc. 672 Haight st. San Francisco, CA 94117 USA

ティム・マーティンBeThereBeSquare、Inc.の672ヘイトセント。サンフランシスコ、CA 94117 USA

Phone: +1 510 260-4175 EMail: timmartin@alumni.cmu.edu

電話:+1 510 260-4175 Eメール:timmartin@alumni.cmu.edu