RE: [lemonade] draft-gulbrandsen-imap-enable-03

Peter Coates <peter.coates@sun.com> Fri, 09 November 2007 17:26 UTC

Return-path: <lemonade-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IqXcd-0002EK-EA; Fri, 09 Nov 2007 12:26:23 -0500
Received: from lemonade by megatron.ietf.org with local (Exim 4.43) id 1IqXcc-0002ED-8H for lemonade-confirm+ok@megatron.ietf.org; Fri, 09 Nov 2007 12:26:22 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IqXcb-0002Dl-Up for lemonade@ietf.org; Fri, 09 Nov 2007 12:26:21 -0500
Received: from brmea-mail-4.sun.com ([192.18.98.36]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1IqXcY-0006Yn-6K for lemonade@ietf.org; Fri, 09 Nov 2007 12:26:21 -0500
Received: from fe-amer-10.sun.com ([192.18.109.80]) by brmea-mail-4.sun.com (8.13.6+Sun/8.12.9) with ESMTP id lA9HQHM3020135 for <lemonade@ietf.org>; Fri, 9 Nov 2007 17:26:17 GMT
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007)) id <0JR90060119K1Z00@mail-amer.sun.com> (original mail from peter.coates@sun.com) for lemonade@ietf.org; Fri, 09 Nov 2007 10:26:17 -0700 (MST)
Received: from kluane ([199.247.229.42]) by mail-amer.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007)) with ESMTPSA id <0JR9009D11QLJL50@mail-amer.sun.com>; Fri, 09 Nov 2007 10:26:06 -0700 (MST)
Date: Fri, 09 Nov 2007 09:24:40 -0800
From: Peter Coates <peter.coates@sun.com>
Subject: RE: [lemonade] draft-gulbrandsen-imap-enable-03
In-reply-to: <473487D3.4020002@isode.com>
To: 'Alexey Melnikov' <alexey.melnikov@isode.com>, 'Arnt Gulbrandsen' <arnt@oryx.com>
Message-id: <01a601c822f5$7c13bf60$743b3e20$%coates@sun.com>
MIME-version: 1.0
X-Mailer: Microsoft Office Outlook 12.0
Content-type: text/plain; charset="us-ascii"
Content-language: en-ca
Content-transfer-encoding: 7bit
Thread-index: Acgi7mapDZxScV0TRK6OP6mgBJ9ZmQAAWyYQ
References: <472B04FD.9020100@andrew.cmu.edu> <iI49OBVsjABTB7dA9GtwCA.md5@libertango.oryx.com> <473487D3.4020002@isode.com>
X-Spam-Score: -1.0 (-)
X-Scan-Signature: f66b12316365a3fe519e75911daf28a8
Cc: lemonade@ietf.org, ietf-imapext@imc.org
X-BeenThere: lemonade@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Enhancements to Internet email to support diverse service enivronments <lemonade.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/lemonade>, <mailto:lemonade-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:lemonade@ietf.org>
List-Help: <mailto:lemonade-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/lemonade>, <mailto:lemonade-request@ietf.org?subject=subscribe>
Errors-To: lemonade-bounces@ietf.org

What?  If Enabling an extension does not affect the CAPABILITY vector, and
if the ENABLE command silenty ignores extensions the server does not wan to
allow or which it doe not know, then after the sequence

 C: t1 CAPABILITY
 S: * CAPABILITY IMAP4rev1 AUTH=CRAM-MD5 AUTH=DIGEST-MD5 ID LITERAL+ ENABLE
 S: t1 OK foo
 C: t2 ENABLE CONDSTORE X-GOOD-IDEA
 S: t2 OK foo

the client does not know whether CONDSTORE is enabled or not.  I assert that
either the enable command has to tell the client which things worked (or
which things didn't), or the capability vector has to change

Thus the sequence should be either
 C: t1 CAPABILITY
 S: * CAPABILITY IMAP4rev1 AUTH=CRAM-MD5 AUTH=DIGEST-MD5 ID LITERAL+ ENABLE
 S: t1 OK foo
 C: t2 ENABLE CONDSTORE X-GOOD-IDEA
 S: t2 OK foo
 C: t3 CAPABILITY
 S: * CAPABILITY IMAP4rev1 AUTH=CRAM-MD5 AUTH=DIGEST-MD5 ID LITERAL+ ENABLE
CONDSTORE
 S: t3 OK foo again

Or
 C: t1 CAPABILITY
 S: * CAPABILITY IMAP4rev1 AUTH=CRAM-MD5 AUTH=DIGEST-MD5 ID LITERAL+ ENABLE
 S: t1 OK foo
 C: t2 ENABLE CONDSTORE X-GOOD-IDEA
 S: * OK [ENABLED CONDSTORE] or some variant of this
 S: t2 OK foo
 C: t3 CAPABILITY
 S: * CAPABILITY IMAP4rev1 AUTH=CRAM-MD5 AUTH=DIGEST-MD5 ID LITERAL+ ENABLE
 S: t3 OK foo again

Peter


-----Original Message-----
From: owner-ietf-imapext@mail.imc.org
[mailto:owner-ietf-imapext@mail.imc.org] On Behalf Of Alexey Melnikov
Sent: November 9, 2007 08:16
To: Arnt Gulbrandsen
Cc: lemonade@ietf.org; ietf-imapext@imc.org
Subject: Re: [lemonade] draft-gulbrandsen-imap-enable-03


Arnt Gulbrandsen wrote:

>> I also don't like the fact that we're documenting that ENABLE can be 
>> used to probe for extensions (as per paragraph 2 in section 5).  We 
>> already have a command to list extensions.
>
> I'm perfectly happy taking that out, if that would be appropriate. I 
> thought this sort of thing was supposed to be listed in security 
> considerations.

Based on various off-list discussions I got impression that several 
people really disliked that.
So I am suggesting the following change:

Replace:
 The server MUST NOT change the CAPABILITY list as a result of
 executing ENABLE.

With:
 The server MUST NOT change the CAPABILITY list as a result of
 executing ENABLE, i.e. a CAPABILITY command issued right after
 an ENABLE command MUST list the same capabilities as a CAPABILITY
 command issued before the ENABLE command. The following example
 demonstrates that:
 
 C: t1 CAPABILITY
 S: * CAPABILITY IMAP4rev1 AUTH=CRAM-MD5 AUTH=DIGEST-MD5 ID LITERAL+ ENABLE
 S: t1 OK foo
 C: t2 ENABLE CONDSTORE X-GOOD-IDEA
 S: t2 OK foo
 C: t3 CAPABILITY
 S: * CAPABILITY IMAP4rev1 AUTH=CRAM-MD5 AUTH=DIGEST-MD5 ID LITERAL+ ENABLE
 S: t3 OK foo again
 
and also add:
 
 Note that according to [RFC3501] the list of advertised capabilities MAY
 change after a STARTTLS and/or AUTHENTICATE/LOGIN command. The ENABLE 
command
 doesn't change that.




_______________________________________________
lemonade mailing list
lemonade@ietf.org
https://www1.ietf.org/mailman/listinfo/lemonade
Supplemental Web Site:
http://www.standardstrack.com/ietf/lemonade