Re: [Extra] Comments on draft-ietf-extra-sieve-special-use-03

Stephan Bosch <stephan.bosch@dovecot.fi> Thu, 01 November 2018 19:01 UTC

Return-Path: <stephan.bosch@dovecot.fi>
X-Original-To: extra@ietfa.amsl.com
Delivered-To: extra@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D67261294D0 for <extra@ietfa.amsl.com>; Thu, 1 Nov 2018 12:01:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gWHY3SwG0oiH for <extra@ietfa.amsl.com>; Thu, 1 Nov 2018 12:01:42 -0700 (PDT)
Received: from mail.dovecot.fi (wursti.dovecot.fi [94.237.32.243]) by ietfa.amsl.com (Postfix) with ESMTP id B6A1D130E03 for <extra@ietf.org>; Thu, 1 Nov 2018 12:01:32 -0700 (PDT)
Received: from [10.168.3.2] (klara.student.utwente.nl [130.89.162.218]) by mail.dovecot.fi (Postfix) with ESMTPSA id 0B5662B3C8A; Thu, 1 Nov 2018 21:01:23 +0200 (EET)
To: Ned Freed <ned.freed@mrochek.com>, Alexey Melnikov <alexey.melnikov@isode.com>
Cc: extra@ietf.org
References: <a519d410-babd-36ee-8343-6fe3bea3a414@isode.com> <d9522e99-5078-01d5-3645-c3b7c8b36ba3@dovecot.fi> <6b72363d-6f00-3ef7-2398-05690926b6f5@isode.com> <01QZ257P6DGE00008A@mauve.mrochek.com>
From: Stephan Bosch <stephan.bosch@dovecot.fi>
Message-ID: <97c31e0c-6af7-0f03-73f8-24f853e662bf@dovecot.fi>
Date: Thu, 01 Nov 2018 20:01:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <01QZ257P6DGE00008A@mauve.mrochek.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/extra/-2BMqZXwMv14KvcfAuLqykEHRQw>
Subject: Re: [Extra] Comments on draft-ietf-extra-sieve-special-use-03
X-BeenThere: extra@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Email mailstore and eXtensions To Revise or Amend <extra.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/extra>, <mailto:extra-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/extra/>
List-Post: <mailto:extra@ietf.org>
List-Help: <mailto:extra-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/extra>, <mailto:extra-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Nov 2018 19:01:51 -0000

Hi Ned,

BTW, can you review the IMAP examples in this specification?

Regards,


Stephan.


Op 31/10/2018 om 00:11 schreef Ned Freed:
>> Hi Stephan,
>> On 29/10/2018 12:06, Stephan Bosch wrote:
>>> Hi Alexey,
>>>
>>>
>>> Op 28-10-2018 om 16:07 schreef Alexey Melnikov:
>>>> Hi all,
>>>> I've just tried to implement this Sieve extension and I have a couple of
>>>> comments:
>>>>
>>>> 3.  Test "specialuse_exists"
>>>>
>>>>      Usage:  specialuse_exists [<mailbox: string>]
>>>>                                <special-use-flags: string-list>
>>>>
>>>> This defines an optional argument. According to the base Sieve RFC 5228,
>>>> optional arguments must be tagged:
>>>>
>>>>     2.6.1.  Positional Arguments
>>>>
>>>>      Positional arguments are given to a command that discerns their
>>>>      meaning based on their order.  When a command takes positional
>>>>      arguments, all positional arguments must be supplied and must be in
>>>>      the order prescribed.
>>>>
>>>>    and
>>>>
>>>>     2.6.3.  Optional Arguments
>>>>
>>>>      Optional arguments are exactly like tagged arguments except that they
>>>>      may be left out, in which case a default value is implied.  Because
>>>>      optional arguments tend to result in shorter scripts, they have been
>>>>      used far more than tagged arguments.
>>>>
>>>> So I don't think you can have "mailbox" being positional without a tag!
>>> Then what about the entirety of the "imap4flags" extension?
>> Guilty as charged :-). I entirely forgot about that and the reason why I
>> haven't noticed is because my implementation doesn't support "variables"
>> extension, so variable name parameter to addflag/removeflag/setflag is
>> never allowed.
>> Any other opinions (Ned?). I just want to make sure that if we violating
>> some kind of architectural principle specified in the base Sieve script,
>> than we decide to do this deliberately. (Or maybe we just agree that
>> there is no architectural principle to begin with.)
> There was some principle in play, I think - Sieve copies this aspect from
> Common LISP, and if memory serves, &optional in Common LISP makes all
> subsequent parameter optional, so you can do something like:
>
>      (defun fu (a b &optional c d) ...
>
> but there is nothing like:
>
>      (defun bar (a (&optional b) c) ...
>
> But it looks like we've already crossed this bridge with imap4flags, and
> nobody has complained. So let's note it and move on.
>
>>> Lots of
>>> tag-less optional arguments can be found there. I am not against having
>>> some ":mailbox" tag here, but the current syntax does make things more
>>> concise.
>>>
>>>> 4.  ":specialuse" Argument to "fileinto" Command
>>>>
>>>>      Usage:  fileinto [:specialuse <special-use-flag: string>]
>>>>                       <mailbox: string>
>>>>
>>>> Can I suggest that all special-use-flag strings should not include the
>>>> leading "\" character? It requires escaping in Sieve, so people might
>>>> make mistakes when writing scripts.
>>> I have no strong opinion about that. Disadvantage of doing that is that
>>> it can be confusing for people with IMAP experience and it becomes
>>> inconsistent with imap4flags.
>> Yes, that is true. At the same time in JMAP we can do remove leading "\"
>> character from flag names as well.
>> So yes, I am not fully decided on this issue. Anybody else wants to comment?
> I'm not fond of having multiple forms for things, so I'd prefer to keep
> the "\". It's not a strong preference, however.
>
> 				Ned
>
> _______________________________________________
> Extra mailing list
> Extra@ietf.org
> https://www.ietf.org/mailman/listinfo/extra