[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [draft-melnikov-sieve-external-lists] 2.2 Allow Extensions To Use List




This proposal seems OK to me.

				Ned

> Proposal - Clarify Expected Behaviour For Unsupported Tests
> ===========================================================
> Change
> ------
> Require implementations to raise a compile time error when list
> is used with an unsupported test.
> Rationale
> ---------
> Adopting a single clear rule on error handling increases interoperability.
> Requiring a compile time error seems cleaner than alternatives such as
> silently failing the test.

> Proposal - Allow Extension Tests To Use Link
> ============================================
> Change
> ------
> Add explicit permission for implementations to support list for other
> tests.
> Rationale
> ---------
> Extensions which find "list" useful should be encouraged to use it
> as described.

> Use Case: Mailing List Local Test
> ---------------------------------
> if mailinglist :list "tag:example.org,2009-07-24:IEFT" {
>    fileinto "standards";
> }

> --------------------------------------------------------------------------
> [1] Proposal
> --------------------------------------------------------------------------

> 2.2.  :list match type

>    ABNF:

>       MATCH-TYPE  =/ ":list"
>            ; only valid for supported tests

>    The new ":list" match type changes the interpretation of the "key-
>    list" parameter to supported tests.  When the match type is ":list",
>    the key-list becomes a list of names of externally stored lists.
>    The external lists are queried, perhaps through a list-specific
>    mechanism, and the test evaluates to "true" if any of the specified
>    values matches any member of one or more of the lists.

>    Implementations MUST support "address", "envelope" and "header" tests.
>    Implementations MAY support other tests but MUST raise a compile
>    time error when a script contains any standard test where support has
>    not been explicitly specified.


> --------------------------------------------------------------------------
> [2] Original Text
> --------------------------------------------------------------------------

> 2.2.  :list match type for "address", "envelope", and "header" tests

>    ABNF:

>       MATCH-TYPE  =/ ":list"
>            ; only valid for "address", "envelope", and "header" tests

>    The new ":list" match type changes the interpretation of the "key-
>    list" parameter to the "address"/"envelope"/"header" test.  When the
>    match type is ":list", the key-list becomes a list of names of
>    externally stored lists.  The external lists are queried, perhaps
>    through a list-specific mechanism, and the test evaluates to "true"
>    if any of the specified values matches any member of one or more of
>    the lists.