[要約] RFC 5229は、Sieveメールフィルタリングの変数拡張に関する仕様であり、変数の使用方法と目的を定義しています。このRFCの目的は、Sieveスクリプト内で変数を使用して、柔軟なメールフィルタリングを実現することです。

Network Working Group                                           K. Homme
Request for Comments: 5229                            University of Oslo
Updates: 5228                                               January 2008
Category: Standards Track
        

Sieve Email Filtering: Variables Extension

ふるい電子メールフィルタリング:変数拡張

Status of This Memo

本文書の位置付け

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

このドキュメントは、インターネットコミュニティのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態とステータスについては、「インターネット公式プロトコル標準」(STD 1)の現在のエディションを参照してください。このメモの配布は無制限です。

Abstract

概要

In advanced mail filtering rule sets, it is useful to keep state or configuration details across rules. This document updates the Sieve filtering language (RFC 5228) with an extension to support variables. The extension changes the interpretation of strings, adds an action to store data in variables, and supplies a new test so that the value of a string can be examined.

高度なメールフィルタリングルールセットでは、ルール全体で状態または構成の詳細を保持することが役立ちます。このドキュメントでは、SIVEフィルタリング言語(RFC 5228)を、変数をサポートする拡張機能で更新します。拡張機能は、文字列の解釈を変更し、データを変数に保存するアクションを追加し、文字列の値を調べることができるように新しいテストを提供します。

1. Introduction
1. はじめに

This is an extension to the Sieve language defined by [SIEVE]. It adds support for storing and referencing named data. The mechanisms detailed in this document will only apply to Sieve scripts that include a require clause for the "variables" extension. The require clauses themselves are not affected by this extension.

これは、[シーブ]で定義されたふるい言語の拡張です。名前のデータを保存および参照するためのサポートを追加します。このドキュメントで詳述されているメカニズムは、「変数」拡張の必要条項を含むシーブスクリプトにのみ適用されます。要求条項自体は、この拡張の影響を受けません。

Conventions for notations are as in [SIEVE] section 1.1, including use of [KEYWORDS] and [ABNF]. The grammar builds on the grammar of [SIEVE]. In this document, "character" means a character from the ISO 10646 coded character set [ISO10646], which may consist of multiple octets coded in [UTF-8], and "variable" is a named reference to data stored or read back using the mechanisms of this extension.

表記の規則は、[キーワード]および[ABNF]の使用を含む[ふるい]セクション1.1のようにあります。文法は、[ふるい]の文法に基づいています。このドキュメントでは、「文字」とは、[UTF-8]でコード化された複数のオクテットで構成されるISO 10646コード化された文字セット[ISO10646]の文字を意味し、「変数」は、保存されたデータへの指定された参照です。この拡張機能のメカニズム。

2. Capability Identifier
2. 機能識別子

The capability string associated with the extension defined in this document is "variables".

このドキュメントで定義されている拡張機能に関連付けられた機能文字列は「変数」です。

3. Interpretation of Strings
3. 文字列の解釈

This extension changes the semantics of quoted-string, multi-line-literal and multi-line-dotstuff found in [SIEVE] to enable the inclusion of the value of variables.

この拡張は、変数の値を包含できるように、[Sieve]に見られる引用されたストリング、マルチラインリテラル、およびマルチラインドットティックのセマンティクスを変更します。

When a string is evaluated, substrings matching variable-ref SHALL be replaced by the value of variable-name. Only one pass through the string SHALL be done. Variable names are case insensitive, so "foo" and "FOO" refer to the same variable. Unknown variables are replaced by the empty string.

文字列が評価されると、可変refを一致させるサブストリングは、変数名の値に置き換えられます。文字列を通る1つのパスのみが行われます。変数名はケースの鈍感であるため、「foo」と「foo」は同じ変数を参照します。未知の変数は空の文字列に置き換えられます。

      variable-ref        =  "${" [namespace] variable-name "}"
      namespace           =  identifier "." *sub-namespace
      sub-namespace       =  variable-name "."
      variable-name       =  num-variable / identifier
      num-variable        =  1*DIGIT
        
   Examples:
      "&%${}!"     => unchanged, as the empty string is an illegal
                      identifier
      "${doh!}"    => unchanged, as "!" is illegal in identifiers
        

The variable "company" holds the value "ACME". No other variables are set.

