Internet Engineering Task Force (IETF)                      K. Murchison
Request for Comments: 9671                                     R. Signes
Category: Standards Track                                    M. Horsfall
ISSN: 2070-1721                                                 Fastmail
                                                            October 2024
        
Sieve Email Filtering: Extension for Processing Calendar Attachments
シーブメールフィルタリング:カレンダー添付ファイルの処理用の拡張機能
Abstract
概要

This document describes the "processcalendar" extension to the Sieve email filtering language. The "processcalendar" extension gives Sieve the ability to process machine-readable calendar data that is encapsulated in an email message using Multipurpose Internet Mail Extensions (MIME).

このドキュメントでは、シーブメールのフィルタリング言語への「ProcessCalendar」拡張機能について説明します。「ProcessCalendar」拡張機能は、MultiPurpose InternetMail拡張子(MIME)を使用して電子メールメッセージにカプセル化されるマシン読み取り可能なカレンダーデータを処理する機能をSiveに提供します。

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 7841.

このドキュメントは、インターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表しています。公開レビューを受けており、インターネットエンジニアリングステアリンググループ(IESG)からの出版が承認されています。インターネット標準の詳細については、RFC 7841のセクション2で入手できます。

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

このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、https://www.rfc-editor.org/info/rfc9671で取得できます。

著作権表示

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

著作権(c)2024 IETF Trustおよび文書著者として特定された人。無断転載を禁じます。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.

