2.1.9 Sieve Mail Filtering Language (sieve)

NOTE: This charter is a snapshot of the 62nd IETF Meeting in Minneapolis, MN USA. It may now be out-of-date.

Last Modified: 2005-02-18


Cyrus Daboo <daboo@isamet.com>
Alexey Melnikov <alexey.melnikov@isode.com>

Applications Area Director(s):

Ted Hardie <hardie@qualcomm.com>
Scott Hollenbeck <sah@428cobrajet.net>

Applications Area Advisor:

Ted Hardie <hardie@qualcomm.com>

Mailing Lists:

General Discussion: ietf-mta-filters@imc.org
To Subscribe: mailto:ietf-mta-filters-request@imc.org?body=subscribe
Archive: http://www.imc.org/ietf-mta-filters/mail-archive/

Description of Working Group:

The sieve mail filtering language specified in RFC 3028 has now been
implemented in a wide variety of user agents (UAs), mail delivery
(MDAs), and mail transfer agents (MTAs). Several extensions have been
specified (RFCs 3431, 3598, 3685, 3894) and have also been widely
implemented. Several additional sieve extensions have been defined in
various internet-drafts.

All of these documents are individual submissions; up to this point
work on sieve has been done informally and not under the auspices of
any IETF working group.

The sieve working group is being chartered to:

(1) Revise the base sieve specification, RFC 3028, with the intention
moving it to draft standard. Substantive additions or revisions to the
base specification are out of scope of this working group. However, the
need to loosen current restrictions on side effects of tests as well as
the need for a normative reference to the newly-defined comparators
registry may necessitate a recycle at proposed.

(2) Produce updated sieve relational (RFC 3431), subaddress (RFC 3598),
spamtest/virustest (RFC 3685), and copy (RFC 3894) extension
specifications, again with the intention of making a move to
draft standard possible. It may be necessary to recycle some or all
of these documents at proposed, depending on the scope of any changes.

(3) Finalize and publish the sieve extensions as proposed standards:

(a) Variables (draft-homme-sieve-variables-04.txt)
(b) Vacation action (draft-showalter-sieve-vacation-05.txt)
(c) Message body tests (draft-degener-sieve-body-02.txt)
(d) Regular expressions (draft-murchison-sieve-regex-07.txt)
(e) MIME part tests (draft-daboo-sieve-mime-00.txt)
(f) Notification action (draft-martin-sieve-notify-02.txt)
(g) IMAP flags (draft-melnikov-sieve-imapflags-06.txt)
(h) Header editing actions (draft-degener-sieve-editheader-01.txt)
(i) Reject before delivery (draft-elvey-refuse-sieve-01.txt)

Additional drafts may be added this list, but only via a charter
revision. There must also be demonstrable willingness in the sieve
development community to actually implement a given extension before
it can be added to this charter.

Some aspects of sieve have complex internationalization issues; the
working group will seek out internationalization expertise as needed
complete its work.

Goals and Milestones:

