Controlling In-band notifications
description
Transcript of Controlling In-band notifications
7 and 9 November 2006 IETF 67 - LEMONADE 1
Controlling In-band notifications
draft-gulbrandsen-imap-notify-01.txt
Arnt GulbrandsenCurtis King
Alexey Melnikov
7 and 9 November 2006 IETF 67 - LEMONADE 2
Problem Statement
• IMAP IDLE is widely deployed (both in servers and clients)
• But there is no way to control which events are returned by servers
Results differ
7 and 9 November 2006 IETF 67 - LEMONADE 3
The IMAP NOTIFY Extension
• Allows the client to tell the server which events are “interesting”– Can be specified using a new NOTIFY
command– Can be overridden with a new parameter to
the IDLE command• List of events is based on draft-ietf-lemonade-
msgevent-00.txt
7 and 9 November 2006 IETF 67 - LEMONADE 4
The IMAP NOTIFY Extension(continued)
• Certain events can be further restricted– by specifying a SEARCH criteria (e.g.
NewMessage, FlagChange)– by specifying mailbox patterns
• A list of FETCH items can be specified for NewMessage event– E.g. client can request that ENVELOPE is
returned automatically for all new messages
7 and 9 November 2006 IETF 67 - LEMONADE 5
Open Issues
• Arnt not sure if extension to IDLE is worthwhile
• Expressing mailbox rename as delete + create is ugly
• Minor issues about access controls needed to report flag changes in other (non-selected) mailboxes
7 and 9 November 2006 IETF 67 - LEMONADE 6
Named Searches
draft-melnikov-imapext-filters-00.txt
Curtis KingAlexey Melnikov
7 and 9 November 2006 IETF 67 - LEMONADE 7
Overview
• Adds ability to store named searches as server annotations (METADATA)
• Adds ability to reference named searches in SEARCH command– a SEARCH UID 300:900 FILTER on-the-road
SINCE " 3-Dec-2002"
7 and 9 November 2006 IETF 67 - LEMONADE 8
IMAP URL update
draft-ietf-lemonade-rfc2192bis-02.txt
Chris NewmanAlexey MelnikovStephane Maes
7 and 9 November 2006 IETF 67 - LEMONADE 9
Relative-path IMAP URLs
● draft-ietf-lemonade-rfc2192bis-02.txt● Relative-paths are only used in IMAP
CATENATE so far● IMAP mailbox hierarchy separator can
be different in different server: INBOX.Apple.Green INBOX/Apple/Green So relative-path IMAP URLs can only be
used for IMAP server that use '/' as the mailbox hierarchy separator
7 and 9 November 2006 IETF 67 - LEMONADE 10
Relative-path IMAP URLs
● What is the meaning of: ;UID=20 ..;UIDVALIDITY=385759045/;UID=20 foo/;UID=20/..
● Are mailbox names “.” and “..” allowed in URLs?
● Mailboxes with leading “/” must be encoded in IMAP URLs, as relative URLs starting with “//” have special meaning
● Should we just recomment to encode “/” in URLs all the time?
7 and 9 November 2006 IETF 67 - LEMONADE 11
Lemonade Profile Bis
• Suggestion to add– IMAP SASL-IR– QTLS– SMTP compression (to match IMAP side) (?)– SMTP Checkpoint/restart - to match IMAP Quick Reconnect
(resync) (?)– In-Band notifications: draft-gulbrandsen-imap-notify-
01.txt (?)
• Need to clarify that support for /;PARTIAL= in CATENATE is required
7 and 9 November 2006 IETF 67 - LEMONADE 12
Lemonade Profile Bis: SMTP extensions
• PIPELINING• DSN• SIZE• ENHANCEDSTATUSCODES• STARTTLS• BURL• CHUNKING• 8BITMIME• AUTH• BINARYMIME
• QTLS
7 and 9 November 2006 IETF 67 - LEMONADE 13
Lemonade Profile Bis: IMAP extensions
• NAMESPACE, LITERAL+
• CONDSTORE• STARTTLS• URLAUTH,
CATENATE, UIDPLUS
• IDLE• BINARY
• ESEARCH, WITHIN• QRESYNC +
EXPUNGED• VFOLDER / CONTEXT
(?)• COMPRESS=DEFLATE• METADATA,
LIST-EXTENDED• CONVERT• SASL-IR (expired, has
new co-editor)
7 and 9 November 2006 IETF 67 - LEMONADE 14
Issues discovered during Lemonade Interop Event
Maidenhead, UK
October 2006
Hosted by Nortel
7 and 9 November 2006 IETF 67 - LEMONADE 15
Issues discoveredduring the Interop
• Already discussed:– IDLE– IMAP URL / CATENATE
• Will duscuss– More URL issues: URLAUTH– CONDSTORE
7 and 9 November 2006 IETF 67 - LEMONADE 16
URLAUTH• No problems with the document, but some additional
clarifications would be nice• Bugs discovered:
– ;EXPIRE date-time is not validated• URLAUTHbis should recommend validation
– Empty “;section=” were accepted• Suggestion to deprecate in rfc2192bis
• URLMECH INTERNAL response code is not reported on SELECT/EXAMINE or to other sessions on RESETKEY by many servers– No server implemented anything but INTERNAL– Is there any point in sending it?
7 and 9 November 2006 IETF 67 - LEMONADE 17
CONDSTORE Issues (1 of 2)
• When both CONDSTORE & UIDPLUS are implemented, APPEND/COPY to the selected mailbox should return HIGHESTMODSEQ– Not mentioned in CONDSTORE
7 and 9 November 2006 IETF 67 - LEMONADE 18
CONDSTORE Issues (2 of 2)
• “STORE UNCHANGEDSINCE 0”– “Use of UNCHANGEDSINCE with a
modification sequence of 0 always fails if the metadata item exists. A system flag MUST always be considered existent, whether it was set or not.”
• Option 1: Remove the second sentence to remove special casing for system flags
• Option 2: Change this command to always fail for both system and user defined flags
7 and 9 November 2006 IETF 67 - LEMONADE 19
Update on QRESYNC
• QRESYNC is past WGLC, no issues• Has a normative dependency on
EXPUNGED• EXPUNGED will be discussed in
IMAPEXT later today (3 open issues, 1 of them is minor)
• EXPUNGED will be folded into QRESYNC once done