変数「会社」は値「ACME」を保持します。他の変数は設定されていません。

      "${full}"         => the empty string
      "${company}"      => "ACME"
        
      "${BAD${Company}" => "${BADACME"
      "${President, ${Company} Inc.}"
                        => "${President, ACME Inc.}"
        

The expanded string MUST use the variable values that are current when control reaches the statement the string is part of.

拡張された文字列は、コントロールが文字列の一部に到達したときに最新の変数値を使用する必要があります。

Strings where no variable substitutions take place are referred to as constant strings. Future extensions may specify that passing non-constant strings as arguments to its actions or tests is an error.

可変置換が行われない文字列は、一定の文字列と呼ばれます。将来の拡張では、そのアクションまたはテストの引数として非定常文字列を渡すことがエラーであることを指定する場合があります。

Namespaces are meant for future extensions that make internal state available through variables. These variables SHOULD be put in a namespace whose first component is the same as its capability string. Such extensions SHOULD state which, if any, of the variables in its namespace are modifiable with the "set" action.

名前空間は、変数を介して内部状態を利用できるようにする将来の拡張機能を対象としています。これらの変数は、最初のコンポーネントがその機能文字列と同じ名前空間に配置する必要があります。このような拡張機能は、その名前空間の変数が「セット」アクションで変更可能であると述べる必要があります。

References to namespaces without a prior require statement for the relevant extension MUST cause an error.

関連する拡張機能の事前の要求ステートメントなしの名前空間への参照は、エラーを引き起こす必要があります。

Tests or actions in future extensions may need to access the unexpanded version of the string argument and, e.g., do the expansion after setting variables in its namespace. The design of the implementation should allow this.

将来の拡張機能におけるテストまたはアクションは、文字列引数の延期されていないバージョンにアクセスする必要がある場合があり、たとえば、名前空間に変数を設定した後に拡張を行います。実装の設計により、これが可能になります。

3.1. Quoting and Encoded Characters
3.1. 引用とエンコードされた文字

The semantics of quoting using backslash are not changed: backslash quoting is resolved before doing variable substitution. Similarly, encoded character processing (see Section 2.4.2.4 of [SIEVE]) is performed before doing variable substitution, but after quoting.

バックスラッシュを使用して引用するセマンティクスは変更されません。バックスラッシュの引用は、可変置換を行う前に解決されます。同様に、エンコードされた文字処理([シーブ]のセクション2.4.2.4を参照)は、可変置換を行う前に実行されますが、引用した後に実行されます。

Examples: "${fo\o}" => ${foo} => the expansion of variable foo. "${fo\\o}" => ${fo\o} => illegal identifier => left verbatim. "\${foo}" => ${foo} => the expansion of variable foo. "\\${foo}" => \${foo} => a backslash character followed by the expansion of variable foo.

例: "$ {fo \ o}" => $ {foo} =>可変fooの拡張。"$ {fo \\ o}" => $ {fo \ o} =>違法な識別子=>左Verbatim。"\ $ {foo}" => $ {foo} =>変数fooの拡張。"\\ $ {foo}" => \ $ {foo} =>バックスラッシュ文字に続いて可変fooの拡張が続きます。

If it is required to include a character sequence such as "${beep}" verbatim in a text literal, the user can define a variable to circumvent expansion to the empty string.

「$ {beep}」verbatimなどの文字列に文字通りのキャラクターシーケンスを含める必要がある場合、ユーザーは変数を定義して空の文字列への拡張を回避できます。

   Example:
      set "dollar" "$";
      set "text" "regarding ${dollar}{beep}";
        
   Example:
      require ["encoded-character", "variables"];
      set "name" "Ethelbert"
      if header :contains "Subject" "dear${hex:20 24 7b 4e}ame}" {
          # the test string is "dear Ethelbert"
      }
        
3.2. Match Variables
3.2. 一致する変数

A "match variable" has a name consisting only of decimal digits and has no namespace component.

「一致変数」には、小数桁のみで構成される名前があり、名前空間コンポーネントはありません。

The decimal value of the match variable name will index the list of matching strings from the most recently evaluated successful match of type ":matches". The list is empty if no match has been successful.

一致変数名の小数値は、最近評価されたタイプのマッチの成功した一致する文字列のリストをインデックスします ":matches"。マッチが成功していない場合、リストは空です。

Note: Extra leading zeroes are allowed and ignored.

注:余分な主要なゼロは許可され、無視されます。

