Controlling In-band notifications

19
7 and 9 November 200 6 IETF 67 - LEMONADE 1 Controlling In-band notifications draft-gulbrandsen-imap-notify-01.txt Arnt Gulbrandsen Curtis King Alexey Melnikov

description

draft-gulbrandsen-imap-notify-01.txt Arnt Gulbrandsen Curtis King Alexey Melnikov. Controlling In-band notifications. 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. - PowerPoint PPT Presentation

Transcript of Controlling In-band notifications

Page 1: 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

Page 2: Controlling In-band notifications

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

Page 3: Controlling In-band notifications

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

Page 4: Controlling In-band notifications

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

Page 5: Controlling In-band notifications

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

Page 6: Controlling In-band notifications

7 and 9 November 2006 IETF 67 - LEMONADE 6

Named Searches

draft-melnikov-imapext-filters-00.txt

Curtis KingAlexey Melnikov

Page 7: Controlling In-band notifications

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"

Page 8: Controlling In-band notifications

7 and 9 November 2006 IETF 67 - LEMONADE 8

IMAP URL update

draft-ietf-lemonade-rfc2192bis-02.txt

Chris NewmanAlexey MelnikovStephane Maes

Page 9: Controlling In-band notifications

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

Page 10: Controlling In-band notifications

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?

Page 11: Controlling In-band notifications

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

Page 12: Controlling In-band notifications

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

Page 13: Controlling In-band notifications

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)

Page 14: Controlling In-band notifications

7 and 9 November 2006 IETF 67 - LEMONADE 14

Issues discovered during Lemonade Interop Event

Maidenhead, UK

October 2006

Hosted by Nortel

Page 15: Controlling In-band notifications

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

Page 16: Controlling In-band notifications

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?

Page 17: Controlling In-band notifications

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

Page 18: Controlling In-band notifications

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

Page 19: Controlling In-band notifications

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