| < draft-degener-sieve-copy-02.txt | draft-degener-sieve-copy-03.txt > | |||
|---|---|---|---|---|
| Network Working Group Jutta Degener | Network Working Group Jutta Degener | |||
| Internet Draft Sendmail, Inc. | Internet Draft Sendmail, Inc. | |||
| Expires: July 2004 January 2004 | Expires: December 2004 June 2004 | |||
| Sieve -- "copy" extension | Sieve Extension: Copying Without Side Effects | |||
| <draft-degener-sieve-copy-02.txt> | <draft-degener-sieve-copy-03.txt> | |||
| Status of this memo | Status of this memo | |||
| This document is an Internet-Draft and is subject to all | This document is an Internet-Draft and is subject to all | |||
| provisions of Section 10 of RFC2026. | provisions of Section 10 of RFC2026. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| other groups may also distribute working documents as | other groups may also distribute working documents as | |||
| Internet-Drafts. | Internet-Drafts. | |||
| skipping to change at line 32 ¶ | skipping to change at line 32 ¶ | |||
| "work in progress." | "work in progress." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/1id-abstracts.html | http://www.ietf.org/1id-abstracts.html | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html | http://www.ietf.org/shadow.html | |||
| Abstract | Abstract | |||
| This document defines a new keyword parameter, ":copy", to | The sieve scripting language allows users to control | |||
| be used with the sieve "fileinto" and "redirect" actions. | handling and disposal of their incoming e-mail. By default, | |||
| The new parameter prevents cancellation of the implicit keep. | an e-mail message that is processed by a sieve script is saved | |||
| in the owner's "inbox". Actions such as "fileinto" and | ||||
| "redirect" cancel this default behavior. | ||||
| This document defines a new keyword parameter, ":copy", to be | ||||
| used with the sieve "fileinto" and "redirect" actions. Adding | ||||
| ":copy" to an action suppresses cancellation of the default | ||||
| "inbox" save. It allows users to add commands to an existing | ||||
| script without changing the meaning of the rest of the script. | ||||
| 1. Introduction | 1. Introduction | |||
| Some users have the notion of forwarding a copy of a message | The sieve scripting language [SIEVE] allows users to control | |||
| for safekeeping to another e-mail address, or of saving a copy | handling and disposal of their incoming e-mail. Two frequently | |||
| in a folder -- in addition to the regular message delivery, | used sieve commands are "fileinto" (saving into a local message | |||
| which shouldn't be affected by the copy. | store, such as an IMAP server) and "redirect" (forwarding | |||
| to another e-mail address). Both of these cancel the sieve | ||||
| default behavior of saving into the user's "inbox". | ||||
| But some users have the notion of forwarding an extra copy of a | ||||
| message for safekeeping to another e-mail address, or of saving | ||||
| a copy in a folder -- in addition to the regular message | ||||
| delivery, which shouldn't be affected by the copy. | ||||
| If saving an extra copy is all the user wanted to do, | If saving an extra copy is all the user wanted to do, | |||
| fileinto "unfiltered"; | fileinto "unfiltered"; | |||
| keep; | keep; | |||
| would do the job. But the explicit "keep" is a poor substitute | would do the job. The "keep" command does explicitly what the | |||
| for the implicit keep when more processing follows: | canceled default behavior did. But the explicit "keep" is a | |||
| poor substitute for the implicit keep when more processing follows: | ||||
| fileinto "unfiltered"; | fileinto "unfiltered"; | |||
| keep; | keep; | |||
| if header "Subject" "MAKE MONEY FAST!!!" | if header "Subject" "MAKE MONEY FAST!!!" | |||
| { | { | |||
| discard; | discard; | |||
| } | } | |||
| In this example, the "discard" is ineffective against the | In this example, the "discard" is ineffective against the | |||
| skipping to change at line 97 ¶ | skipping to change at line 113 ¶ | |||
| If the optional :copy keyword is specified with "fileinto" | If the optional :copy keyword is specified with "fileinto" | |||
| or "redirect", the tagged command does not cancel the | or "redirect", the tagged command does not cancel the | |||
| implicit keep. Instead, it merely files or redirects a | implicit keep. Instead, it merely files or redirects a | |||
| copy in addition to whatever else is happening to the | copy in addition to whatever else is happening to the | |||
| message. | message. | |||
| Example: | Example: | |||
| require ["copy", "fileinto"]; | require ["copy", "fileinto"]; | |||
| fileinto :copy "unfiltered"; | fileinto :copy "incoming"; | |||
| # ... more processing follows ... | ||||
| 4. Security Considerations | 4. Security Considerations | |||
| The "copy" extension makes it easier to eavesdrop on a user's | The "copy" extension makes it easier to eavesdrop on a user's | |||
| message stream without the user noticing. | message stream without the user noticing. This was technically | |||
| possible before if an attacker gained read/write access to a | ||||
| user's sieve scripts, but now an attacker no longer needs to | ||||
| parse a script in order to modify it. Write access to sieve scripts | ||||
| must be protected as strongly as read/write access to e-mail, | ||||
| for example by using secure directory protocols such as correctly | ||||
| parametrized LDAP over TLS [LDAP]. | ||||
| Organizations that wish to monitor their users' e-mail traffic | ||||
| must familiarize themselves with local data protection laws | ||||
| before creating stores of old e-mail traffic without control or | ||||
| perhaps even knowledge of the sender or intended recipients. | ||||
| Organizations that legally use redirect :copy to eavesdrop | ||||
| on correspondence (for example, by keeping a log to later answer | ||||
| questions about insider trading) can avoid later problems by | ||||
| setting privacy expectations of their users correctly. | ||||
| 5. IANA Considerations | 5. IANA Considerations | |||
| The following template specifies the IANA registration of the | The following template specifies the IANA registration of the | |||
| "copy" Sieve extension specified in this document. | "copy" Sieve extension specified in this document. | |||
| To: iana@iana.org | To: iana@iana.org | |||
| Subject: Registration of new Sieve extension | Subject: Registration of new Sieve extension | |||
| Capability name: copy | Capability name: copy | |||
| skipping to change at line 142 ¶ | skipping to change at line 176 ¶ | |||
| 7. Author's Address | 7. Author's Address | |||
| Jutta Degener | Jutta Degener | |||
| Sendmail, Inc. | Sendmail, Inc. | |||
| 6425 Christie Ave, 4th Floor | 6425 Christie Ave, 4th Floor | |||
| Emeryville, CA 94608 | Emeryville, CA 94608 | |||
| Email: jutta@sendmail.com | Email: jutta@sendmail.com | |||
| 8. Discussion | ||||
| This section will be removed when this document leaves the | ||||
| Internet-Draft stage. | ||||
| This draft is intended as an extension to the Sieve mail filtering | ||||
| language. Sieve extensions are discussed on the MTA Filters mailing | ||||
| list at <ietf-mta-filters@imc.org>. Subscription requests can | ||||
| be sent to <ietf-mta-filters-request@imc.org> (send an email | ||||
| message with the word "subscribe" in the body). | ||||
| More information on the mailing list along with a WWW archive of | ||||
| back messages is available at <http://www.imc.org/ietf-mta-filters/>. | ||||
| 9.1 Changes from the previous version | ||||
| Added IANA considerations. | ||||
| Inserted Appendix B. | ||||
| Changed Appendix A "References" to "Normative References". | ||||
| Added brief example. | ||||
| Appendices | Appendices | |||
| Appendix A. Normative References | Appendix A. Normative References | |||
| [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate | [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", RFC 2119, March 1997. | Requirement Levels", RFC 2119, March 1997. | |||
| [LDAP] M. Wahl, H. Alvestrand, J. Hodges, R. Morgan, | ||||
| "Authentication Methods for LDAP", RFC 2829, May 2000. | ||||
| [SIEVE] Showalter, T., "Sieve: A Mail Filtering Language", RFC 3028, | [SIEVE] Showalter, T., "Sieve: A Mail Filtering Language", RFC 3028, | |||
| January 2001. | January 2001. | |||
| Appendix B. Intellectual Property Rights Statement | Appendix B. Intellectual Property Rights Statement | |||
| The IETF takes no position regarding the validity or scope of any | The IETF takes no position regarding the validity or scope of any | |||
| intellectual property or other rights that might be claimed to | intellectual property or other rights that might be claimed to | |||
| pertain to the implementation or use of the technology described in | pertain to the implementation or use of the technology described in | |||
| this document or the extent to which any license under such rights | this document or the extent to which any license under such rights | |||
| might or might not be available; neither does it represent that it | might or might not be available; neither does it represent that it | |||
| has made any effort to identify any such rights. Information on the | has made any effort to identify any such rights. Information on the | |||
| IETF's procedures with respect to rights in standards-track and | IETF's procedures with respect to rights in standards-track and | |||
| standards-related documentation can be found in BCP-11. Copies of | standards-related documentation can be found in BCP-11. Copies of | |||
| claims of rights made available for publication and any assurances | claims of rights made available for publication and any assurances | |||
| End of changes. 10 change blocks. | ||||
| 36 lines changed or deleted | 52 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||