The list will contain one string for each wildcard ("?" and "*") in the match pattern. Each string holds the substring from the source value that the corresponding wildcard expands to, possibly the empty string. The wildcards match as little as possible (non-greedy matching).

このリストには、マッチパターンの各ワイルドカード( "?"および "*")の1つの文字列が含まれます。各文字列は、対応するワイルドカードが拡張するソース値、場合によっては空の文字列からサブストリングを保持します。ワイルドカードは、できるだけ少なくします(ゼロ以外のマッチング)。

The first string in the list has index 1. If the index is out of range, the empty string will be substituted. Index 0 contains the matched part of the source value.

リスト内の最初の文字列にはインデックス1があります。インデックスが範囲外の場合、空の文字列は置換されます。インデックス0には、ソース値の一致した部分が含まれています。

The interpreter MUST short-circuit tests, i.e., not perform more tests than necessary to find the result. Evaluation order MUST be left to right. If a test has two or more list arguments, the implementation is free to choose which to iterate over first.

インタープリターは短絡テストを行う必要があります。つまり、結果を見つけるために必要以上のテストを実行しないでください。評価順序は右から右にする必要があります。テストに2つ以上のリスト引数がある場合、実装は最初に繰り返すものを自由に選択できます。

An extension describing a new match type (e.g., [REGEX]) MAY specify that match variables are set as a side effect when the match type is used in a script that has enabled the "variables" extension.

新しいマッチタイプ([Regex]など)を記述する拡張機能は、「変数」拡張機能を有効にしたスクリプトで一致タイプが使用される場合、一致変数が副作用として設定されることを指定する場合があります。

Example:

例:

require ["fileinto", "variables"];

["fileinto"、 "変数"]が必要です。

      if header :matches "List-ID" "*<*@*" {
          fileinto "INBOX.lists.${2}"; stop;
      }
        
      # Imagine the header
      # Subject: [acme-users] [fwd] version 1.0 is out
      if header :matches "Subject" "[*] *" {
          # ${1} will hold "acme-users",
          # ${2} will hold "[fwd] version 1.0 is out"
          fileinfo "INBOX.lists.${1}"; stop;
      }
        
      # Imagine the header
      # To: coyote@ACME.Example.COM
      if address :matches ["To", "Cc"] ["coyote@**.com",
              "wile@**.com"] {
          # ${0} is the matching address
          # ${1} is always the empty string
          # ${2} is part of the domain name ("ACME.Example")
          fileinto "INBOX.business.${2}"; stop;
      } else {
          # Control wouldn't reach this block if any match was
          # successful, so no match variables are set at this
          # point.
      }
        
      if anyof (true, address :domain :matches "To" "*.com") {
          # The second test is never evaluated, so there are
          # still no match variables set.
          stop;
      }
        
4. Action set
4. アクションセット
   Usage:    set [MODIFIER] <name: string> <value: string>
        

The "set" action stores the specified value in the variable identified by name. The name MUST be a constant string and conform to the syntax of variable-name. Match variables cannot be set. A namespace cannot be used unless an extension explicitly allows its use in "set". An invalid name MUST be detected as a syntax error.

「セット」アクションは、指定された値を名前で識別する変数に保存します。名前は一定の文字列であり、変数名の構文に適合する必要があります。一致変数を設定できません。拡張機能が「セット」で明示的に使用できるようにしない限り、名前空間は使用できません。無効な名前を構文エラーとして検出する必要があります。

Modifiers are applied on a value before it is stored in the variable. See the next section for details.

変数は、変数に保存される前に値に適用されます。詳細については、次のセクションを参照してください。

Variables are only visible to the currently running script. Note: Future extensions may provide different scoping rules for variables.

変数は、現在実行されているスクリプトにのみ表示されます。注:将来の拡張機能は、変数のさまざまなスコーピングルールを提供する場合があります。

Variable names are case insensitive.

変数名はケースの鈍感です。

   Example:
      set "honorific"  "Mr";
      set "first_name" "Wile";
      set "last_name"  "Coyote";
      set "vacation" text:
      Dear ${HONORIFIC} ${last_name},
      I'm out, please leave a message after the meep.
      .
      ;
        

"set" does not affect the implicit keep. It is compatible with all actions defined in [SIEVE].

「セット」は暗黙のキープに影響しません。[ふるい]で定義されているすべてのアクションと互換性があります。

