Subject: managesieve draft

From: Arnt Gulbrandsen <[email-masked]>
Date: Wed, 26 Jul 2006 13:37:58 +0200

The getscript example is wrong - "48" should be about 54.

Also, isn't the syntax wrong? It seems to me that the text describes 
something like

     response-getscript = ( string CRLF ok ) / no / bye

which implies that oknobye should be

     oknobye = ok / no / bye

Hm. I looked at the other literals, and the "{110+}" should be "{99+}" 
by my count.

Arnt

---

From: Arnt Gulbrandsen <[email-masked]>
Date: Thu, 27 Jul 2006 14:38:43 +0200

The LISTSCRIPTS text implies that script names are sent one per line. 
However, the syntax allows script names to contain linebreaks, e.g. the 
following is legal according to the syntax:

     C: Listscripts
     S: "summer_script"
     S: "vacation_script"
     S: {12+}
     S: main
     S: script} ACTIVE
     S: OK

I suggest changing the text: «If there exists an active script the atom 
ACTIVE is appended to the name of that script. The ACTIVE string MUST 
NOT appear for more than one script.»

Aaron told me in private mail that a well-known sieve UI couldn't handle 
some perfectly legal syntax. Shame on whoever wrote that code. 
Practically speaking, it might be advisable to use more varied syntax 
in the managesieve specifition's examples, to make it more difficult to 
overlook these things.

Arnt

---

From: Alexey Melnikov <[email-masked]>
Date: Thu, 27 Jul 2006 18:27:38 +0100

> The getscript example is wrong - "48" should be about 54.

Correct, I will fix.

>     response-getscript = ( string CRLF ok ) / no / bye

You don't like existing ABNF:

    response-getscript    = [string CRLF] response-oknobye

I.e. you don't like a script followed by NO :-). Or you don't like no 
script followed by OK?

> Hm. I looked at the other literals, and the "{110+}" should be "{99+}" 

Correct as well.

---

From: Alexey Melnikov <[email-masked]>
Date: Thu, 27 Jul 2006 19:54:04 +0100

> However, the syntax allows script names to contain linebreaks, e.g. 
> the following is legal according to the syntax:
>
>     C: Listscripts
>     S: "summer_script"
>     S: "vacation_script"
>     S: {12+}
>     S: main
>     S: script} ACTIVE

IMAP/ACAP would interpret the following as a single protocol "line":

    S: {12+}
    S: main
    S: script} ACTIVE

>     S: OK

I think the document should be changed to prohibit CRLFs in script names.

I've also updated the example to become:

    C: Listscripts
    S: "summer_script"
    S: "vacation_script"
    S: {13+}
    S: clever"script
    S: "main_script" ACTIVE
    S: OK

> I suggest changing the text: "If there exists an active script the 
> atom ACTIVE is appended to the name of that script. The ACTIVE string 
> MUST NOT appear for more than one script."

> Aaron told me in private mail that a well-known sieve UI couldn't 
> handle some perfectly legal syntax. Shame on whoever wrote that code. 
> in the managesieve specifition's examples, to make it more difficult 
> to overlook these things.

---

From: Alexey Melnikov <[email-masked]>
Date: Thu, 27 Jul 2006 20:09:26 +0100

>> The LISTSCRIPTS text implies that script names are sent one per line. 
[...]

>> MUST NOT appear for more than one script."
The new description now reads:

    This command lists the scripts the user has on the server. Upon
    success a list of CRLF separated script names (each represented
    as a quoted or literal string) is returned followed by an OK
    response. If there exists an active script the atom ACTIVE is
    appended to the corresponding script name. The atom ACTIVE
    MUST NOT appear on more than one response line.

Is it better?

---

From: Arnt Gulbrandsen <[email-masked]>
Date: Thu, 27 Jul 2006 22:35:38 +0200

As I mentioned on jabber, I'm happy with the changes you've made (and 
not made). I will review the document during last call, of course.

Arnt