このドキュメントは、BCP 78およびIETFドキュメント(https://trustee.ietf.org/license-info)に関連するIETF Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、セクション4.Eで説明されている法的規定のセクション4.Eで説明されており、改訂されたBSDライセンスで説明されている保証なしで提供されるように、改訂されたBSDライセンステキストを含める必要があります。

Table of Contents
目次
   1.  Introduction
   2.  Conventions Used in This Document
   3.  Capability Identifier
   4.  Process Calendar Action
     4.1.  Allow Public Argument
     4.2.  Addresses Argument
     4.3.  Updates Only Argument
     4.4.  Calendar ID Argument
     4.5.  Delete Cancelled Argument
     4.6.  Organizers Argument
     4.7.  Outcome Argument
     4.8.  Reason Argument
     4.9.  Interaction with Other Sieve Actions
     4.10. Examples
   5.  Security Considerations
   6.  Privacy Considerations
   7.  IANA Considerations
     7.1.  Registration of Sieve Extension
     7.2.  Registration of Sieve Action
   8.  References
     8.1.  Normative References
     8.2.  Informative References
   Acknowledgments
   Authors' Addresses
        
1. Introduction
1. はじめに

Users frequently receive invites, replies, and cancellations for events, tasks, etc. via Internet mail messages. It is sometimes desirable to have such messages automatically parsed and the enclosed calendar data added to, updated on, or deleted from the user's calendars.

ユーザーは、インターネットメールメッセージを介して、イベント、タスクなどの招待状、返信、キャンセルを頻繁に受け取ります。そのようなメッセージを自動的に解析し、囲まれたカレンダーデータを追加、更新、またはユーザーのカレンダーから削除することが望ましい場合があります。

Typically, such messages are based on the iCalendar Message-Based Interoperability Protocol (iMIP) [RFC6047]. However, sometimes the enclosed iCalendar [RFC5545] data does not include an iCalendar Transport-Independent Interoperability Protocol (iTIP) method property (see [RFC5546], Section 1.4), or the enclosed data may be in some other machine-readable format (e.g., JSCalendar [RFC8984]).

通常、そのようなメッセージは、ICALENDARメッセージベースの相互運用性プロトコル(IMIP)[RFC6047]に基づいています。ただし、囲まれたICALENDAR [RFC5545]データには、IcalEndar Transport Indostent Interoperability Protocol(ITIP)メソッドプロパティが含まれていない場合があります([RFC5546]、セクション1.4を参照)、または囲まれたデータは他の機械読み取り可能な形式である場合があります(例:、jscalendar [rfc8984])。

This document defines an extension to the Sieve language [RFC5228] that enables scripts to process machine-readable calendar data that is encapsulated in an email message using MIME [RFC2045]. Specifically, this extension provides the ability to alter items on a user's calendars that are referenced in the encapsulated calendar data.

このドキュメントでは、Sieve言語[RFC5228]への拡張機能を定義します。これにより、スクリプトはMIME [RFC2045]を使用して電子メールメッセージにカプセル化される機械可読カレンダーデータを処理できます。具体的には、この拡張機能は、カプセル化されたカレンダーデータで参照されているユーザーのカレンダーでアイテムを変更する機能を提供します。

2. Conventions Used in This Document
2. このドキュメントで使用されている規則

Conventions for notations are as in Section 1.1 of [RFC5228], including use of the "Usage:" label for the definition of action and tagged arguments syntax.

表記の規則は、[RFC5228]のセクション1.1と同じように、「使用法:」の使用のラベルとタグ付けされた引数構文の使用を含む。

This document uses terminology and concepts from iCalendar [RFC5545] and iTIP [RFC5546] to describe the processing of calendar data, but this extension can be used with any machine-readable calendar data format that can express similar concepts.

このドキュメントでは、ICALENDAR [RFC5545]およびITIP [RFC5546]の用語と概念を使用して、カレンダーデータの処理を記述しますが、この拡張機能は、同様の概念を表現できるマシン読み取り可能なカレンダーデータ形式で使用できます。

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

「必須」、「必要」、「必須」、「shall」、「shall」、「suff」、 "not"、 "becommended"、 "becommented"、 "may"、 "optional「このドキュメントでは、BCP 14 [RFC2119] [RFC8174]で説明されているように解釈されます。

3. Capability Identifier
3. 機能識別子

Sieve interpreters that implement this extension MUST have an identifier of "processcalendar" for use with the capability mechanism.

この拡張機能を実装するふるい通訳者には、機能メカニズムで使用するための「ProcessCalendar」の識別子が必要です。

4. Process Calendar Action
4. カレンダーアクションを処理します
   Usage: processcalendar [ :allowpublic ]
                          [ :addresses <string-list> ]
                          [ :updatesonly / :calendarid <string> ]
                          [ :deletecancelled ]
                          [ :organizers <ext-list-name: string> ]
                          [ :outcome <variablename: string> ]
                          [ :reason <variablename: string> ]
        

The "processcalendar" action is used to parse encapsulated calendar data and perform the appropriate action based on the content. If the calendar data is malformed in any way, it MUST be ignored and no action is taken. Otherwise, calendar objects may be created, updated, or deleted from a given calendar.

「ProcessCalendar」アクションは、カプセル化されたカレンダーデータを解析し、コンテンツに基づいて適切なアクションを実行するために使用されます。カレンダーデータが何らかの方法で奇形されている場合、無視する必要があり、アクションは実行されません。それ以外の場合、特定のカレンダーからカレンダーオブジェクトを作成、更新、または削除することができます。

This action can be used with or without the "extlists" extension [RFC6134]. When the "extlists" extension is enabled in a script using <require "extlists">, the script can use the :organizers argument (Section 4.6) in the "processcalendar" action as described below. When the "extlists" extension is not enabled, the :organizers argument MUST NOT be used and MUST cause an error according to [RFC5228].

このアクションは、「extlists」拡張機能[RFC6134]で使用できない場合と使用できます。「extlists」拡張機能が<require "extlists">を使用してスクリプトで有効になっている場合、スクリプトは以下に説明する「ProcessCalendar」アクションの主催者引数(セクション4.6)を使用できます。「extlists」拡張機能が有効になっていない場合、主催者の引数を使用してはならず、[RFC5228]に従ってエラーを引き起こす必要があります。

This action can be used with or without the "variables" extension [RFC5229]. When the "variables" extension is enabled in a script using <require "variables">, the script can use the :outcome (Section 4.7) and :reason (Section 4.8) arguments in the "processcalendar" action as described below. When the "variables" extension is not enabled, the :outcome and :reason arguments MUST NOT be used and MUST cause an error according to [RFC5228].

このアクションは、「変数」拡張[RFC5229]の有無にかかわらず使用できます。「変数」拡張機能が<require "valiables">を使用してスクリプトで有効になっている場合、スクリプトは以下の「ProcessCalendar」アクションの結果(セクション4.7)および理由(セクション4.8)の引数を使用できます。「変数」拡張が有効になっていない場合、:結果と理由の引数は使用してはならず、[RFC5228]に従ってエラーを引き起こす必要があります。

If a mail message contains calendar data in multiple MIME [RFC2045] parts, this action MUST verify that the calendar data in each part are semantically equivalent to one another. If the data is found to be semantically different, the action MUST NOT process the message. Otherwise, the action MUST only process one representation of the data.

メールメッセージに複数のMIME [RFC2045]パーツのカレンダーデータが含まれている場合、このアクションは、各パーツのカレンダーデータが互いに意味的に同等であることを確認する必要があります。データが意味的に異なることが判明した場合、アクションはメッセージを処理してはなりません。それ以外の場合、アクションはデータの1つの表現のみを処理する必要があります。

This action MUST NOT make any changes to the participant status of the recipient when processing the calendar data. The mechanism for a recipient to change their participant status to an event is out of scope for this document.

このアクションは、カレンダーデータを処理するときに受信者の参加者ステータスに変更を加えてはなりません。受信者が参加者のステータスをイベントに変更するメカニズムは、このドキュメントの範囲外です。

This action SHOULD remove alarms from calendar data before applying it to a calendar. Failure to do so could result in unwelcome notifications being triggered for the recipient.

このアクションは、カレンダーデータをカレンダーに適用する前に、カレンダーデータからアラームを削除する必要があります。そうしないと、受信者に歓迎されない通知がトリガーされる可能性があります。

4.1. Allow Public Argument
4.1. 公的な議論を許可します

The optional :allowpublic argument is used to tell the implementation that it can process calendar data that does not contain any ATTENDEE properties, such as iTIP messages where the METHOD is PUBLISH or non-iTIP messages where the calendar data does not contain METHOD and/or ORGANIZER properties.

オプション:AllowPublic引数は、メソッドが公開されているITIPメッセージやカレンダーデータにメソッドが含まれていない場合や非ITIPメッセージなど、参加者のプロパティを含まないカレンダーデータを処理できることを実装に伝えるために使用されます。オーガナイザープロパティ。

If used in conjunction with the :organizers argument (Section 4.6), the implementation MUST NOT process non-iTIP messages.

:主催者の引数(セクション4.6)と組み合わせて使用する場合、実装は非ITIPメッセージを処理してはなりません。

If :allowpublic is omitted, the implementation MUST NOT process calendar data unless is it is a well-formed iTIP message and one of the recipient user's email addresses matches the Calendar User Address (see Section 3.3.3 of [RFC5545]) of the intended target of the message, as determined by the iTIP method (see Section 1.4 of [RFC5546]) of the message:

AllowPublicが省略されている場合、実装は、適切に形成されたITIPメッセージでない限り、カレンダーデータを処理しないでください。受信者のユーザーのメールアドレスの1つがカレンダーユーザーアドレスと一致します([RFC5545]のセクション3.3.3を参照)メッセージのターゲットは、メッセージのITIPメソッド([RFC5546]のセクション1.4を参照)を参照してください。

* "REPLY": Value of the ORGANIZER property (see Section 3.8.4.3 of [RFC5545])

* 「返信」:オーガナイザープロパティの価値([RFC5545]のセクション3.8.4.3を参照)

* "REQUEST", "CANCEL", "ADD": Value of one of the ATTENDEE properties (see Section 3.8.4.1 of [RFC5545])

* 「リクエスト」、「キャンセル」、「追加」:参加者の1つの値([RFC5545]のセクション3.8.4.1を参照)

The recipient user's email address matches the Calendar User Address of the target if the Calendar User Address is in the form of a mailto URI and the email address matches the "addr-spec" of the URI.

受信者のユーザーのメールアドレスは、カレンダーユーザーアドレスがMailto URIの形式であり、メールアドレスがURIの「ADDRスペック」と一致する場合、ターゲットのカレンダーユーザーアドレスと一致します。

An email address is considered to belong to the recipient if it is one of the following:

電子メールアドレスは、それが次のいずれかである場合、受信者に属すると見なされます。

* an email address known by the implementation to be associated with the recipient,

* 実装が受信者に関連付けることが知られているメールアドレス、

* the final envelope recipient address if it's available to the implementation, or

* 最終的なエンベロープの受信者は、実装で利用できる場合、または

* an address specified by the script writer via the :addresses argument (Section 4.2).

* 以下を介してスクリプトライターによって指定されたアドレス。アドレス引数(セクション4.2)。

4.2. Addresses Argument
4.2. 引数に対処します

The optional :addresses argument is used to specify email addresses that belong to the recipient in addition to the addresses known to the implementation.

オプション:アドレス引数は、実装に既知のアドレスに加えて、受信者に属する電子メールアドレスを指定するために使用されます。

4.3. Updates Only Argument
4.3. 引数のみを更新します

The optional :updatesonly argument is used to limit the messages processed to those targeting existing calendar objects only. If the message contains a new calendar object (its unique identifier does not exist on any of the user's calendars), the implementation MUST NOT add the object to a calendar.

オプション:updatesonly引数は、既存のカレンダーオブジェクトのみをターゲットにしたメッセージに処理されたメッセージを制限するために使用されます。メッセージに新しいカレンダーオブジェクトが含まれている場合(その一意の識別子はユーザーのカレンダーのいずれにも存在しません)、実装はカレンダーにオブジェクトを追加してはなりません。

If :updatesonly is omitted, new calendar objects may be added to one of the user's calendars.

UpdatesOnlyが省略されている場合、ユーザーのカレンダーの1つに新しいカレンダーオブジェクトが追加される場合があります。

The :updatesonly and :calendarid (Section 4.4) arguments are incompatible with each other. It is an error if both arguments are used in the same "processcalendar" action.

:updatesonly and:calendarid(セクション4.4)引数は互いに互換性がありません。同じ「ProcessCalendar」アクションで両方の引数が使用されている場合、これはエラーです。

4.4. Calendar ID Argument
4.4. カレンダーID引数

The optional :calendarid argument specifies the identifier of the calendar onto which new calendar objects should be placed.

オプション:CalendarID引数は、新しいカレンダーオブジェクトを配置する必要があるカレンダーの識別子を指定します。

If :calendarid is omitted, new calendar objects will be placed on the user's "default" calendar as determined by the implementation.

CalenderIDが省略されている場合、新しいカレンダーオブジェクトは、実装によって決定されるように、ユーザーの「デフォルト」カレンダーに配置されます。

The :updatesonly (Section 4.3) and :calendarid arguments are incompatible with each other. It is an error if both arguments are used in the same "processcalendar" action.

:updatesonly(セクション4.3)および:calendarid引数は互いに互換性がありません。同じ「ProcessCalendar」アクションで両方の引数が使用されている場合、これはエラーです。

4.5. Delete Cancelled Argument
4.5. キャンセルされた引数を削除します

The optional :deletecancelled argument is used to tell the implementation that if it receives a cancellation message, it SHOULD remove the associated calendar object from the calendar.

オプション:削除された引数は、キャンセルメッセージを受信した場合、カレンダーから関連付けられたカレンダーオブジェクトを削除する必要があることを実装に伝えるために使用されます。

If :deletecancelled is omitted, the status of the associated calendar object will be set to cancelled and will remain on the calendar.

deletecancelledが省略されている場合、関連するカレンダーオブジェクトのステータスがキャンセルされるように設定され、カレンダーに残ります。

4.6. Organizers Argument
4.6. 主催者の議論

The optional :organizers argument is used to specify an external list of email addresses from which the recipient is willing to accept public events, invites, updates, and cancellations. Implementations MUST NOT process calendar data unless is it is a well-formed iTIP message and one of the addresses in the external list matches the Calendar User Address of the ORGANIZER property. An email address in the external list matches the Calendar User Address of the ORGANIZER property if it is in the form of a mailto URI and the email address matches the "addr-spec" of the URI.

オプション:主催者の引数は、受信者が公開イベント、招待、更新、キャンセルを受け入れる意思のある電子メールアドレスの外部リストを指定するために使用されます。実装は、適切に形成されたITIPメッセージであり、外部リストのアドレスの1つがオーガナイザープロパティのカレンダーユーザーアドレスと一致しない限り、カレンダーデータを処理してはなりません。外部リストのメールアドレスは、Mailto URIの形式であり、メールアドレスがURIの「ADDRスペック」と一致する場合、オーガナイザープロパティのカレンダーユーザーアドレスと一致します。

If :organizers is omitted, no validation of the ORGANIZER property is performed.

主催者が省略されている場合、オーガナイザープロパティの検証は実行されません。

4.7. Outcome Argument
4.7. 結果の引数

The optional :outcome argument specifies the name of a variable into which one of the following strings specifying the outcome of the action will be stored:

オプション:結果引数は、アクションの結果を指定する次の文字列のいずれかが保存される変数の名前を指定します。

"no_action":

「no_action」:

No action was performed (e.g., the message didn't contain calendar data, or the set of provided options prevented the message from being processed).

アクションは実行されませんでした(たとえば、メッセージにはカレンダーデータが含まれていなかったか、提供されたオプションのセットがメッセージが処理されるのを防ぎました)。

"added":

"追加した":

A new calendar object was added to a calendar.

新しいカレンダーオブジェクトがカレンダーに追加されました。

"updated":

「更新」:

A calendar object was updated, cancelled, or removed from the calendar.

カレンダーオブジェクトは、カレンダーから更新、キャンセル、または削除されました。

"error":

"エラー":

The message would have been processed but encountered an error in doing so.

メッセージは処理されていましたが、そうすることでエラーが発生しました。

4.8. Reason Argument
4.8. 理由の理由

The optional :reason argument specifies the name of a variable into which a string describing the reason for the outcome will be stored. If no reason for the outcome is available, implementations MUST set the variable to the empty string.

オプション:Reason引数は、結果の理由を説明する文字列が保存される変数の名前を指定します。結果の理由がない場合、実装は変数を空の文字列に設定する必要があります。

For example, an outcome of "no_action" may have a reason of "only processing updates", or an outcome of "error" may have a reason of "missing unique identifier".

たとえば、「no_action」の結果には「更新のみを処理する」理由がある場合、または「エラー」の結果には「一意の識別子がない」という理由がある場合があります。

4.9. Interaction with Other Sieve Actions
4.9. 他のふるい行動との相互作用

The "processcalendar" action does not cancel Sieve's implicit keep action.

「ProcessCalendar」アクションは、Siveの暗黙のキープアクションをキャンセルしません。

The "processcalendar" action can only be executed once per script. A script MUST fail with an appropriate error if it attempts to execute two or more "processcalendar" actions.

「ProcessCalendar」アクションは、スクリプトごとに1回しか実行できません。2つ以上の「ProcessCalendar」アクションを実行しようとする場合、スクリプトは適切なエラーで失敗する必要があります。

The "processcalendar" action is incompatible with the Sieve "reject" and "ereject" actions [RFC5429].

「ProcessCalendar」アクションは、Sieveの「拒否」および「Ereject」アクション[RFC5429]と互換性がありません。

4.10. Examples
4.10. 例

The following example specifies email addresses belonging to the user and the identifier of the calendar onto which to place new calendar objects:

次の例では、ユーザーに属する電子メールアドレスと、新しいカレンダーオブジェクトを配置するカレンダーの識別子を指定します。

   require [ "processcalendar" ];

   processcalendar :addresses [ "me@example.com", "alsome@example.com" ]
                   :calendarid "1ea6d86b-6c7f-48a2-bed3-2a4c40ec281a";
        

The following example tells the interpreter to process flight itineraries from a particular airline:

次の例では、通訳者が特定の航空会社からのフライトの旅程を処理するように指示しています。

   require [ "processcalendar" ];

   if allof (address ["from", "sender"] "airline@example.com",
             header :contains "subject" "itinerary") {
      processcalendar :allowpublic;
   }
        

The following example adds headers to the message if calendar data isn't processed :

次の例は、カレンダーデータが処理されない場合、メッセージにヘッダーを追加します。

   require [ "processcalendar", "variables", "editheader" ];

   set "processcal_outcome" "no_action";
   set "processcal_reason" "";

   processcalendar :outcome "processcal_outcome"
                   :reason "processcal_reason";

   if not string :is "${processcal_outcome}" ["added", "updated"] {
      addheader "X-ProcessCal-Outcome" "${processcal_outcome}";
      addheader "X-ProcessCal-Reason" "${processcal_reason}";
   }
        
5. Security Considerations
5. セキュリティに関する考慮事項

This document describes a method for altering an electronic calendar without user interaction. As such, unless proper precautions are undertaken, it can be used as a vector for calendar abuse.

このドキュメントでは、ユーザーの相互作用なしで電子カレンダーを変更する方法について説明します。そのため、適切な予防措置が講じない限り、カレンダー乱用のベクトルとして使用できます。

It is critical that implementations correctly implement the behavior and restrictions described throughout this document. Security issues associated with processing unsolicited calendar data and methods for mitigating them are discussed in [CALSPAM]. Specifically:

このドキュメント全体で説明されている動作と制限を実装を正しく実装することが重要です。未承諾のカレンダーデータとそれらを緩和する方法の処理に関連するセキュリティの問題については、[CalSpam]で説明します。具体的には:

* The "processcalendar" extension MUST NOT process any calendar data enclosed in a message flagged as spam and/or malicious. The "spamtest" and "virustest" extensions [RFC5235] (or the header test [RFC5228] if messages are scanned outside of the Sieve interpreter) can be used to make "processcalendar" conditional on "safe" content.

* 「ProcessCalendar」拡張機能は、スパムおよび/または悪意のあるものとしてフラグが付けられたメッセージに囲まれたカレンダーデータを処理してはなりません。「スパムテスト」および「Virustest」拡張機能[RFC5235](またはヘッダーテスト[RFC5228]メッセージがふるいインタープリターの外側でスキャンされた場合)を使用して、「ProcessCalendar」を「安全」含有量を条件とすることができます。

* The "processcalendar" extension SHOULD NOT process calendar data received from a potentially malicious sender. The address and envelope tests [RFC5228] (optionally along with the "extlists" extension [RFC6134]) can be used to create a "deny list" and make "processcalendar" conditional on the sender not being a member of that list.

* 「ProcessCalendar」拡張機能は、潜在的に悪意のある送信者から受信したカレンダーデータを処理しないでください。アドレスおよびエンベロープテスト[RFC5228](「extlists」拡張機能[RFC6134]とともにオプションで)を使用して、「拒否リスト」を作成し、そのリストのメンバーではない送信者を条件とする「プロセスキャレンダー」を作成できます。

* Similarly, the "processcalendar" extension SHOULD only process calendar data received from a known sender. The address and envelope tests [RFC5228] (optionally along with the "extlists" extension [RFC6134]) can be used to create an "allow list" and make "processcalendar" conditional on the sender being a member of that list.

* 同様に、「ProcessCalendar」拡張機能は、既知の送信者から受信したカレンダーデータのみを処理する必要があります。アドレスおよびエンベロープテスト[RFC5228](「extlists」拡張機能[RFC6134]とともにオプションで)を使用して「許可リスト」を作成し、そのリストのメンバーである送信者を条件とする「プロセスキャレンダー」を作成できます。

* The "processcalendar" extension SHOULD NOT process calendar data received from an untrustworthy sender. Trustworthiness may depend on whether the message has a valid signature (see [RFC8551]) and/ or on whether one or more of the following passes or fails on the message: Sender Policy Framework (SPF) [RFC7208], DomainKeys Identified Mail (DKIM) Signatures [RFC6376], and Domain-based Message Authentication, Reporting, and Conformance (DMARC) [RFC7489]. The mechanism by which a Sieve interpreter accesses the results of such checks is outside the scope of this document, but if the results are available in the message's header fields, the header test [RFC5228] can be used to make "processcalendar" conditional on the sender being trustworthy.

* 「ProcessCalendar」拡張機能は、信頼できない送信者から受信したカレンダーデータを処理しないでください。信頼性は、メッセージに有効な署名([rfc8551]を参照)を持っているかどうか、および/またはメッセージに次の1つまたは複数のパスまたは失敗するかどうかに依存する場合があります:送信者ポリシーフレームワーク(SPF)[RFC7208]、Domainkeysはメール(DKIM)を識別しました)署名[RFC6376]、およびドメインベースのメッセージ認証、レポート、および適合(DMARC)[RFC7489]。ふるいインタープリターがそのようなチェックの結果にアクセスするメカニズムはこのドキュメントの範囲外ですが、メッセージのヘッダーフィールドで結果が利用可能な場合、ヘッダーテスト[RFC5228]を使用して「ProcessCalendar」を作成できます。送信者は信頼できます。

Additionally, if the calendar data has embedded (a.k.a. inline) attachments, implementations SHOULD:

さらに、カレンダーデータが埋め込まれている場合(別名インライン)添付ファイルは次のとおりです。

* Decode the embedded attachment, if necessary.

* 必要に応じて、埋め込み添付ファイルをデコードします。

* Scan the (decoded) attachment for malicious content.

* 悪意のあるコンテンツの(デコードされた)添付ファイルをスキャンします。

If an attachment is found to be malicious, "processcalendar" MUST NOT process the calendar data.

添付ファイルが悪意があることがわかった場合、「ProcessCalendar」はカレンダーデータを処理してはなりません。

6. Privacy Considerations
6. プライバシーに関する考慮事項

It is believed that this extension doesn't introduce any privacy considerations beyond those in [RFC5228].

この拡張機能は、[RFC5228]のもの以外のプライバシーに関する考慮事項を導入していないと考えられています。

7. IANA Considerations
7. IANAの考慮事項
7.1. Registration of Sieve Extension
7.1. ふるい拡張の登録

This document defines the following new Sieve extension, which IANA has added to the "Sieve Extensions" registry (https://www.iana.org/assignments/sieve-extensions). The registry is defined in Section 6.2 of [RFC5228].

このドキュメントでは、IANAが「Sieve Extensions」レジストリ(https://www.iana.org/assignments/sieve-extensions)に追加した次の新しいふるい拡張を定義します。レジストリは[RFC5228]のセクション6.2で定義されています。

Capability name:

機能名:

processcalendar

ProcessCalendar

Description:

説明:

Adds the "processcalendar" action command to add and update items on a user's calendars.

「ProcessCalendar」アクションコマンドを追加して、ユーザーのカレンダーにアイテムを追加および更新します。

RFC number:

RFC番号:

RFC 9671

RFC 9671

Contact address:

連絡先住所:

Sieve discussion list <sieve@ietf.org>

ふるいディスカッションリスト<sieve@ietf.org>

7.2. Registration of Sieve Action
7.2. ふるいアクションの登録

This document defines the following new Sieve action, which IANA has added to the "Sieve Actions" registry (https://www.iana.org/assignments/sieve-extensions). The registry is defined in Section 2.1 of [RFC9122].

このドキュメントでは、IANAが「Sieve Actions」レジストリ(https://www.iana.org/assignments/sieve-extensions)に追加した次の新しいふるいアクションを定義します。レジストリは[RFC9122]のセクション2.1で定義されています。

Name:

名前:

processcalendar

ProcessCalendar

Description:

説明:

Add and update items on a user's calendars

ユーザーのカレンダーにアイテムを追加および更新します

References:

参考文献:

RFC 9671 [RFC5229] [RFC6134]

RFC 9671 [RFC5229] [RFC6134]

Capabilities:

機能:

"processcalendar", "variables", "extlists"

「ProcessCalendar」、「変数」、「エクストリスト」

Action Interactions:

アクションインタラクション:

This action is incompatible with the "reject" and "ereject" actions.

このアクションは、「拒否」および「eReject」アクションと互換性がありません。

Cancels Implicit Keep?

暗黙のキープをキャンセルしますか?

No

いいえノー能

Can Use with IMAP Events?

IMAPイベントで使用できますか?

No

いいえノー能

8. References
8. 参考文献
8.1. Normative References
8.1. 引用文献
   [CALSPAM]  The Calendaring and Scheduling Consortium, "Calendar
              operator practices - Guidelines to protect against
              calendar abuse", CC/R 18003:2019, 2019,
              <https://standards.calconnect.org/csd/cc-18003.html>.
        
   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.
        
   [RFC5228]  Guenther, P., Ed. and T. Showalter, Ed., "Sieve: An Email
              Filtering Language", RFC 5228, DOI 10.17487/RFC5228,
              January 2008, <https://www.rfc-editor.org/info/rfc5228>.
        
   [RFC5229]  Homme, K., "Sieve Email Filtering: Variables Extension",
              RFC 5229, DOI 10.17487/RFC5229, January 2008,
              <https://www.rfc-editor.org/info/rfc5229>.
        
   [RFC6047]  Melnikov, A., Ed., "iCalendar Message-Based
              Interoperability Protocol (iMIP)", RFC 6047,
              DOI 10.17487/RFC6047, December 2010,
              <https://www.rfc-editor.org/info/rfc6047>.
        
   [RFC6134]  Melnikov, A. and B. Leiba, "Sieve Extension: Externally
              Stored Lists", RFC 6134, DOI 10.17487/RFC6134, July 2011,
              <https://www.rfc-editor.org/info/rfc6134>.
        
   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.
        
   [RFC9122]  Melnikov, A. and K. Murchison, "IANA Registry for Sieve
              Actions", RFC 9122, DOI 10.17487/RFC9122, June 2023,
              <https://www.rfc-editor.org/info/rfc9122>.
        
8.2. Informative References
8.2. 参考引用
   [RFC2045]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail
              Extensions (MIME) Part One: Format of Internet Message
              Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996,
              <https://www.rfc-editor.org/info/rfc2045>.
        
   [RFC5235]  Daboo, C., "Sieve Email Filtering: Spamtest and Virustest
              Extensions", RFC 5235, DOI 10.17487/RFC5235, January 2008,
              <https://www.rfc-editor.org/info/rfc5235>.
        
   [RFC5429]  Stone, A., Ed., "Sieve Email Filtering: Reject and
              Extended Reject Extensions", RFC 5429,
              DOI 10.17487/RFC5429, March 2009,
              <https://www.rfc-editor.org/info/rfc5429>.
        
   [RFC5545]  Desruisseaux, B., Ed., "Internet Calendaring and
              Scheduling Core Object Specification (iCalendar)",
              RFC 5545, DOI 10.17487/RFC5545, September 2009,
              <https://www.rfc-editor.org/info/rfc5545>.
        
   [RFC5546]  Daboo, C., Ed., "iCalendar Transport-Independent
              Interoperability Protocol (iTIP)", RFC 5546,
              DOI 10.17487/RFC5546, December 2009,
              <https://www.rfc-editor.org/info/rfc5546>.
        
   [RFC6376]  Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed.,
              "DomainKeys Identified Mail (DKIM) Signatures", STD 76,
              RFC 6376, DOI 10.17487/RFC6376, September 2011,
              <https://www.rfc-editor.org/info/rfc6376>.
        
   [RFC7208]  Kitterman, S., "Sender Policy Framework (SPF) for
              Authorizing Use of Domains in Email, Version 1", RFC 7208,
              DOI 10.17487/RFC7208, April 2014,
              <https://www.rfc-editor.org/info/rfc7208>.
        
   [RFC7489]  Kucherawy, M., Ed. and E. Zwicky, Ed., "Domain-based
              Message Authentication, Reporting, and Conformance
              (DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015,
              <https://www.rfc-editor.org/info/rfc7489>.
        
   [RFC8551]  Schaad, J., Ramsdell, B., and S. Turner, "Secure/
              Multipurpose Internet Mail Extensions (S/MIME) Version 4.0
              Message Specification", RFC 8551, DOI 10.17487/RFC8551,
              April 2019, <https://www.rfc-editor.org/info/rfc8551>.
        
   [RFC8984]  Jenkins, N. and R. Stepanek, "JSCalendar: A JSON
              Representation of Calendar Data", RFC 8984,
              DOI 10.17487/RFC8984, July 2021,
              <https://www.rfc-editor.org/info/rfc8984>.
        
Acknowledgments
謝辞

The authors would like to thank the following individuals for contributing their ideas and support for writing this specification: Ned Freed and Alexey Melnikov.

著者は、次の個人に、この仕様を書くためのアイデアとサポートを提供してくれたことに感謝したいと思います:Ned FreedとAlexey Melnikov。

Authors' Addresses
著者のアドレス
   Kenneth Murchison
   Fastmail US LLC
   1429 Walnut Street, Suite 1201
   Philadelphia, PA 19102
   United States of America
   Email: murch@fastmailteam.com
        
   Ricardo Signes
   Fastmail US LLC
   1429 Walnut Street, Suite 1201
   Philadelphia, PA 19102
   United States of America
   Email: rjbs@fastmailteam.com
        
   Matthew Horsfall
   Fastmail US LLC
   1429 Walnut Street, Suite 1201
   Philadelphia, PA 19102
   United States of America
   Email: alh@fastmailteam.com