4.1. Modifiers
4.1. 修飾子
   Usage:  ":lower" / ":upper" / ":lowerfirst" / ":upperfirst" /
           ":quotewildcard" / ":length"
        

Modifier names are case insensitive. Unknown modifiers MUST yield a syntax error. More than one modifier can be specified, in which case they are applied according to this precedence list, largest value first:

モディファイア名はケースの鈍感です。不明な修飾子は、構文エラーを生成する必要があります。複数の修飾子を指定できます。この場合、この優先順位リストに従って適用されます。

                     +--------------------------------+
                     | Precedence     Modifier        |
                     +--------------------------------+
                     |     40         :lower          |
                     |                :upper          |
                     +--------------------------------+
                     |     30         :lowerfirst     |
                     |                :upperfirst     |
                     +--------------------------------+
                     |     20         :quotewildcard  |
                     +--------------------------------+
                     |     10         :length         |
                     +--------------------------------+
        

It is an error to use two or more modifiers of the same precedence in a single "set" action.

単一の「セット」アクションで同じ優先順位の2つ以上の修飾子を使用することはエラーです。

   Examples:
      # The value assigned to the variable is printed after the arrow
      set "a" "juMBlEd lETteRS";             => "juMBlEd lETteRS"
      set :length "b" "${a}";                => "15"
      set :lower "b" "${a}";                 => "jumbled letters"
      set :upperfirst "b" "${a}";            => "JuMBlEd lETteRS"
      set :upperfirst :lower "b" "${a}";     => "Jumbled letters"
      set :quotewildcard "b" "Rock*";        => "Rock\*"
        
4.1.1. Modifier ":length"
4.1.1. 修飾子 ":length"

The value is the decimal number of characters in the expansion, converted to a string.

値は、文字列に変換された拡張中のキャラクターの小数です。

4.1.2. Modifier ":quotewildcard"
4.1.2. 修飾子 ":quotewildcard"