Done  Submit revised variables draft.
Done  Submit revised vacation draft.
Done  WG last call for variables draft.
Done  Initial submission of RFC 3028bis.
Dec 04  WG last call for vacation draft.
Jan 05  WG last call for RFC 3028bis.
Jan 05  Initial submission of revised relational draft.
Done  Initial submission of revised subaddress draft.
Jan 05  Submit variables draft to IESG.
Jan 05  Submit vacation draft to IESG.
Done  Initial submission of revised spamtest/virustest draft.
Done  Submit revised editheader draft.
Done  Submit revised imapflags draft.
Feb 05  Submit RFC 3028bis to IESG.
Feb 05  WG last call of revised relational draft.
Feb 05  WG last call of revised subaddress draft.
Feb 05  WG last call of revised spamtest/virustest draft.
Done  Submit revised body test draft.
Feb 05  Submit revised reject before delivery draft.
Feb 05  WG last call for editheader draft.
Feb 05  Submit revised relational draft to IESG.
Feb 05  Submit revised subaddress draft to IESG.
Feb 05  Submit revised spamtest/virustest draft to IESG.
Feb 05  WG last call for imapflags draft.
Mar 05  Submit revised notification action draft.
Mar 05  WG last call for body test draft.
Mar 05  WG last call for reject before delivery draft.
Mar 05  Submit editheader draft to IESG.
Mar 05  Submit imapflags draft to IESG.
Apr 05  Submit revised MIME part tests draft.
Apr 05  WG last call for notification action draft.
Apr 05  Submit body test draft to IESG.
Apr 05  Submit revised reject before delivery draft to IESG.
May 05  Submit notification action draft to IESG.
May 05  WG last call for MIME part tests draft.
May 05  Create list of core sieve features; collect implementation information for interoperability report.
Jun 05  Submit MIME part tests draft to IESG.


  • draft-ietf-sieve-variables-01.txt
  • draft-ietf-sieve-spamtestbis-00.txt
  • draft-ietf-sieve-body-00.txt
  • draft-ietf-sieve-editheader-00.txt
  • draft-ietf-sieve-imapflags-00.txt
  • draft-ietf-sieve-rfc3598bis-00.txt

    No Request For Comments

    Current Meeting Report

    Minutes of SIEVE BOF at IETF 62, 07-Mar-2005

    (Raw log at <http://www.xmpp.org/ietf-logs/sieve@ietf.xmpp.org/2005-03-07.txt>)


    Apologies from Cyrus, Alexey, though they are present on Jabber/audio.
    Agenda bashing - no changes to agenda.

    WG Status: WG was approved by IESG in November.

    TOPIC: Base spec discussion

    - References changed/split
    - E-mail -> email
    - Errate fixed
    - Reject cancels implicit keep
    - Reference comparator draft instead of ACAP
    - Grammar update to UTF-8 in progress
    - Other typos, errors, boilerplate

    - Issue: Sync with collation draft: SIEVE/ACAP use different case-insensitive comparator name
    - Suggestion: require support for new name and must support the old one
    - Discussion on recyling: consensus that we have to recycle for this change and others. Start current draft as proposed and do implementation report immediately so it can go to draft status in 6 months.
    - Issue: allow bare CR & LF in scripts? Currently not legal but grammar allows it.
    - No consensus at the meeting on this.
    - Issue: backslash escaping, \ quotes immediately following character - no special \0, \xNN etc. One implementation treats \0 as NULL character. Any change will not be backwards compatible.
    - Possible options for base spec: specifiy that \x is special; \" \\ are defined but other \xx will be defined by extensions; leave it the way it is, use variables to define variable namespace for unicode chars.
    - Consensus was to try to maintain backwards compatability with first or second option. Phil will send proposed text to the mailing list.
    - Issue: update to 2821 & 2822 references. Problem is those are still at proposed.
    - 2821 & 2822 authors report that not a lot of work is needed to go to draft - just time.
    - People can volunteer to help 2821/2822 authors with that.

    TOPIC: IMAP Flags
    - Minor changes only
    - Issue: use of global variable for flag state and how does that work with multiple keeps? Consensus was to go ahead with such a change and then review in new spec.

    TOPIC: Refuse
    - Nothing done yet.
    - Discussion of difference between reject and refuse.
    - Need to see new spec to go further with this. Alexey is working on it.

    TOPIC: Relational
    - New draft available.
    - Only minor changes done.
    - Ready for last call? No objections.

    TOPIC: Subaddress
    - New draft available.
    - Issue: how to handle multiple separator characters? Use left-most or do whatever local MTA does? Consensus was to use MTA rules since MTA determines what character is used as well.

    TOPIC: Spamtest
    - New draft available.
    - Added :percent parameter.
    - Issue: what numeric range to use? Current spec uses -1..100 but SIEVE comparator does not test negative numbers.
    - Consensus on proposed solution: split out untested and tested via a separate parameter.
    - Consensus was to not add additional scales to the test.

    TOPIC: Variables
    - Last call complete.
    - Last call comments require minor changes.
    - Issue: how to handle ${0}? Two options: returns match string or returns number of matches?
    - Consensus was for returning match string as that is the only way to do glob style matching.

    TOPIC: Vacation
    - Ned takes over as editor.
    - Will add :from parameter.
    - Will add [AUTO] as prefix for subject.
    - Issue: how to deal with security implications of allowing user to set from address? Consensus was to add text to security considerations section indicating that this may be of concern.

    TOPIC: Body
    - New draft available.
    - Ready for last call? No objections.

    TOPIC: Edit header
    - New draft available.
    - Ready for last call? No objections.

    TOPIC: Notify
    - Barry will take over as editor.
    - Issue: is it too complex?
    - Issue: how to deal with SMS?
    - Use of associative arrays or URIs as proposed on the list?
    - Barry will produce new draft.

    TOPIC: Regex
    - Ned has i18n regex discussion document that he will post to the list.

    TOPIC: MIME part tests
    - Several proposals: modifiers to existing tests; new tests; looping construct.
    - Discussion of whether loops might make sieve too complex. No real consensus on this, but must people did not want too much complexity.
    - Cyrus/Tony will come up with new draft.

    TOPIC: Milestones
    - A number completed - good.
    - A number overdue - bad!
    - ADs prefer dates that are meant rather than overly agreesive dates that are missed.
    - Cyrus/Alexey will work on updated (realistic) new milestones.

    No other issues.



    None received.