[imap5] Feature set? - was Re: Designing a new replacement protocol for IMAP
Adrien de Croy <adrien@qbik.com> Wed, 15 February 2012 22:05 UTC
Return-Path: <adrien@qbik.com>
X-Original-To: imap5@ietfa.amsl.com
Delivered-To: imap5@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B837C21E8091 for <imap5@ietfa.amsl.com>; Wed, 15 Feb 2012 14:05:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.527
X-Spam-Level:
X-Spam-Status: No, score=-5.527 tagged_above=-999 required=5 tests=[AWL=-2.928, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dqdEyBfSX3mN for <imap5@ietfa.amsl.com>; Wed, 15 Feb 2012 14:05:34 -0800 (PST)
Received: from smtp.qbik.com (smtp.qbik.com [210.55.214.35]) by ietfa.amsl.com (Postfix) with ESMTP id 4313321E80A2 for <imap5@ietf.org>; Wed, 15 Feb 2012 14:05:33 -0800 (PST)
Received: From sago.qbik.com (unverified [192.168.0.3]) by SMTP Server [192.168.0.1] (WinGate SMTP Receiver v7.1.0 (Build 3381)) with SMTP id <0018865212@smtp.qbik.com>; Thu, 16 Feb 2012 11:05:31 +1300
Received: From [192.168.0.10] (unverified [192.168.0.10]) by SMTP Server [192.168.0.3] (WinGate SMTP Receiver v7.0.8 (Build 3364)) with SMTP id <0010060096@sago.qbik.com>; Thu, 16 Feb 2012 11:05:15 +1300
Message-ID: <4F3C2C1B.6030408@qbik.com>
Date: Thu, 16 Feb 2012 11:05:15 +1300
From: Adrien de Croy <adrien@qbik.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120202 Thunderbird/11.0
MIME-Version: 1.0
To: IMAP5 list <imap5@ietf.org>
References: <B764BD8C8B6047E659EABBE2@caldav.corp.apple.com> <4F397212.1030107@qbik.com> <20120213210805.GB13029@launde.brong.net> <alpine.LSU.2.00.1202151405550.30682@hermes-2.csi.cam.ac.uk> <1329315552.1444.140661036879893@webmail.messagingengine.com> <4F3BBFA4.8010107@isode.com> <1329316981.8310.140661036883625@webmail.messagingengine.com> <4F3BC7DA.5070803@gulbrandsen.priv.no> <20120215181047.GB13906@launde.brong.net> <alpine.OSX.2.00.1202151020140.38441@hsinghsing.panda.com> <20120215213122.GB16253@launde.brong.net>
In-Reply-To: <20120215213122.GB16253@launde.brong.net>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: [imap5] Feature set? - was Re: Designing a new replacement protocol for IMAP
X-BeenThere: imap5@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Discussion on drastically slimming-down IMAP." <imap5.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imap5>, <mailto:imap5-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/imap5>
List-Post: <mailto:imap5@ietf.org>
List-Help: <mailto:imap5-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imap5>, <mailto:imap5-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Feb 2012 22:05:40 -0000
Seems to me we're getting bogged in the implementation details, or at least going too far down that path. We don't even have a clearly defined set of objectives for the features we want the protocol to provide. here's my first cut off-the-cuff list: * mail access for obvious reasons. * mail submission For reasons I've stated already including ease of administrative and configuration and support. This breaks down into: - composing messages on the server - providing delivery information (e.g. destination address) * storage of mail client configuration So that clients can be dumb, and you can hook a new client to your mailstore and you don't need to configure anything else. * server-side mail processing rules Save downloading headers + MOVE etc to process filtering rules. Also saves synchronising such rules amongst multiple clients * ability for server to "comment" on anything, e.g: - that destination email address you gave me doesn't resolve (with MX or A) or is otherwise bad. - that attachment you uploaded contains a virus - that subject is offensive... - etc etc etc this could be part of a broader notification framework. In the cases where the IMAP server co-exists (as in WinGate for example) with SMTP delivery agent, then delivery information could be communicated back to the connected client. If we allow for it in the protocol, it can provide benefit where it's available, and causes no issues if it isn't. The general idea though is that anything should be able to be remarked upon by the server. * address book * calendaring * Any other feature to compete with Exchange. * Any other feature we think would give us an edge. In terms of design, I'd propose the following: * single port. This minimises problems traversing firewalls etc. * ability to access all mail (in all folders) through a single connection, and receive notifications about all state changes to anything of importance (probably with client-controlled filter) * layered protocol. Bottom layer deals with connection security (e.g. negotiating TLS) authentication, and advertisement of and connection to sub-services. Next layer are the sub-services e.g. mail, calendar, config etc. This eases gateway development, since a calendar gateway can simply connect through to the calendar sub-service. * compact yet extensible protocol message structure. The debate of text-based vs binary protocols will forever rage, I tend to prefer binary, since then you don't need to parse text which requires escaping of characters which would otherwise be protocol delimiters. Some of the downsides of text-based protocols can be averted by using length prefixes instead of searching for (and therefore needing to escape) delimiters. Even a mixture. Literal+ is a damn good design in my view, since it allows a large literal to be transferred without it having to survive parsing. It also allows any character set to go through. HTTP is a nightmare in this respect. * configuration attributes to be clearly defined (e.g. take a page from various MIBs) so that attributes can be re-used between different clients to the maximum extent. Clients can store arbitrary configuration attributes against the mail account. Regards Adrien -- Adrien de Croy - WinGate Proxy Server - http://www.wingate.com WinGate 7 is released! - http://www.wingate.com/getlatest/
- Re: [imap5] Designing a new replacement protocol … Giovanni Panozzo
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- [imap5] Designing a new replacement protocol for … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Thomas Koch
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Jeroen van Meeuwen (Kolab Systems)
- Re: [imap5] Designing a new replacement protocol … Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Arnt Gulbrandsen
- Re: [imap5] Designing a new replacement protocol … Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Thomas Koch
- Re: [imap5] Designing a new replacement protocol … Cyrus Daboo
- Re: [imap5] Designing a new replacement protocol … Filip Navara
- Re: [imap5] Designing a new replacement protocol … Cyrus Daboo
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Cyrus Daboo
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Anil SRIVASTAVA
- Re: [imap5] Designing a new replacement protocol … Mark Crispin
- Re: [imap5] Designing a new replacement protocol … Alexey Melnikov
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Mark Crispin
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Mark Crispin
- Re: [imap5] Designing a new replacement protocol … Tony Finch
- Re: [imap5] Designing a new replacement protocol … Timo Sirainen
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Alexey Melnikov
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Arnt Gulbrandsen
- Re: [imap5] Designing a new replacement protocol … Petite Abeille
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Jan Kundrát
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Mark Crispin
- Re: [imap5] Designing a new replacement protocol … Timo Sirainen
- Re: [imap5] Designing a new replacement protocol … Michel Sébastien
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- [imap5] Feature set? - was Re: Designing a new re… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Timo Sirainen
- Re: [imap5] Designing a new replacement protocol … Giovanni Panozzo
- Re: [imap5] Designing a new replacement protocol … Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Curtis King
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Brandon Long
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Michel Sébastien
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Sebastian Hagedorn
- Re: [imap5] Feature set? - was Re: Designing a ne… Giovanni Panozzo
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Michel Sébastien
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Designing a new replacement protocol … Michel Sébastien
- Re: [imap5] Designing a new replacement protocol … Tony Finch
- Re: [imap5] Designing a new replacement protocol … Dave McMurtrie
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Designing a new replacement protocol … Dave McMurtrie
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Tony Finch
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Cyrus Daboo
- Re: [imap5] Designing a new replacement protocol … Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Cyrus Daboo
- Re: [imap5] Feature set? - was Re: Designing a ne… Cyrus Daboo
- Re: [imap5] Designing a new replacement protocol … Cyrus Daboo
- Re: [imap5] Feature set? - was Re: Designing a ne… Sebastian Hagedorn
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Adrien de Croy
- Re: [imap5] Designing a new replacement protocol … Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Dan White
- Re: [imap5] Feature set? - was Re: Designing a ne… Mark Crispin
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Dan White
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Jan Kundrát
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Dan White
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Dan White
- Re: [imap5] Feature set? - was Re: Designing a ne… Mark Crispin
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Giovanni Panozzo
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Sebastian Hagedorn
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Filip Navara
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Filip Navara
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Finch
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Bron Gondwana
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Jan Kundrát
- Re: [imap5] Feature set? - was Re: Designing a ne… Tony Hansen
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Mark Crispin
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Arnt Gulbrandsen
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Adrien de Croy
- Re: [imap5] Feature set? - was Re: Designing a ne… Brandon Long
- Re: [imap5] Feature set? - was Re: Designing a ne… Dave Cridland
- [imap5] Beep Dave Crocker
- Re: [imap5] Beep Tony Finch
- Re: [imap5] Beep Dave Crocker
- Re: [imap5] Beep Bron Gondwana
- Re: [imap5] Beep Adrien W. de Croy
- Re: [imap5] Beep Adrien W. de Croy