This modifier adds the necessary quoting to ensure that the expanded text will only match a literal occurrence if used as a parameter to :matches. Every character with special meaning ("*", "?", and "\") is prefixed with "\" in the expansion.

この修飾子は、拡張されたテキストがパラメーターとして使用された場合にのみリテラルの発生と一致することを確認するために必要な引用を追加します。特別な意味のあるすべてのキャラクター( "*"、 "?"、および "\")には、拡張中に「\」が付いています。

4.1.3. Case Modifiers
4.1.3. ケース修飾子

These modifiers change the letters of the text from upper to lower case or vice versa. Characters other than "A"-"Z" and "a"-"z" from US-ASCII are left unchanged.

これらの修飾子は、テキストの文字を上から小文字に変更するか、その逆に変更します。「A」 - 「Z」と「A」以外の文字は、US-ASCIIからの「Z」 - 「Z」は変更されません。

4.1.3.1. Modifier ":upper"
4.1.3.1. モディファイア ":upper"

All lower case letters are converted to their upper case counterparts.

すべての小文字は、大文字のカウンターパートに変換されます。

4.1.3.2. Modifier ":lower"
4.1.3.2. 修飾子 ":lower"

All upper case letters are converted to their lower case counterparts.

すべての大文字は、小文字のカウンターパートに変換されます。

4.1.3.3. Modifier ":upperfirst"
4.1.3.3. モディファイア ":upperfirst"

The first character of the string is converted to upper case if it is a letter and set in lower case. The rest of the string is left unchanged.

文字列の最初の文字は、それが文字であり、小文字で設定されている場合、大文字に変換されます。文字列の残りの部分は変更されていません。

4.1.3.4. Modifier ":lowerfirst"
4.1.3.4. 修飾子 ":lowerfirst"

The first character of the string is converted to lower case if it is a letter and set in upper case. The rest of the string is left unchanged.

文字列の最初の文字は、それが文字である場合、小文字に変換され、大文字に設定されます。文字列の残りの部分は変更されていません。

5. Test string
5. テスト文字列
   Usage:  string [MATCH-TYPE] [COMPARATOR]
           <source: string-list> <key-list: string-list>
        

The "string" test evaluates to true if any of the source strings matches any key. The type of match defaults to ":is".

「文字列」テストは、ソース文字列のいずれかがキーと一致する場合、trueに評価されます。一致のタイプはデフォルトで「:as」になります。

In the "string" test, both source and key-list are taken from the script, not the message, and whitespace stripping MUST NOT be done unless the script explicitly requests this through some future mechanism.

「文字列」テストでは、ソースとキーリストの両方がメッセージではなくスクリプトから取得され、将来のメカニズムを通じてこれを明示的に要求しない限り、Whitespaceストリッピングは実行しないでください。

   Example:
      set "state" "${state} pending";
      if string :matches " ${state} " "* pending *" {
          # the above test always succeeds
      }
        

The "relational" extension [RELATIONAL] adds a match type called ":count". The count of a single string is 0 if it is the empty string, or 1 otherwise. The count of a string list is the sum of the counts of the member strings.

「リレーショナル」拡張[リレーショナル]は、「:count」と呼ばれる一致タイプを追加します。単一の文字列のカウントは、空の文字列の場合は0、または1つの場合は1です。文字列リストのカウントは、メンバー文字列のカウントの合計です。

6. Implementation Limits
6. 実装制限

An implementation of this document MUST support at least 128 distinct variables. The supported length of variable names MUST be at least 32 characters. Each variable MUST be able to hold at least 4000 characters. Attempts to set the variable to a value larger than what the implementation supports SHOULD be reported as an error at compile-time if possible. If the attempt is discovered during run-time, the value SHOULD be truncated, and it MUST NOT be treated as an error.

このドキュメントの実装は、少なくとも128の異なる変数をサポートする必要があります。変数名のサポートされている長さは、少なくとも32文字でなければなりません。各変数は、少なくとも4000文字を保持できる必要があります。変数を、実装サポートがサポートするものよりも大きい値に設定しようとする試みは、可能であればコンパイル時にエラーとして報告する必要があります。実行時間中に試みが発見された場合、値は切り捨てられ、エラーとして扱われてはなりません。

Match variables ${1} through ${9} MUST be supported. References to higher indices than those the implementation supports MUST be treated as a syntax error, which SHOULD be discovered at compile-time.

一致変数$ {1}〜$ {9}をサポートする必要があります。実装サポートよりも高いインデックスへの参照は、コンパイル時に発見する必要がある構文エラーとして扱わなければなりません。

7. Security Considerations
7. セキュリティに関する考慮事項

When match variables are used, and the author of the script isn't careful, strings can contain arbitrary values controlled by the sender of the mail.

一致変数が使用され、スクリプトの著者が注意を払っていない場合、文字列はメールの送信者によって制御される任意の値を含めることができます。

Since values stored by "set" that exceed implementation limits are silently truncated, it's not appropriate to store large structures with security implications in variables.

実装制限を超える「セット」によって保存されている値は静かに切り捨てられるため、変数にセキュリティに影響を与える大きな構造を保存することは適切ではありません。

The introduction of variables makes advanced decision making easier to write, but since no looping construct is provided, all Sieve scripts will terminate in an orderly manner.

変数の導入により、高度な意思決定が簡単に記述されますが、ループ構造が提供されていないため、すべてのふるいスクリプトは整然とした方法で終了します。

Sieve filtering should not be relied on as a security measure against hostile mail messages. Sieve is designed to do simple, mostly static tests, and is not suitable for use as a spam or virus checker, where the perpetrator has a motivation to vary the format of the mail in order to avoid filtering rules. See also [SPAMTEST].

ふるいフィルタリングは、敵対的なメールメッセージに対するセキュリティ尺度として依存してはなりません。Sieveは、主に静的なテストを行うように設計されており、スパムまたはウイルスチェッカーとしての使用には適していません。この場合、加害者はルールのフィルタリングを避けるためにメールの形式を変更する動機があります。[Spamtest]も参照してください。

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

The following template specifies the IANA registration of the variables Sieve extension specified in this document:

次のテンプレートは、このドキュメントで指定された変数のふるい拡張のIANA登録を指定します。

To: iana@iana.org Subject: Registration of new Sieve extension

宛先:iana@iana.org件名:新しいふるい延長の登録

   Capability name: variables
   Description:     Adds support for variables to the Sieve filtering
                    language.
   RFC number:      RFC 5229
   Contact address: The Sieve discussion list <ietf-mta-filters@imc.org>
        
9. Acknowledgments
9. 謝辞

Thanks to Cyrus Daboo, Jutta Degener, Ned Freed, Lawrence Greenfield, Jeffrey Hutzelman, Mark E. Mallett, Alexey Melnikov, Peder Stray, and Nigel Swinson for valuable feedback.

Cyrus Daboo、Jutta Degener、Ned Freed、Lawrence Greenfield、Jeffrey Hutzelman、Mark E. Mallett、Alexey Melnikov、Peder Stay、Nigel Swinsonに貴重なフィードバックに感謝します。

10. References
10. 参考文献
10.1. Normative References
10.1. 引用文献

[ABNF] Crocker, D., Ed., and Overell, P., "Augmented BNF for Syntax Specifications: ABNF", RFC 4234, October 2005.

[ABNF] Crocker、D.、ed。、およびOverell、P。、「構文仕様のためのBNFの増強:ABNF」、RFC 4234、2005年10月。

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

[キーワード] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、1997年3月。

[RELATIONAL] Segmuller, W. and B. Leiba, "Sieve Email Filtering: Relational Extension", RFC 5231, January 2008.

[リレーショナル] Segmuller、W。およびB. Leiba、「Sieve Emailフィルタリング:リレーショナルエクステンション」、RFC 5231、2008年1月。

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

[Sieve] Guenther、P.、ed。、およびT. Showalter、ed。、「Sive:An Email Filtering Language」、RFC 5228、2008年1月。

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

[UTF-8] Yergeau、F。、「UTF-8、UnicodeおよびISO 10646の変換形式」、RFC 3629、2003年11月。

10.2. Informative References
10.2. 参考引用

[ISO10646] ISO/IEC, "Information Technology - Universal Multiple-Octet Coded Character Set (UCS) - Part 1: Architecture and Basic Multilingual Plane", May 1993, with amendments.

[ISO10646] ISO/IEC、「情報技術 - ユニバーサルマルチオクテットコード化された文字セット(UCS) - パート1:アーキテクチャと基本的な多言語平面」、1993年5月、修正。

[REGEX] Murchison, K., "Sieve Email Filtering -- Regular Expression Extension", Work in Progress, February 2006.

[Regex] Murchison、K。、「Sieve Emailフィルタリング - 正規表現拡張」、2006年2月、進行中の作業。

[SPAMTEST] Daboo, C., "Sieve Email Filtering: Spamtest and Virustest Extensions", RFC 5235, January 2008.

[Spamtest] Daboo、C。、「Sieve Emailフィルタリング:スパムテストとVirustest Extensions」、RFC 5235、2008年1月。

Author's Address

著者の連絡先

Kjetil T. Homme University of Oslo PO Box 1080 0316 Oslo, Norway

Kjetil T. Homme Oslo University of Oslo PO Box 1080 0316 Oslo、ノルウェー

   Phone: +47 9366 0091
   EMail: kjetilho@ifi.uio.no
        

Full Copyright Statement

完全な著作権声明

Copyright (C) The IETF Trust (2008).

著作権(c)The IETF Trust(2008)。

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

この文書は、BCP 78に含まれる権利、ライセンス、および制限の対象となり、そこに記載されている場合を除き、著者はすべての権利を保持しています。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

このドキュメントとここに含まれる情報は、「現状のまま」に基づいて提供され、貢献者、彼/彼女が代表する組織(もしあれば)、インターネット協会、IETFトラスト、インターネットエンジニアリングタスクフォースがすべてを否認します。明示的または黙示的な保証。ここでの情報の使用は、特定の目的に対する商品性または適合性の権利または暗黙の保証を侵害しないという保証を含むがこれらに限定されない。

Intellectual Property

知的財産

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETFは、知的財産権またはその他の権利の有効性または範囲に関して、本書に記載されている技術の実装または使用、またはそのような権利に基づくライセンスに基づくライセンスの範囲に関連すると主張される可能性のある他の権利に関しては、立場を取得しません。利用可能になります。また、そのような権利を特定するために独立した努力をしたことも表明していません。RFCドキュメントの権利に関する手順に関する情報は、BCP 78およびBCP 79に記載されています。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

IETF事務局に行われたIPR開示のコピーと、利用可能にするライセンスの保証、またはこの仕様の実装者またはユーザーによるそのような独自の権利の使用のための一般的なライセンスまたは許可を取得しようとする試みの結果を取得できます。http://www.ietf.org/iprのIETFオンラインIPRリポジトリから。

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETFは、関心のある当事者に、著作権、特許、または特許出願、またはこの基準を実装するために必要なテクノロジーをカバーする可能性のあるその他の独自の権利を注意深く招待します。ietf-ipr@ietf.orgのIETFへの情報をお問い合わせください。